Manual · 1

The concept in five minutes

IllusionCMS is made for people who want to write HTML, CSS and JavaScript themselves – without a site builder that takes the markup out of your hands, but with the conveniences of a CMS.

Building block What for Where in the admin
Pages Form a tree; the URL follows from the position (/leistungen/webdesign). Each page has its own HTML. Several page trees = several websites, distinguished by domain. Pages
CSS & JS A shared library of files. You assign them to pages – optionally inherited by all subpages. A change takes effect everywhere the file is used. CSS & JS and in the page editor
Snippets Reusable HTML building blocks (header, footer, cards …). They are included, used as a component with slots, or extended as a layout. Snippets
Files Images, PDFs, fonts, videos. Images automatically get size variants for srcset. Files
Collections Your own data structures (blog, team, products …) with fields and entries. Collections
REST sources Data from external systems (shop, CRM, headless CMS …) via a JSON API. REST sources

Templates connect everything. A page’s HTML is a template in Twig/Django-like syntax. With it you fetch data (data("blog")), build navigation (nav()), include Snippets and set images with srcset:

{% include "header" %}
<main>
  <h1>{{ page.title }}</h1>
  {% for post in data("blog", "sort", "-datum", "limit", 3) %}
    {% component "card" %}
      {% fill "titel" %}{{ post.titel }}{% endfill %}
      {{ post.text|markdown }}
    {% endcomponent %}
  {% endfor %}
</main>
{% include "footer" %}

The public website lives at /, the administration at /cms-admin, the REST API at /api/v1.