blindschleiche

Umstieg Textpattern > Statamic

Datenexport

Als erstes habe ich mit Hilfe dieses Skriptes einmal alle meine Beiträge aus Textpattern extrahiert; dabei aber festgestellt, daß zum einen die Umlaute dabei nicht richtig herauskommen und daß ich lieber categories gefolgt von den Kategorien in eckigen Klammern anstatt von categorygefolgt von Zeilenumbruch und den Kategorien mit minus vorne dran hätte.

Also gleich mal die Textkodierung aktiviert indem ich die Ausgabe von $dataContent['Title'] und 'Body' jeweils in einen utf8_encode() gepackt habe und die Ausgabe der Kategorien umgeschrieben:

fwrite($handle, 'categories: [ ');
if(isset($importCategories) && $dataContent['Category1'] != '') fwrite($handle, $dataContent['Category1']);
if(isset($importCategories) && $dataContent['Category2'] != '') fwrite($handle, ', '.$dataContent['Category2']);
fwrite($handle, " ]\n");

Jetzt hatte ich auf dem Server eine ganze Reihe von .textile Dateien liegen

...
2008-10-16-benchmark-einiger-sd-karten.textile
2009-01-22-bienengarnele-endlich-vernuenftige-aquarienfotos.textile
...

Die alle so aufgebaut waren:

---
title: Benchmark einiger SD-Karten
author: Martin Glinski
categories: [ computer, photo ]
_template: post
---
<txp:glx_image id="35" class="left" />

Evtl. ist es ja für den einen oder anderen von Interesse.
...

Jetzt blieb noch das Problem mit den Bildern, die ich natürlich mittels der Textpattern-Tags so nicht beibehalten konnte. Da aber alle Bilder auf dem Server unter /images liegen und als Basis die id im Namen tragen und meistens Jpegs sind die aus einem Thumbnail-Bildpaar bestehen habe ich es mir erstmal leicht gemacht, die Artikel alle lokale herunter geladen und über das gesamte Verzeichnis ein Suchen und Ersetzen via TextWrangler mit der Option Grep laufen lassen:

Find:       <txp:glx_image id="(\d+)".*/>
Replace:    !/images/\1t.jpg!:/images/\1.jpg

Jetzt waren noch die übrig die keine Jpegs sind und die die keine Verlinkung (großes Bild) haben. Da es nicht zuviele Artikel sind habe ich diesmal nur zum “Multi-File Search” gegriffen um die entsprechenden Dateien im Verzeichnis herauszusuchen und die Anpassungen von Hand zu machen.

Damit hatte ich erstmal eine Basis zum loslegen. Was ggf. noch offen war sollte sich ja hinterher noch einfach von Hand nachpflegen lassen.

Installation

Also habe ich Statamic in einen Unterordner auf meinen Webserver hochgeladen, den _cache-Ordner schreibbar gemacht und geschaut was passiert. Nicht viel, denn dafür hätte ich auch die htaccess-Datei mit ins root-Verzeichnis verschieben müssen, was ich aber zu diesem Zeitpunkt noch nicht wollte, da ich mir noch nicht so recht darüber klar was, was mit den alten Links geschehen soll und Textpattern erstmal weiter laufen sollte.

Also eine Subdomain blog.blindschleiche.deangelegt und Statamic da hinein verschoben. Jetzt konnte ich schon eine Beispielseite sehen aber die Links haben noch nicht funktioniert. Also noch die sample.htaccessumbenannt nach .htaccess und das Beispiel lief.

Übernahme

Damit hatte ich nun das Problem, daß meine hübsch generierten /image-Links nicht mehr funktionieren. Das einfachste wäre jetzt gewesen ich hätte einfach einen Symlink dahin angelegt, aber da ich keinen Shellzugriff auf den Server habe fiel das flach. Also nochmals ein “Multi-File Search” und alle /images/durch http://www.blindschleiche.de/images/ersetzt.

Jetzt habe ich im Beispielbaum 2-blog umbenannt nach 1-Arktikel, 1-about-me nach 5-Kolophonund 4-survival-guide nach 7-Impressumund habe die restlichen Ordner unter _content gelöscht und alle meine exportierten Artikel nach 1-Artikel transferiert nachdem ich die dort vorhandenen .md-Dateien gelöscht hatte.

Jetzt hatte ich gehofft meine Artikel zu sehen, das war aber nicht so. Also nochmal forschen und das Video Building a Simple Blog with Statamic ansehen und dann der Reihe nach.

Erstmal ein trip durch _settings/config.yaml (Lizenzschlüssel, Seitenname, …). Uups, da scheint ja auch die Markup-Sprache auf nur eine festgelegt zu sein. Eigentlich wollte ich ja die alten Sachen in textile behalten und die neuen in markdown verfassen. Mal schauen wie sich das auflösen lässt. Zum Start also erstmal ‘textile’.

Jetzt hat das alles aber leider nur funktioniert wenn ich den Ordner 1-Artikel wieder in 2-blog umbenannt habe, schon waren sie da meine Artikel. Ist erstmal ein Anfangszustand auf dem man aufbauen kann.

Da ich aber nicht ewig bei textile bleiben will, mal schnell alle Artikel nach Markdown wandeln (halb-manuell) und wenn ich schonmal dabei bin auch gleich einige Thumbnails wegrationalisieren, nicht mehr aktuelle Links anpassen und ausmisten.

Die Thumbnail-Links lassen sich z.B. wieder mit der Grep-Suche so umwandeln:

Find:       ^!(.*)!:(.*)$
Replace:    [![](\1)](\2)

Und die normalen Links z.B. so:

Find:       "(.*)":(\S*)
Replace:    [\1](\2)

Beim Überarbeiten ist mir aufgefallen, daß der Wert von title: besser in Anführungszeichen stehen sollte, sonst gibt es bei einem Doppelpunkt im Titel nur “Array” als Überschrift.

weitere Schritte

Jetzt muß ich mir noch etwas zum Design einfallen und eine Lösung für die alten Links finden, sowie die Installation absichern.