--- title: Das Blog ist zurück layout: post --- Letztes Jahr wurde ja der Support für PHP5.6 eingestellt, mein Hoster hat da mitgemacht, und standardmäßig auf Version 7 umgestellt. In der Folge hat mein Habari-Blog nicht mehr korrekt funktioniert. Das erste Laden der Seite brachte immer einen Server-Fehler, und in den Admin-Bereich kam ich überhaupt nicht mehr rein. Da ich selber nicht genug Ahnung von PHP habe, um den Fehler zu beheben (nicht, dass ich es nicht versucht hätte - aber nicht definierte `Error`-Objekte einfach auskommentieren hat nicht zum Ziel geführt), und das Projekt scheinbar nicht mehr gewartet wird, bin ich halt auf [Jekyll](https://jekyllrb.com/) umgestiegen. Die Migration hab ich mit recht einfach gemacht. Mit [DB Browser for SQLite](https://sqlitebrowser.org/) die `habari__posts`-Tabelle in ein CSV exportiert, das CSV mit [LibreOffice](https://www.libreoffice.org/) Calc geöffnet, mit [einer Frage von StackExchange](https://unix.stackexchange.com/a/421356) die Timestamp zu einem Datum umgewandelt, mit `JJJJ-MM-TT` formatiert, und das ganze dann wieder als CSV abgespeichert, nur mit den Spalten `slug`, `title`, `content` und ebendem Datum, das grade formatiert wurde. Das ganze hab ich dann in ein schnell zusammengewürfeltes Python-Script geworfen: ~~~ python import csv with open('/some/directory/website/blog.uvokchee.de/habari__posts.csv') as f: reader=csv.reader(f) for row in reader: # row[-1] = date, row[0] = slug filename=row[-1] + '-' + row[0] + ".md" print(filename) with open(filename, 'w') as g: g.write('---\n') # row[1] = content g.write('title: "' + row[1] + '"\n') g.write('---\n') g.write('\n') g.write(row[2]) ~~~ Dieses Skript spuckt Markdown-Dateien aus (scheint auch generell mit HTML-Markup zu funktionieren, nur an einigen Stellen musste ich nachbessern und zu Markdown wechseln - speziell ein Code-Block in einer Liste), inklusive dem von Jekyll gewünschten Vorspann. Sicherlich wär es auch mit dem sqlite-Modul gegangen, da hätte ich mich aber erstmal einlesen müssen.