17.12.2016 Update: Update des Beitrags wegen der neuen Version Bludit 1.5.2 sowie der Anpassung der .htaccess Datei.

Nachdem mich nun einige Nachfragen erreicht haben, ob ich nicht eine Schritt-für-Schritt Anleitung meines Nibbleblog2Bludit Exporters erstellen könnte: Hier ist er nun!

Die Ausgangsbasis

Von mir getestet wurde der komplette Vorgang mit einem Nibbleblog der Version 4.0.5 und der momentan aktuellsten Bludit Version 1.5.2.

Der Exporter erstellt von sämtlichen Seiten und Posts ein Bludit-fähiges Format und kopiert diese sowie alle Medien in ein vorgefertigt strukturiertes ZIP-File, welches am Ende nur noch in Bludit eingefügt werden muss. Hier nun die einzelnen, nötigen Schritte:

Schritt 1

Ladet euch die aktuellste Version des Exporters von meiner GitHub-Seite herunter. Den Link findet ihr am Ende der Seite oder ihr klickt einfach hier.

Über den grünen Button "Clone or Download" >> "Download ZIP" ladet ihr euch das gesamte Projekt herunter.

Schritt 2

Entpackt das ZIP-File im Unterordner "themes" der Nibbleblog Installation.

Danach begebt ihr euch in den Adminbereich von Nibbleblog.

Schritt 3

Im Adminbereich begebt ihr euch in den Reiter "Designs". Hier findet ihr den "bluditExport", den ihr hier auch installiert.

Loggt euch nun nicht aus, sondern öffnet eure Homepage mit einem Klick auf "View Blog" in der Administrationsoberfläche. Der Exporter fragt nach einer aktiven Admin-Session. Dies ist ein Sicherheits-Feature, damit - falls ihr den Export online durchführt - nicht zufällig ein Besucher den Export ausführt und so eure gesamten Inhalte hat.

Auf eurer Nibbleblog Seite scrollt ihr nun herunter und drückt den Knopf "START EXPORT!". Anschließend bekommt ihr eine Auflistung aller Posts, Seiten und Medien zu sehen, die exportiert wurden. Diese Prozedur kann je nach Geschwindigkeit des Servers und Größe des Blogs einige Zeit in Anspruch nehmen. Scrollt am Schluss auf jeden Fall ganz an das Ende der Seite und ladet euch das export.zip über den Button herunter.

Schritt 4

Ihr habt die Datei "bluditExport.zip" erfolgreich heruntergeladen! Darin gibt es einen vorstrukturierten Ordner namens "bl-content". Ersetzt nun den gleichnamigen Ordner mit dem in der Bludit-Installation:

Wenn ihr auf eure Bludit-Homepage geht, werdet ihr allerdings enttäuschenderweise feststellen, dass hier noch garnichts übernommen wurde!

Das liegt daran, dass ihr einmalig den CLI-Modus aktivieren müsst. Dieser Kommandozeilen-Modus konnte früher über die Administrationsoberfläche von Bludit aktiviert werden, nun muss das per Hand in einer PHP-Datei erledigt werden.

Schritt 5

Öffnet die Datei unter

[bludit-root-Verzeichnis]/bl-kernel/boot/init.php

In der Version Bludit 1.5.2 befindet sich der Schalter für den CLI Modus in der Zeile 94:

// Cli mode status for new posts/pages
define('CLI_MODE', false);

Ändert hier das "false" auf "true" und speichert die Datei ab.

Jetzt öffnet ihr noch folgende Datei

[bludit-root-directory]\bl-kernel\boot\rules\70.posts.php

und ändert die Zeile

if( CLI_MODE && false) {

zu

if( CLI_MODE ) {

Wenn ihr jetzt euren Bludit-Blog öffnet, solltet ihr folgendes sehen:

Der Nibbleblog Inhalt wurde erfolgreich übernommen.

Zum Schluss könnt ihr noch die Änderungen in den zwei Dateien wieder rückgängig machen.

Damit habt ihr euren Nibbleblog-Content erfolgreich nach Bludit exportiert!

Was gilt es jetzt noch zu tun?

Jetzt habt ihr also all eure Seiten und Posts in das neue CMS überführt. Schaut euch sicherheitshalber nochmal die Inhalte an. Bludit speichert seine Texte in der sogenannten Markdown-Language. Weiterhin funktionert aber noch das gute alte HTML, welches in Nibbleblog verwendet wurde.

Kaputte Links?

Nibbleblog erzeugte seine Pretty-URLs immer mit einem Slash "/" am Ende, diese erkennt Bludit allerdings nicht und leitet den Besucher auf eine 404 Seite weiter. Um dieses Problem zu lösen, müsst ihr eine Änderung an der .htaccess Datei vornehmen. Direkt nach der Zeite "RewriteEngine on" fügt ihr folgende Zeilen ein:

//Erlaube folgende Regel wenn "REQUEST_FILENAME" kein existierendes Verzeichnis auf dem Webserver ist
RewriteCond %{REQUEST_FILENAME} !-d 
//Erlaube folgende Regel wenn "REQUEST_URI" mit einem Slash "/" endet
RewriteCond %{REQUEST_URI} (.+)/$
//Übernehme die angefragte URI ohne das Slash. 
//%1 ist hier die erste Gruppe des regulären Ausdrucks (.+)/, der Teil in Klammern
RewriteRule ^ %1 [R=301,L]

Jetzt fügt ihr noch direkt vor der schließenden Klammer "" folgende zwei Zeilen ein:

RedirectMatch 301 /tag/(.*)/ <Eure-Domain>/tag/$1
RedirectMatch 301 /page/(.*)/ <Eure-Domain>/$1

Damit funktionieren auch noch eure verbreiteten Links mit dem neuen Bludit-CMS.

Solltet ihr noch Fragen haben, könnt ihr mir gern über das Kontaktformular eine Frage stellen, ich helfe euch natürlich gern!