From 92411ecbd9f0cbcec5620de2efbefade7254afca Mon Sep 17 00:00:00 2001 From: uvok cheetah Date: Tue, 14 May 2019 21:20:17 +0200 Subject: Initial commit --- _posts/2019-01-29-das-blog-ist-zuruck.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 _posts/2019-01-29-das-blog-ist-zuruck.md (limited to '_posts/2019-01-29-das-blog-ist-zuruck.md') diff --git a/_posts/2019-01-29-das-blog-ist-zuruck.md b/_posts/2019-01-29-das-blog-ist-zuruck.md new file mode 100644 index 0000000..449a318 --- /dev/null +++ b/_posts/2019-01-29-das-blog-ist-zuruck.md @@ -0,0 +1,32 @@ +--- +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. \ No newline at end of file -- cgit v1.2.3