1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
---
title: Das Blog ist zurück
categories: tech
---
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.
**Update vom 18.05.2019**
Ich habe ein [Plugin](https://github.com/jekyll/jekyll-redirect-from){:target="_blank"}{:rel="noreferrer"} gefunden,
mit dessen Hilfe ich den Zugriff auf die Seiten mit Hilfe der "alten" URLs wiederherstellen konnte... Sofern das noch jemand gebookmarkt hat.
|