Linguaggio di template
Sintassi in stile Django/Twig con filtri, macro, include e {% verbatim %} per Vue o Alpine.
IllusionCMS copre ciò che serve a un sito costruito da sviluppatori – dall’editor ai dati, all’automazione e alla gestione. Ecco il tour completo.
Ogni pagina è HTML con tag di template – modificato in CodeMirror, con anteprima live accanto.

Snippet, componenti e layout mantengono il markup snello. CSS e JavaScript stanno in una libreria condivisa e vengono collegati dove servono.
Sintassi in stile Django/Twig con filtri, macro, include e {% verbatim %} per Vue o Alpine.
Segna uno snippet come layout – le nuove pagine partono con {% extends %} e un’area contenuti.
{% component %} con slot nominati e contenuti di riserva – come i web component, ma sul server.
Una libreria, assegnata per pagina o ereditata dalle sottopagine. Minificata e versionata automaticamente; moduli ES riconosciuti.
Collega CSS/JS a uno snippet – viene caricato solo sulle pagine che lo usano davvero.
Un playground per HTML, CSS e JS con risultato live – privato o condiviso tramite link.
Un componente è uno snippet con slot. Passa i parametri, riempi gli slot, fatto – le modifiche valgono ovunque. Gli stessi componenti diventano blocchi per le redazioni.
{% 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 %}
Dai a uno snippet uno schema con parametri tipizzati e slot – ed ecco un blocco. Pagine e voci delle collection si possono poi comporre con i blocchi.

Definisci strutture con campi tipizzati – blog, team, prodotti, eventi – e usale in qualsiasi template.

Le fonti REST portano dati esterni nei tuoi template: shop, CRM, sistemi headless o servizi tuoi – con segnaposto, header, segreti da variabili d’ambiente e cache. Tramite i workflow anche le tabelle di IllusionDB diventano pagine, fino a migliaia di landing page con sitemap generata.
{# 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 %}
Collega nodi su una tela – in stile Node-RED. Moduli, webhook e pianificazioni avviano un flusso; nodi JavaScript, deviatori, richieste HTTP e azioni sulle collection fanno il lavoro.
workflow()
Endpoint pubblici per moduli e webhook – con honeypot, validazione e redirect.
Espressioni cron per job notturni, listini, import o pulizie.
Reagisci quando le voci vengono create, modificate o eliminate.
Invia mail tramite il tuo server SMTP – notifiche, conferme, report.
Attendi, unisci rami paralleli e conserva lo stato in un piccolo archivio chiave-valore.
Leggi e scrivi tabelle di IllusionDB – filtrate, raggruppate e in cache.
Sottoalberi per lingua o siti separati – IllusionCMS collega le versioni e pensa al resto.
hreflang e alternative nella sitemap generati automaticamentetranslations() e language_name() per il tuo selettore di lingualang_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>
Indica una sitemap all’importatore o lascialo esplorare. Riprende albero delle pagine, HTML, CSS e JavaScript come asset condivisi, immagini, font e video – e riscrive tutti i link.

IllusionCMS è un binario Go con un database SQLite. Tutto il resto è integrato.
Versioni con ripristino per pagine, snippet, asset e workflow; backup notturni.
Trasferisci contenuti completi tra istanze – o spingili dal locale alla produzione.
Garage, AWS, Hetzner, R2 … con cache locale e migrazione guidata.
Link firmati con scadenza o accesso obbligatorio.
Totali giornalieri per pagine, provenienze, browser, paesi e download – senza cookie.
Domini, sitemap, robots.txt, icona e pagina 404 per sito.
Pagine renderizzate in memoria con gzip ed ETag – svuotata a ogni modifica.
Token in lettura o scrittura, batch, chiavi di idempotenza, endpoint dello schema.
Notifiche firmate su modifiche di contenuto e schema – con nuovi tentativi.
Header di sicurezza, CSP, rate limiting, protezione CSRF, HSTS dietro HTTPS.
Redirect automatici quando le pagine si spostano; import ed export CSV.
Gestione senza admin – controllata da remoto dalla tua istanza locale.
IllusionCMS è gratuito. Nessun account, nessuna telemetria, nessun vincolo.