HTMLy: Ein Flat-File-CMS für Blogger
HTMLy ist ein leichtgewichtiges Flat-File-System speziell für Blogs. Wer einen einfachen und schnellen Standard-Blog ohne großen Aufwand für Installation, Konfiguration und Wartung sucht, der ist mit HTMLy gut bedient.
HTMLy wurde erstmals im Jahr 2013 von dem Entwickler Danang Probo Sayekti veröffentlicht. Nach einem längeren Stillstand gibt es seit 2020 und vermehrt wieder seit 2023 Updates. Auch wenn es sich meist nur um Maintenance-Updates handelt, zeugen nicht zuletzt die Kontributionen von anderen Entwicklern davon, dass HTMLy erfolgreich wiederbelebt wurde.
HTMLy für Autoren
Mit der Wiederbelebung im Jahr 2020 hat HTMLy die zuvor reichlich schmucklos daherkommende Administrations-Oberfläche erneuert und auf Bootstrap umgestellt. Damit ist die Arbeit für Autoren und Administratoren insgesamt deutlich angenehmer geworden. HTMLy nutzt für die Erstellung von Inhalten die Auszeichnungssprache Markdown und bietet dazu einen Split-Screen mit einer WYSIWYG-Preview an. Auch Autoren, die bislang mit HTML-Editoren gearbeitet haben, dürften damit zurechtkommen.
Ähnlich wie Tumblr ermöglicht HTMLy verschiedene Arten von Content-Beiträgen. Neben normalen Text-Inhalten gehören dazu Zitate, Bilder sowie Audio- und Video-Beiträge. Dabei unterstützt HTMLy allerdings nur spezielle Plattformen wie YouTube für Videos oder Soundcloud für Audio-Streams. Wer diese Plattformen ohnehin nutzt, für den ist HTMLy ein schneller Startpunkt für das Instant-Blogging. Wer andere Plattformen wie Vimeo verwendet, der muss HTMLy dafür eigenhändig erweitern.
Die Konfigurations-Möglichkeiten von HTMLy lassen für einen schlichten Blog kaum Wünsche übrig: In der Konfiguration kann der Administrator zwischen acht vorinstallierten Themes auswählen. Es gibt Beiträge, Entwürfe, Tags und Feeds. Bei der Installation kann man optional die externen Kommentarsysteme von Facebook oder Disqus integrieren. Außerdem bietet das System eine Google-Sitemap, Content-Teaser, Read-More-Buttons, verwandte Artikel, neueste Posts, beliebteste Beiträge, Permalinks und Social-Media-Buttons. Hinzu kommen nützliche Features wie ein automatisches Update, einen RSS-Import und eine Backup-Möglichkeit. Mit Version 2.7.7 ist als neues Feature ein einfacher Menu-Builder hinzugekommen.
HTMLy für Entwickler
HTMLy ist ein schlankes PHP-System mit minimalen Anforderungen. Es läuft ab PHP 7.2 und benötigt nur einige Standard-Libraries wie PHP-XML und PHP-ZIP. Unterstützt werden die Server Apache, Nginx und Lighttpd. Für die Installation müssen lediglich die Dateien auf den Server geladen und das Installationsscript unter install.php
aufgerufen werden. Nach ein paar Angaben in der Installations-Routine läuft das System.
Im Backend verzichtet HTMLy vollständig auf Frameworks und setzt mit Markdown, Urlify und einer handvoll anderer Libraries auf größtmöglichen Minimalismus. Für das Admin-Panel werden Bootstrap und JQuery verwendet. Templates werden ohne große Schnörkel mit HTML und PHP erstellt. Ohnehin gehört die gesamte Code-Basis zur größten Besonderheit des Systems: Sie verzichtet fast vollständig auf objektorientierte Programmierung und folgt einem sehr einfach prozeduralen Stil. Das mag auf die meisten Entwickler heutzutage skurril wirken, ist aber in Sachen Purismus ein durchaus spannendes Experiment und erinnert an die Anfangszeiten von PHP.
Für Themes wird eine relativ feste Template-Struktur vorgegeben. Die Templates decken Varianten wie Profil-Seiten, Blog-Einträge, Beitrags-Listen oder auch Tag-Listen ab. Sämtliche Template-Typen können über Bennenungsregeln auch für Unterseiten definiert werden. In den Templates selbst stehen dann individuelle Funktionen und Variablen zur Verfügung. Der Code für das Main-Template kann beispielsweise so aussehen:
<!DOCTYPE html>
<html>
<head>
<?php echo head_contents(); ?>
<title><?php echo $title; ?></title>
<meta name="description" content="<?php echo $description; ?>"/>
<link rel="canonical" href="<?php echo $canonical; ?>" />
<?php if (publisher()): ?><link href="<?php echo publisher(); ?>" rel="publisher" /><?php endif; ?>
<link rel="stylesheet" type="text/css" href="<?php echo site_url();?>themes/theme-name/css/style.css">
</head>
<body>
<?php if (facebook()) { echo facebook(); } ?>
<?php if (login()) { toolbar(); } ?>
<div class="header">
<?php if(is_index()) {?>
<h1 class="blog-title"><a href="<?php echo site_url();?>"><?php echo blog_title();?></a></h1>
<?php } else { ?>
<h2 class="blog-title"><a href="<?php echo site_url();?>"><?php echo blog_title();?></a></h2>
<?php } ?>
<div>
<div class="wrapper">
<div class="main-content">
<?php echo content(); ?>
</div>
<div class="sidebar">
<div class="search">
<?php echo search(); ?>
</div
</div>
</div>
<div class="footer">
<?php echo copyright() ?>
</div>
<?php if (analytics()): ?><?php echo analytics() ?><?php endif; ?>
</body>
</html>
Komplexere Inhalte wie Artikellisten nach Tags oder nach Kategorien können mit Hilfs-Funktion wie get_tag()
oder get_category()
ausgegeben werden. Daneben gibt es sogenannte Widgets. Dahinter verbergen sich Funktionen, mit denen sich ganze Features wie eine Suche, eine Tag-Cloud und ähnliche Blog-Standards integrieren lassen. Insgesamt stehen neun Widget-Funktionen zur Verfügung:
search()
menu()
recent_posts()
popular_posts()
archive_list()
tag_cloud()
category_list()
get_related($p->related)
recent_type($type)
Der Purismus von HTMLy hat natürlich seine Grenzen. Entwickler können zwar Themes erstellen. Da HTMLy jedoch keine Plugin-Architektur bietet, lässt sich das CMS ohne Eingriffe in den Core-Code nicht funktional erweitern, Wer sich jedoch mit dem Feature-Umfang begnügt und lediglich ein Theme bauen will, der könnte mit HTMLy durchaus Freude haben.
HTMLy für Nicht-Entwickler
HTMLy wirkt wie ein schlankes und rudimentäres WordPress ohne Plugins. Es wird mit acht fertigen Themes ausgeliefert und das System bietet ausreichende Konfigurationsmöglichkeiten für die Individualisierung des Webauftritts an. Ähnlich wie in den Anfangszeiten von WordPress kann man bei HTMLy einfache Hilfs-Funktionen kopieren und so sein Theme anpassen oder komplett neu entwickeln. Für Einsteiger in die Web- und Theme-Entwicklung könnte HTMLy daher durchaus geeignet sein. Allerdings steht im Vergleich zu WordPress nur eine sehr dünne Dokumentation zur Verfügung, die es Neulingen wiederum schwer machen dürfte.
Kosten
HTMLy und alle Themes sind Open Source und kostenlos. Aufgrund der einfachen Theme-Entwicklung dürften die Kosten für ein eigenes Theme im Falle einer externen Beauftragung vergleichsweise gering sein.
Einsatzfelder für HTMLy
HTMLy ist eine gute Wahl, wenn man schnell einen einfachen Standard-Blog aufsetzen will. Das System lässt sich auch ohne Code-Kenntnisse schnell installieren und einfach bedienen. Der Vorteil gegenüber großen Systemen wie WordPress ist der Verzicht auf eine Datenbank und eine Wartungsfreiheit, was dem Blog-Betreiber viel unnötige Arbeit erspart. Damit ist HTMLy auch ein guter Kandidat für ein erstes Proof of Concept, das man im Erfolgsfall immer noch auf ein komplexeres System umstellen kann.
Fazit: Vorteile und Nachteile von HTMLy
Beim Testen von HTMLy haben uns die folgenden Vorteile von HTMLy besonders gefallen:
- Sofort Startklar für einfache Blogs.
- Vorinstallierte Themes für jeden Geschmack.
- Sehr schlank und schnell.
- Einfache und verständliche Autorenumgebung.
- Verschiedene Post-Varianten im Tumblr-Stil.
- Format-Kontrolle für Markdown mit einem Split-Screen.
- Extrem einfache Theme-Entwicklung.
Welche Nachteile uns aufgefallen sind:
- Keine Erweiterungen durch Plugins möglich.
- So gut wie keine Dokumentation.
- Prozeduraler Code eigentlich nicht mehr zeitgemäß.
- Kommentar-System nur über Disqus oder Facebook.
- Längere Entwicklungs-Pausen, inzwischen aber wieder aktiv.