HTMLy: Migration der Beiträge aus FlatPress

Den ersten Teil meines "Hausputzes" habe ich heute Nachmittag durchgeführt. Es sollten die während meiner kurzen Liaison mit FlatPress erstellten Blog-Beiträge nach HTMLy übertragen werden. Einen direkten Weg über Export und Import gibt es leider nicht. Da es sich aber auch nur um 18 Beiträge aus dem Zeitraum 20.04.-21.05.2022 handelte, habe ich die Migration manuell vorgenommen. Nachfolgend dazu einige Tipps.

Meine FlatPress-Instanz lief zwar nicht mehr, aber ich hatte natürlich die gesamte Installation aufbewahrt. FlatPress speichert Beiträge in speziell formatierten Textdateien in einer Ordnerstruktur analog zu fp-content/content/JJ/MM/entryJJMMTT-hhmmss.txt ("JJ" = zweistellige Jahreszahl, "MM" = Monat usw.). Weiterhin gibt es noch die Ordner fp-content/content/drafts/ für Beitragsentwürfe sowie fp-content/content/static/ für statische Seiten, z. B. das Menü oder ein Impressum. Den Aufbau der Textdateien habe ich vor einiger Zeit im FlatPress-Wiki beschrieben. Innerhalb des Feldes CONTENT kommt dann BBCode zum Einsatz.

HTMLy speichert die Beiträge in einer Ordnerstruktur nach dem Schema content/Benutzer/blog/Kategorie/post/. In meinem Fall waren bislang alle Beiträge in content/Robert/blog/uncategorized/post/ abgelegt. Im Prinzip handelt es sich beim Dateiformat um Markdown-Syntax. Vorangestellt wird ein spezieller Header nach dem Muster (geschweifte Klammern durch spitze ersetzen):

{!--t Titel des Beitrags t--}
{!--d Meta-Beschreibung (= Zusammenfassung des Inhalts) d--}
{!--tag Tag1,Tag2,TagN tag--}

Ich bin dann für jede Datei wie folgt vorgegangen:

  1. FlatPress-Datei öffnen und den Betreff (Inhalt des Feldes SUBJECT) herauskopieren
  2. Betreffkopie in Kleinbuchstaben umwandeln, Leerzeichen durch Minus ersetzen, Umlaute äöü durch aou ersetzen, alle anderen Zeichen, z. B. Satzzeichen, löschen
  3. FlatPress-Datei in HTMLy-Ordner (s. o.) kopieren und dabei das Format des Dateinamens von entryJJMMTT-hhmmss.txt in JJJJ-MM-TT-hh-mm-ss_blog_betreff.md ändern
  4. MD-Datei mit einem Texteditor öffnen und die Zeilenenden von CRLF in LF konvertieren. Falls eure FlatPress-Instanz schon einige Jahre auf dem Buckel hat, müsst ihr ggf. jeweils noch die Codepage nach UTF-8 umwandeln.
  5. Am Dateiende ab |AUTHOR alles löschen
  6. Am Dateianfang einfügen (geschweifte Klammern durch spitze ersetzen):
    {!--t t--}
    {!--d d--}
    {!--tag Blog tag--}
  7. Originalbetreff in Zeile 1 zwischen --t und t-- einfügen
  8. Alles von VERSION bis CONTENT| löschen
  9. BBCode durch Markdown-Pendant ersetzen
  10. MD-Datei speichern und auf den Webspace hochladen
  11. In HTMLy den Cache leeren
  12. Beitrag in HTMLy öffnen und Kategorie sowie Tags anpassen

Zuletzt habe ich die einzige Bilddatei von fp-content/images/ nach content/images/ kopiert, hochgeladen und die URL im Beitrag angepasst.

In FlatPress vorhandene Kommentare habe ich nicht migriert, weil HTMLy nur Kommentare via Disqus und Facebook unterstützt. Inhaltlich ist der Verlust aber verschmerzbar. Sorry, Michael! ;-)