Files
Orchestrator/privat/CV/andreknie.de/scripts/fix-dates.js
ankn b46de6dc7d
Deploy CV Site (andreknie.de) / deploy (push) Canceled after 0s
ci: migrate GitHub actions to Gitea actions
2026-07-22 15:42:06 +02:00

37 lines
1.3 KiB
JavaScript

import fs from 'fs'
import path from 'path'
import matter from 'gray-matter'
const CONTENT_DIR = path.join(process.cwd(), 'content')
const POSTS_DIR = path.join(CONTENT_DIR, 'posts')
function getFiles(dir) {
return fs.readdirSync(dir).map(f => path.join(dir, f)).filter(f => f.endsWith('.md'))
}
const allPosts = getFiles(POSTS_DIR)
allPosts.forEach(post => {
if (fs.existsSync(post)) {
const pData = matter(fs.readFileSync(post, 'utf8'))
let dateStr = ''
if (pData.data.date instanceof Date) {
dateStr = pData.data.date.toISOString()
} else if (typeof pData.data.date === 'string') {
dateStr = pData.data.date
}
// If date is July 18, 2026 or July 17, 2026
if (dateStr.includes('2026-07-18') || dateStr.includes('2026-07-17')) {
// Try to get original date from filename
const match = path.basename(post).match(/^(\d{4}-\d{2}-\d{2})/)
if (match && !match[1].includes('2026-07-18') && !match[1].includes('2026-07-17')) {
pData.data.date = match[1] + 'T00:00:00.000Z'
fs.writeFileSync(post, matter.stringify(pData.content, pData.data))
console.log(`📅 Fixed date for ${path.basename(post)} to ${match[1]}`)
} else {
// Find it from the text if possible or leave it
}
}
}
})