Files
Orchestrator/privat/CV/andreknie.de/scripts/cleanup-tasks.js
T
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

55 lines
2.6 KiB
JavaScript

import fs from 'fs'
import path from 'path'
import matter from 'gray-matter'
const POSTS_DIR = path.join(process.cwd(), 'content', 'posts')
const KNIEPUNKT_DIR = path.join(process.cwd(), 'content', 'kniepunkt')
// 1. Rename Article #5 (Gaia-X)
const gaiaXFile = path.join(POSTS_DIR, '2026-01-16-gaia-x-ist-keine-cloud-und-warum-das-gut-ist.md')
if (fs.existsSync(gaiaXFile)) {
const data = matter(fs.readFileSync(gaiaXFile, 'utf8'))
data.data.title = 'Digitale Souveränität Teil 2: Gaia-X ist keine Cloud und warum das gut ist'
fs.writeFileSync(gaiaXFile, matter.stringify(data.content, data.data))
console.log('Renamed Article 5 (Gaia-X)')
}
// 2. Move Article #8 (Kniepunkt 011) to kniepunkt directory
const ethikFile = path.join(POSTS_DIR, '2025-11-09-011-ethik-weggeklickt.md')
const ethikDest = path.join(KNIEPUNKT_DIR, '011-ethik-weggeklickt.md')
if (fs.existsSync(ethikFile)) {
fs.renameSync(ethikFile, ethikDest)
console.log('Moved Kniepunkt 011 to content/kniepunkt/')
}
// 3. Delete Post #2 and #3 (KI-Quiz)
const quiz1 = path.join(POSTS_DIR, '2026-03-06-ki-quiz-teil-1-einfache-fragen.md')
const quiz2 = path.join(POSTS_DIR, '2026-03-13-ki-quiz-teil-2-jetzt-wird-s-schwerer.md')
if (fs.existsSync(quiz1)) { fs.unlinkSync(quiz1); console.log('Deleted Quiz 1') }
if (fs.existsSync(quiz2)) { fs.unlinkSync(quiz2); console.log('Deleted Quiz 2') }
// 4. Delete Post 7-11 (Digitale Souveränität Intros)
const p7 = path.join(POSTS_DIR, '2026-02-06-digitale-souveraenitaet-teil-5-das-finale-wer-hat-eigentlich-die-macht-ueber-dei.md')
const p8 = path.join(POSTS_DIR, '2026-01-30-rechnen-im-dunkeln-warum-du-deine-daten-nicht-mehr-teilen-musst.md')
const p9 = path.join(POSTS_DIR, '2026-01-23-ki-souveraenitaet-bist-du-pilot-oder-nur-passagier.md')
const p10 = path.join(POSTS_DIR, '2026-01-16-digitale-souveraenitaet-teil-2-warum-wir-kein-europaeisches-aws-brauchen.md')
const p11 = path.join(POSTS_DIR, '2026-01-09-die-frankfurt-falle-warum-server-in-deutschland-nicht-gleich-digitale-souverae.md')
;[p7, p8, p9, p10, p11].forEach(p => {
if (fs.existsSync(p)) { fs.unlinkSync(p); console.log('Deleted intro post:', path.basename(p)) }
})
// 5. Delete all Kniepunkt posts/dupes from content/posts/
const allPosts = fs.readdirSync(POSTS_DIR).filter(f => f.endsWith('.md'))
allPosts.forEach(f => {
const filepath = path.join(POSTS_DIR, f)
const raw = fs.readFileSync(filepath, 'utf8')
const data = matter(raw)
const title = (data.data.title || '').toLowerCase()
if (title.includes('kniepunkt') || f.toLowerCase().includes('kniepunkt')) {
fs.unlinkSync(filepath)
console.log('Deleted Kniepunkt dupe from posts:', f)
}
})