Logo for CMSstash

Typemill CMS: Der schnellste Weg zur Infoseite

Typemill ist eine intuitive und schlanke Lösung für informationslastige Web-Projekte wie Anleitungen, Knowledge Bases, Dokumentationen oder Handbücher.

Typemill: Der schlanke Content-Spezialist

Das Open Source CMS Typemill hat sich als schlanke Lösung für informationslastige Web-Projekte etabliert. Eine Besonderheit von Typemill ist die Möglichkeit, aus den Inhalten der Webseite mit Hilfe eines Plugins Publikationen im PDF und ePUB-Format zu generieren. Dementsprechend wird Typemill gerne für Anleitungen, Manuals, Knowlegde Bases oder auch Handbücher verwendet.

Screenshot Typemill Webseite

Typemill ist im Jahr 2017 von Sebastian Schürmanns entwickelt worden, um damit CMSstash zu betreiben. Insofern ist die Darstellung von Typemill auf CMSstash recht subjektiv. Nach einigen Jahren der kontinuierlichen Weiterentwicklung wurde im November 2023 eine weitgehend neu entwickelte Version 2 von Typemill publiziert. Seitdem erscheint regelmäßig einmal pro Monat ein neues Release. Das schlanke CMS ist vor allem bei kleineren Unternehmen und Organisationen im Einsatz, wird aber auch gerne für private Projekte genutzt.

Der Flat-File Guide bietet auf über 80 Seiten einen Marktüberblick und stellt sieben Flat-File-CMS im Detail vor. Jetzt kostenlos und ohne Registrierung herunterladen.

Typemill für Autoren

Kennzeichen von Typemill ist eine minimalistische Autorenoberfläche, bei der die Inhalte konsequent im Vordergrund stehen. Auf der rechten Seite werden die Markdown-Inhalte der aktuellen Seite bearbeitet, auf der linken Seite wird die inhaltliche Struktur der Webseite mit einem Navigationsbaum dargestellt. Alle weiterführenden Funktionen wie Systemkonfigurationen oder auch Meta-Angaben sind erst in der zweiten Klickebene sichtbar. Mit diesem Aufbau erinnert Typemill stärker als andere Flat-File-CMS an ein Schreibprogramm für Dokumente.

Screenshot der Autorenoberfläche von Typemill

In der Standard-Einstellung ist bei Typemill der Visual Markdown Editor aktiviert, der die Autoren bei der Text-Auszeichnung unterstützt. Die Stärken des Visual Editors offenbaren sich vor allem bei sperrigen Elementen wie Bilder oder Tabellen. Solche komplexeren Markdown-Elemente lassen sich bei Typemill in einem gewohnten WYSIWYG-Modus erstellen. Alternativ können Autoren auch in den Raw Editor wechseln und die reine Markdown-Syntax verwenden.

Screenshot Raw Mardkown Editor von Typemill

In der interaktiven Navigation auf der linken Seite kann der Autor neue Seiten erstellen und die Struktur der Webseite per Drag & Drop anpassen. Dabei sind beliebige Hierarchien möglich. Außerdem wird der Status jeder Seite durch einen Farbcode sichtbar gemacht: Publizierte Seiten sind grün markiert, modifizierte Seiten sind mit Orange gekennzeichnet, nicht publizierte Seiten erscheinen mit roter Markierung. So kann man den Zustand der Webseite mit einem Blick erfassen.

Neben dieser hierarchischen Seiten-Organisation kann man einzelne Bereiche auch nach Datum sortieren und kleine News- oder Blog-Bereich erstellen. Die Möglichkeiten sind allerdings begrenzt, sodass man für klassische News- und Blog-Konzepte auf entsprechend ausgerichtete Systeme setzen sollte.

Die hierarchische Strukturierung der Inhalte ermöglicht eine nahtlose Transformation der Webseite in klassische Publikations-Formate. Typemill bietet dazu ein eigenes eBook-Plugin an, mit dem sich aus der gesamten Webseite oder aus ausgewählten Bereichen der Webseite Publikationen in den Formaten PDF und ePUB erstellen lassen.

Neben den Publishing-Features bietet das System zahlreiche weitere Funktionen an. Beispielsweise können mit Plugins über die Integration von kleinen Shortcodes relativ beliebige Inhalte und Funktionen in die Seiten eingebunden werden. Außerdem gibt es ein Rollen- und Rechte-System, mit dem sich der Zugriff auf Seiten relativ fein steuern lässt. Die Verwaltung von Plugins, Themes und Nutzern findet man in den Systemeinstellungen. Dort können über Plugins auch weitere Menüpunkte erstellt und relativ beliebige Applikationen integriert werden. Das gleiche ist auch für Tabs im Content-Bereich möglich.

Mit Typemill können zwar grundsätzlich auch Design-orientierte Webauftritte erstellt werden. Im Vergleich zu Systemen wie Kirby oder Automad sind die Gestaltungsmöglichkeiten bei Typemill jedoch begrenzt. Bei informationsorientierten Webseiten kommen dagegen die Vorteile von Typemill voll zum Tragen. Man kann das System mit wenigen Klicks installieren und ohne lange Einarbeitung oder Konfiguration Dokumentationen, Handbücher, Knowledge Bases oder auch kleinen Wikis erstellen.

Typemill für Entwickler

Typemill basiert auf dem PHP-Framework Slim 4. Für das Frontend bzw. die Administrations-Oberfläche nutzt Typemill das CSS-Framework Tailwind und das JavaScript Framework Vue 3. Templates werden mit Twig entwickelt. Für Konfigurationen setzt das CMS wie die meisten Flat-File-Systeme auf YAML-Dateien. Derzeit wird eine Installation auf Apache-Servern mit htaccess unterstützt, Nginx ist ebenfalls möglich. Die minimale PHP-Version ist 8.1.

Im Unterschied zu klassischen Dienstleister-Systemen wie Kirby, Statamic oder auch Grav richtet sich Typemill in erster Linie an Endnutzer. Die Code-Basis ist vergleichsweise einfach gehalten und eine Anpassung durch Entwickler ist für Standard-Fälle nicht erforderlich. Für die Installation bietet Typemill auf der Webseite den Download einer klassischen Zip-Datei an. Alternativ können Entwickler GitHub und Composer nutzen oder ein Docker-Image verwenden. Durch die geringe Größe eignet sich Typemill auch für ein traditionelles Handling per FTP.

Falls doch Anpassungen vorgenommen werden sollen, können Entwickler das System über eigene Themes individualisieren und über Plugins funktional erweitern. Typemill setzt dabei auf bekannte Technologien, sodass sich Entwickler relativ schnell zurechtfinden dürften. Das Plugin-System wird mit dem verbreiteten Event-Dispatcher von Symfony realisiert. Themes werden mit der Template-Sprache Twig erstellt. Ein typisches Twig-Snippet in einem Theme sieht wie folgt aus:

<article>
    <header>
        <h1>{{ title }}</h1>
    </header>
    {{ content }}
<article>

Ein typisches Plugin nutzt in den meisten Fällen die verschiedenen Events, um Daten von Typemill während des Lifecycles zu verändern. Der Event-basierte Code sieht grundsätzlich wie folgt aus:

<?php
namespace plugins\myplugin;
use \typemill\plugin;
class myplugin extends plugin
{
    public static function getSubscribedEvents()
    {
        return array(
            'onSettingsLoaded' => 'onSettingsLoaded'
        );
    }
    public function onSettingsLoaded($settings)
    {
      // do something with the $settings
    }
}

Neben den Events können auch eigene Routes definiert und eine eigene Middleware hinzuzugefügt werden. Außerdem kann man komplett eigenständige Vue-Applikationen in die Administrations-Oberfläche integrieren.

Zu den flexiblen Features von Typemill zählt außerdem das Formular-Management. Formulare werden ähnlich wie bei anderen Flat-File-Systemen über YAML-Dateien definiert. Dabei können die Formulare in vier Bereichen eingesetzt werden.

  • Konfigurations-Formulare für Themes.
  • Konfigurations-Formulare für Plugins.
  • Erweiterung der Tabs für Seiten-Inhalte.
  • Öffentliche Formulare.

Das Formular-Handling mit den YAML-Definitionen sind in der Dokumentation beschrieben, die Definition folgt jedoch grundsätzlich immer demselben Muster:

forms:
  fields:
    myfieldname:
      type: text
      label: Add a short text
    anotherfield:
      type: textarea
      label:  Add a long text

Interessant für Entwickler dürfte auch das Shortcode-Feature sein, denn damit lassen sich relativ leicht Inhalte in den Content-Bereich integrieren. Auch der Editor lässt sich über Plugins um weitere Elemente erweitern, ein Beispiel dafür ist das Math-Plugin, dass eine Integration von mathematischen Formeln in den Editor ermöglicht.

Man sollte im Hinterkopf behalten, dass Typemill im Kern für inhaltlich abgeschlossene und begrenzte Publikationen wie Dokumentationen, Manuals, oder eben Bücher geeignet ist. Blogs, News-Webseiten, klassische Marketing-Webseiten oder visuell aufwändige Auftritte sind zwar prinzipiell möglich, gehören aber nicht zum Schwerpunkt des Systems.

Typemill für Nicht-Entwickler

Typemill wird relativ häufig von Nicht-Entwicklern oder auch von Administratoren im Unternehmensumfeld eingesetzt. Die Installation von Typemill ist sehr einfach und die Plugins und Themes bieten ausreichende Individualisierungsmöglichkeiten an. Wer ein wenig CSS beherrscht, der kann kleine Änderungen bei den Themes über ein individuelles CSS-Feld vornehmen. Darüber hinaus bieten einige Themes Konfigurationsmöglichkeiten von Schriften, Farben oder auch Inhalts-Blöcke für die Startseite oder den Footer an.

Kosten

Typemill ist ein Open Source System unter MIT-Lizenz. Für neue Plugins und Themes gibt es seit Anfang 2024 ein Lizenzsystem mit den folgenden Preisstufen:

  • 0,- Euro für das Core-System und alle Plugins und Themes, die weiterhin unter der MIT-Lizenz oder anderen Open-Source-Lizenzen veröffentlicht werden.
  • 22,- Euro pro Jahr und Seite. Damit können alle Plugins und Themes verwendet werden, die unter der MAKER-Lizenz veröffentlicht werden.
  • 122,- Euro pro Jahr und Seite. Damit können alle Plugins, Themes und Services genutzt werden, die unter der MAKER oder BUSINESS Lizenz veröffentlicht werden.

Das Angebot an Plugins und Themes wird laufend erweitert.

Einsatzfelder für Typemill

Typemill eignet sich vor allem für content-lastige Webseiten mit hierarchisch strukturierten Inhalten und einem optionalen Publishing als PDF oder ePub. Genutzt wird das System vorwiegend von kleinen und mittleren Unternehmen, Organisationen, Forschungseinrichtungen und Einzelpersonen. Typemill bietet für typische Einsatzfelder Bundles an, die eine Auswahl an passenden Plugins und Themes enthalten. Derzeit gibt es Bundles für Software Dokumentationen, User Manuals, Knowledge Bases, Employee Handbooks, Reporting und SEO Websites .

Vorteile und Nachteile von Typemill

Auch wenn der CMSstash-Autor gleichzeitig der Entwickler von Typemill ist, sollen die Vorteile und Nachteile hier einigermaßen objektiv beschrieben werden. Zu den Vorteilen zählen:

  • Für hierarchisch strukturierte Inhalte extrem einfach und intuitiv in der Handhabung.
  • Moderner Tech-Stack mit schlanker Code-Basis.
  • Ohne Hilfe von Entwicklern nutzbar.
  • Interaktive Navigation mit Drag & Drop.
  • Visueller Markdown-Editor oder reine Markdown-Syntax wählbar.
  • Optionale Produktion von Publiaktionen im PDF- und ePUB-Format.

Mögliche Schwächen des Systems sind:

  • Für designlastige Auftritte weniger geeignet.
  • Keine Features für Slideshows und ähnlichen Elementen integriert.
  • Nachlassende Performance bei umfangreichen Projekten (ab ca. 5.000 bis 10.000 Seiten).
  • Web-API noch nicht fertig und Dokumentation nicht überall aktuell.