CMSstash

Bludit: Einfaches CMS für schlanke Webseiten

Autor: Sebastian Schürmanns

Wer ein einfaches CMS für schlanke Webseiten und Blogs sucht, der wird mit dem Flat File CMS Bludit fündig. Das kleine Open Source System verzichtet weitestgehend auf Besonderheiten und macht genau das, was man erwartet: Autoren bietet Bludit eine nutzerfreundliche Oberfläche an und Entwickler freuen sich über ein einfaches Theming und eine erstaunliche Flexibilität im Hintergrund.

Das einfache Flat-File-CMS Bludit

Bludit ist 2015 als modernisiertes Nachfolgesystem des älteren Flat-File-CMS Nibbleblog entstanden. Während Nibbleblog auf XML-Dateien basierte, setzte Bludit bis Version 2 auf den üblichen Markdown-Standard. Mit Version 3 (September 2018) ist Bludit auf HTML-Inhalte und einen Standard-HTML-Editor umgestiegen. Entwickelt wird Bludit von Djego Najar.

Bludit für Autoren

Bludit ist für Autoren extrem einfach zu handhaben und weitestgehend selbsterklärend. Angefangen von einer kinderleichten Installation bis hin zu einer anwenderfreundlichen Autoren- und Administrations-Oberfläche, die den normalen Autoren-Erwartungen entspricht und auf erklärungsbedürftige Besonderheiten komplett verzichtet. Das macht lästige Erklärungen und selbst eine umfangreiche Dokumentation weitgehend überflüssig.

Erklärungsbedürftig war bei Bludit bislang lediglich die Markdown-Syntax zur Erstellung von Inhalten und gegebenenfalls ein etwas eigenwilliges Bild-Management. Beides ist mit der Umstellung auf einen Standard-WYSIWYG-Editor (tinymce) mit einem üblichen Bild-Management per Upload-Button in Version 3 entfallen. Damit empfiehlt sich Bludit in Zukunft noch stärker für den breiten Mainstream.

Inhalte erstellen mit Bludit

Auch für anspruchsvollere Autoren hält Bludit einige Features bereit: Neben einem Draft-Management und einem konfigurierbaren Autosafe können Artikel auch zeitversetzt veröffentlicht werden. Ein weiteres nützliches Feature von Bludit sind modulare Inhalte, mit denen sich One-Pager vergleichsweise autorenfreundlich umsetzen lassen. Bei all dem ist das Design der Autorenoberfläche optisch so schlicht gehalten, dass auch unerfahrenere Autoren damit problemlos zurechtkommen dürften.

Die zusätzlichen Optionen für Administratoren sind erstaunlich breit gefächert, angefangen von einfachen Settings wie Website-Title und Sprach-Einstellungen bis hin zu feingranularen Einstellungen der URL-Struktur oder SEO-Einstellungen wie dem Title-Aufbau von Seiten. Mit einem User-Management, einem Tag-Management sowie zahlreichen Plugins und Themes ist Bludit ein komplettes und kompaktes CMS und bietet Autoren und Entwicklern alle nötigen Werkzeuge für den Betrieb von Standard-Webseiten, Portfolios, Blogs oder One-Pagern.

Bludit für Entwickler

Bludit ist ein einfaches PHP-CMS und eine komplette Eigenentwicklung ohne externe Abhängigkeiten. Das CMS nutzt weder ein Framework, noch gibt es einen "vendor"-Ordner mit Bibliotheken von Dritt-Anbietern.

Das ist in technischer Hinsicht jedoch nicht die einzige Besonderheit des Systems. Auch bei der Speicherung von Inhalten geht Bludit eigene Wege: Alle Text-Inhalte werden separat im .txt-Format abgespeichert. Alle Meta-Angaben wie der Autor, Datum oder Kategorien werden im JSON-Format in separaten PHP-Dateien abgelegt. Diese strickte Trennung von Content und Meta-Inhalten hat Bludit auch die schnelle Umstellung von Markdown auf Rich-Text in Version 3 ermöglicht, da auch in der Markdown-Phase die Content-Files nicht wie üblich mit Frontmatter (YAML) vermischt wurden. Die separate Speicherung von Meta-Angaben im JSON-Format ermöglicht natürlich auch einen sehr einfachen API-Zugriff. Aber der Reihe nach.

Für die Installation von Bludit muss man lediglich über ein Mini-Formular einen initialen Nutzer anlegen und die Sprache auswählen. Anschließend gelangt man auf eine kurze Welcome-Seite und kann sofort loslegen. Einfacher geht es kaum. Mindest-Anforderung für die Installation sind PHP 5.3 und ein paar PHP-Module (mbstring, gd, dom, json), die so gut wie überall vorhanden sein dürften. Bludit unterstützt außerdem so gut wie alle Webserver, von Apache bis Nginx.

Ein Theme besteht bei Bludit aus zwei JSON-Dateien, eine für die Sprache (languages/en.json) und eine für die Meta-Informationen (metadata.json).

Das eigentliche HTML-Template findet man in der Index.php. Bludit arbeitet also nicht mit separaten Template-Sprachen wie Twig, sondern nutzt gewöhnliche PHP-Tags für die dynamischen Inhalte. In der einfachsten Version sieht ein Template so aus:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Bludit</title>
</head>
<body>
    <?php foreach ($pages as $page): ?>
    <h1><?php echo $page->title(); ?></h1>
    <div><?php echo $page->content(); ?></div>
    <?php endforeach; ?>
</body>
</html>

Bei Bludit gibt es tatsächlich keine große Template-Hierarchie, sondern man kann über die reichlich sprechende Variable $WHERE-AM-I prüfen, ob man sich auf der Homepage oder auf einer Unterseite befindet. Entsprechend kann man die Inhalte ausgeben:

<?php if ($WHERE_AM_I=='page'): ?>
<p>The user is watching a particular page</p>
<?php elseif ($WHERE_AM_I=='home'): ?>
<p>The user is watching the homepage</p>

Man kann sein Theme natürlich auch in einzelne Teile (Sidebar, Footer, Home, Page etc.) zerlegen und diese Partials dann einbinden. Die Partials werden in dem Ordner "php" abgelegt und über die Konstante THEME_DIR_PHP eingebunden:

<?php include(THEME_DIR_PHP.'navbar.php'); ?>

Zum Schluss gibt es auch noch diverse Helfer, um Assets wie CSS und JavaScript einzubinden und den Code von Plugin auszuführen:

<!-- CSS -->
<?php echo Theme::css('css/style.css') ?>
<!-- Javascript -->
<?php echo Theme::javascript('js/jquery.min.js') ?>
<!-- Load plugins with the hook siteHead -->
<?php Theme::plugins('siteHead') ?>

So einfach kann es gehen und tatsächlich kann man mit diesem simplen und flexiblen Ansatz so gut wie jede einfache Standard-Webseite abbilden.

Bludit bietet für Entwickler noch deutlich mehr. Und zwar nicht nur Plugins, die nach einem ähnlich simplen Prinzip wie Themes aufgebaut sind, sondern auch eine vollständige API, mit der sich nicht nur bestehende Inhalte abrufen lassen, sondern auch neue Inhalte erstellet und verwaltet werden können. Bei gerade mal 4 MB Gesamt-Größe des CMS lässt sich kaum mehr erwarten.

Bludit für Nicht-Entwickler

Die super einfache Installation, die einfache Bedienbarkeit und die vielen Einstellungsmöglichkeiten und Erweiterungen machen Bludit auf jeden Fall auch für Nicht-Entwickler attraktiv. Einziges Manko: Die Auswahl an Themes ist mit einem guten Dutzend Varianten doch recht überschaubar. Die gute Nachricht ist jedoch, dass die Integration eines neuen Themes zum Beispiel von HTML5 Up relativ einfach sein sollte, deutlich einfacher als zum Beispiel mit WordPress. Da Bludit noch recht unbekannt ist, dürfte die Suche nach Entwicklern jedoch nicht leicht sein.

Für Code-Einsteiger dürfte Bludit ganz besonders interessant sein. Zum einen, weil man mit reinem und sehr verständlich gehaltenen PHP arbeitet. Zum anderen, weil Bludit neben dem Plugin-Konzept auch ein schlankes API-Konzept anbietet und man so mit den wichtigsten Instrumenten eines CMS in einer sehr einfachen Form vertraut gemacht wird. Möglich, dass die Dokumentation für Einsteiger etwas knapp gehalten ist. Dennoch dürfte man deutlich schneller zum Erfolg kommen, als mit komplexen Systemen wie WordPress. Und zudem lernt man eine saubere und schlanke Code-Basis kenen.

Kosten

Bludit ist Open Source und damit völlig kostenfrei (MIT-Lizenz). Es gibt eine Pro-Version von Bludit, die spezielle Plugins enthält und nur für Unterstützer des Projekts zugänglich ist. Bludit kann über die Plattform Patreon unterstützt werden.

Angesichts des sehr flexiblen und dennoch einfachen Konzepts dürfte die Entwicklung von Webseiten mit Bludit relativ kostengünstig sein, solange es bei den Standard-Funktionen und eine Anpassung der Standard-Themes bleibt. Will man ein komplett individuelles Konzept, ein individuelles Design oder gar Funktionen, die ein eigenes Plugin erfordern, dann ist der Aufwand weitestgehend unabhängig vom verwendeten CMS immer deutlich höher.

Wofür sich Bludit eignet

Bludit eignet sich für Standard-Webseiten und einfache Blogs. Größere Funktionen wie Kommentar-Systeme können nur über externe Dienste wie Disqus realisiert werden, dafür gibt es entsprechende Plugins. Multi-Language wird nicht unterstützt. Für Multi-Language sind entweder zwei separate Installationen von Bludit erforderlich, oder man kann es über etwas kompliziertere Tricks mit verschiedenen Content-Ordnern realisieren. Bei solchen Anforderungen sollte man jedoch eher ein anderes CMS in Erwägung ziehen.

Zu den Alternativen im Flat-File-Bereich gehört zum Beispiel das Open-Source-System Grav. Grav bietet zwar deutlich mehr Features und Themes an, allerdings ist die Nutzeroberfläche von Grav für Autoren deutlich komplizierter und auch Entwickler haben es mit einem komplexeren System zu tun, das sich bei manchen Standard-Anforderungen dennoch erstaunlich schwer tut. In den meisten Fällen dürfte Bludit für Autoren und auch Entwickler das einfachere CMS sein.

Im kommerziellen Bereich ist Kirby das passende Gegenstück mit einer ähnlich einfachen und reduzierten Autoren-Oberfläche. Das flexibelste, komplexeste und wohl auch teuerste Flat-File-System dürfte Statamic sein, das als vergleichsweise einfache und schlanke Alternative sogar im Enterprise (größere Mittelständler) eingesetzt werden kann.

Was bei Bludit überzeugt, ist neben dem schlanken und minimalistischen Ansatz vor allem seine Flexibilität. In der Größenordnung gibt es kaum ein anderes System, das neben den Erweiterungen über Plugins auch eine relativ umfangreiche API anbietet. Selbst sehr moderne frontend-getriebene Ansätze dürften damit realisierbar sein. Bludit ist damit für jedes Portfolio eine Bereicherung.

Auch andere Experten lesen gerne gute Inhalte und freuen sich, wenn Du diesen Artikel zum Beispiel über Twitter teilst. Auf Twitter gibt es außerdem von @CMSstash tägliche Updates.

Zuletzt aktualisert: 01.10.2018