CMSstash

Bludit: Einfaches CMS für schlanke Webseiten

Wer ein einfaches CMS sucht, der wird generell bei den Flat-File-Systemen fündig. Und unter den Flat-File Systemen eignet sich das kleine Open Source CMS Bludit besonders gut, wenn es um schlanke Webseiten oder einfache Blogs geht. Das Besondere an Bludit ist, das es kaum Besonderheiten hat, sondern schlicht das macht, was man von einem einfachen CMS erwartet. Das erleichtert die Arbeit mit dem CMS sowohl für die Autoren, als auch für die Entwickler.

Das einfache Flat-File-CMS Bludit

Bludit ist 2015 als modernisiertes Nachfolgesystem des älteren Flat-File-CMS Nibbleblog entstanden. Auch Nibbleblog ist vom Konzept und von der Nutzeroberfläche her ausgesprochen einfach und anwenderfreundlich, allerdings basiert Nibbleblog auf XML-Dateien und nicht auf Markdown, wie es heute generell üblich ist. Man merkt Bludit jedoch an, dass der Entwickler Djego Najar seine langjährigen Erfahrungen mit Nibbleblog für das neue CMS genutzt hat.

Bludit für Autoren

Inhalte lassen sich mit Bludit denkbar einfach erstellen: Es gibt einen Markdown-Editor und darunter Buttons für die Veröffentlichung (save) oder die Speicherung als Entwurf (save draft). Für zusätzliche Optionen wie Bilder, Kategorien, Tags und Meta-Informationen gibt es auf der rechten Seite ein weiteres Menü. Die vier Optionen in dem Menü sind eingeklappt, sodass nichts von der Content-Erstellung ablenkt.

Inhalte erstellen mit Bludit

Wie bei allen Flat-File-Systemen muss sich der Autor auch bei Bludit mit der Auszeichnungssprache Markdown beschäftigen. Markdown ist in der Tech-Szene weit verbreitet und ähnelt dem Wiki-Markup. Da der Editor von Bludit jedoch über alle wichtigen Formatierungs-Buttons verfügt, sollte den Autoren die Umstellung recht einfach fallen. Einige Formate wie Überschriften, fett oder kursiv werden im Editor direkt im WISYWIG-Stil angezeigt, was die Orientiert der Autoren zusätzlich erleichtert. Für eine vollständige HTML-Vorschau gibt es einen Preview-Button.

Das Bild-Management ist etwas eigenwillig, aber sehr geschickt gelöst: Bilder werden erst über die Optionen auf der rechten Seite hochgeladen. Anschließend kann man die Bild-Optionen per Klick auf das Bild anzeigen und das Bild entweder in den Markdown-Editor einfügen oder als Header-Bild des Artikels definieren. Auch diese Lösung ist einfach, effektiv und von jedem Autor schnell zu erlernen.

Die erweiterten Optionen für Autoren und Administratoren sind erstaunlich breit gefächert und dennoch übersichtlich gestaltet: Es gibt einen Bereich für die Verwaltung bestehender Inhalte, eine Verwaltung von Kategorien, ein User-Management mit verschiedenen Rollen sowie erweiterte Optionen.

Bei den erweiterten Optionen lassen sich alle wichtigen Eigenschaften für eine Standard-Webseite oder einen einfachen Blog einstellen, angefangen von der Sprache bis hin zu Social-Media-Accounts, die Sortierung von Artikeln und die URL-Strukturen. Was über die normalen Einstellungen nicht verfügbar ist, kann man über Plugins nachrüsten. Per Default sind bereits 20 Plugins vorinstalliert. Entwickler können das System natürlich noch um eigene Plugins erweitern. Selbstverständlich gibt es auch Themes, sodass auch aus Autoren-Sicht alle nötigen Werkzeuge für den Betrieb einer einfachen Webseite vorhanden sind.

Bludit für Entwickler

Bludit ist ein einfaches PHP-CMS und eine komplette Eigenentwicklung ohne externe Abhängigkeiten. Bludit 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 der Inhalte geht Bludit eigene Wege: Zwar werden die Texte im Markdown-Format in einfachen Text-Dateien (.txt) abgespeichert. Meta-Angaben wie der Autor, das Publikations-Datum oder Tags speichert Bludit jedoch nicht im sogenannten Front Matter (YAML) direkt in der Markdown-Datei ab, sondern sämtliche Angaben werden in zentralen PHP-Dateien im JSON-Format abgelegt. Der Ansatz dürfte vor allem dann sehr spannend und effektiv sein, wenn es um den API-Zugriff geht. 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 einfach 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. Für One-Pager oder Multi-Language-Seiten wäre Grav als Open-Source-System dennoch die sinnvollere Wahl. In den meisten anderen Fällen ist Bludit aber für Entwickler und Autoren das einfachere CMS.

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 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.

Tägliche CMS-News für Entwickler, Designer, Projektmanager und Anwender gibt es von @CMSstash auf Twitter. Twitter kann auch gerne für Hinweise zu Texten genutzt werden.