Template-Sprache
Syntax wie Django/Twig mit Filtern, Makros, Includes und {% verbatim %} für Vue oder Alpine.
IllusionCMS deckt ab, was eine von Entwicklern gebaute Website braucht – vom Editor über Daten und Automatisierung bis zum Betrieb. Hier die ganze Tour.
Jede Seite ist HTML mit Template-Tags – bearbeitet in CodeMirror, live daneben in der Vorschau.

Snippets, Komponenten und Layouts halten dein Markup schlank. CSS und JavaScript liegen in einer gemeinsamen Bibliothek und werden dort eingebunden, wo sie gebraucht werden.
Syntax wie Django/Twig mit Filtern, Makros, Includes und {% verbatim %} für Vue oder Alpine.
Markiere ein Snippet als Seitenlayout – neue Seiten starten mit {% extends %} und einem Inhaltsbereich.
{% component %} mit benannten Slots und Fallbacks – wie Web Components, nur auf dem Server.
Eine Bibliothek, je Seite zugeordnet oder an Unterseiten vererbt. Automatisch minifiziert und versioniert; ES-Module werden erkannt.
Hänge CSS/JS an ein Snippet – geladen wird es nur auf Seiten, die es wirklich benutzen.
Eine Spielwiese für HTML, CSS und JS mit Live-Ergebnis – privat oder per Link geteilt.
Eine Komponente ist ein Snippet mit Slots. Parameter übergeben, Slots füllen, fertig – Änderungen wirken sofort überall. Dieselben Komponenten werden zu Bausteinen für Redaktionen.
{% component "card" image=p.photo %}
{% fill "title" %}{{ p.name }}{% endfill %}
<p>{{ p.summary }}</p>
{% fill "footer" %}
<a href="/team/{{ p.slug }}">Profile →</a>
{% endfill %}
{% endcomponent %}
Gib einem Snippet ein Schema mit typisierten Parametern und Slots – schon ist es ein Baustein. Seiten und Collection-Einträge lassen sich dann aus Blöcken zusammensetzen.

Lege Strukturen mit Feldtypen an – Blog, Team, Produkte, Termine – und nutze sie in jedem Template.

REST-Quellen holen externe Daten in deine Templates: Shops, CRMs, Headless-Systeme oder eigene Dienste – mit Platzhaltern, Headern, Secrets aus Umgebungsvariablen und Cache. Über Workflows werden auch IllusionDB-Tabellen zu Seiten, bis hin zu Tausenden Landingpages mit generierter Sitemap.
{# Collection, REST API and IllusionDB – same syntax #}
{% for p in data("products", "category", route.query.cat,
"sort", "price", "limit", 12) %}
{% include "product-card" with product=p %}
{% endfor %}
{% with weather=data("weather-api", "city", "Berlin") %}
<p>{{ weather.current.temp }} °C</p>
{% endwith %}
Verbinde Nodes auf einer Arbeitsfläche – im Stil von Node-RED. Formulare, Webhooks und Zeitpläne starten einen Ablauf; JavaScript-Nodes, Weichen, HTTP-Anfragen und Collection-Aktionen erledigen die Arbeit.
workflow()
Öffentliche Endpunkte für Formulare und Webhooks – mit Honeypot, Prüfung und Weiterleitung.
Cron-Ausdrücke für nächtliche Jobs, Preislisten, Importe oder Aufräumarbeiten.
Reagieren, wenn Einträge angelegt, geändert oder gelöscht werden.
Mails über deinen SMTP-Server – Benachrichtigungen, Bestätigungen, Berichte.
Warten, parallele Zweige zusammenführen und Zustände in einem kleinen Schlüssel-Wert-Speicher halten.
Tabellen von IllusionDB lesen und schreiben – gefiltert, gruppiert und gecacht.
Sprach-Unterbäume oder eigene Websites je Sprache – IllusionCMS verknüpft die Fassungen und kümmert sich um den Rest.
hreflang-Tags und Sitemap-Alternativen automatischtranslations() und language_name() für deinen Sprachumschalterlang_root()<nav class="languages">
{% for t in translations() %}
<a href="{{ t.url }}" hreflang="{{ t.lang }}"
{% if t.current %}aria-current="page"{% endif %}>
{{ language_name(t.lang) }}
</a>
{% endfor %}
</nav>
Gib dem Importer eine Sitemap oder lass ihn crawlen. Er übernimmt Seitenbaum, HTML, CSS und JavaScript als geteilte Assets, Bilder, Fonts und Videos – und schreibt alle Links um.

IllusionCMS ist ein Go-Binary mit SQLite-Datenbank. Alles andere ist eingebaut.
Versionen mit Wiederherstellen für Seiten, Snippets, Assets und Workflows; nächtliche Backups.
Komplette Inhalte zwischen Instanzen übertragen – oder von lokal auf den Server schieben.
Garage, AWS, Hetzner, R2 … mit lokalem Cache und geführter Migration.
Signierte, ablaufende Links oder Anmeldung erforderlich.
Tageswerte für Seiten, Herkunft, Browser, Länder und Downloads – ohne Cookies.
Domains, Sitemap, robots.txt, Icon und 404-Seite je Website.
Gerenderte Seiten im Speicher mit gzip und ETag – bei jeder Änderung geleert.
Tokens mit Lese- oder Schreibrecht, Batches, Idempotenz-Schlüssel, Schema-Endpunkt.
Signierte Benachrichtigungen bei Inhalts- und Schema-Änderungen – mit Wiederholungen.
Security-Header, CSP, Rate-Limit, CSRF-Schutz, HSTS hinter HTTPS.
Automatische Weiterleitungen beim Verschieben; CSV-Import und -Export.
Ohne Admin betreiben – und aus deiner lokalen Instanz fernsteuern.
IllusionCMS ist kostenlos. Kein Konto, keine Telemetrie, keine Haken.