Lenguaje de templates
Sintaxis tipo Django/Twig con filtros, macros, includes y {% verbatim %} para Vue o Alpine.
IllusionCMS cubre lo que necesita una web construida por desarrolladores – del editor a los datos, la automatización y la operación. Aquí tienes el recorrido completo.
Cada página es HTML con etiquetas de template – editado en CodeMirror, con vista previa en vivo al lado.

Snippets, componentes y layouts mantienen tu markup limpio. CSS y JavaScript viven en una biblioteca común y se enlazan donde hacen falta.
Sintaxis tipo Django/Twig con filtros, macros, includes y {% verbatim %} para Vue o Alpine.
Marca un snippet como layout – las páginas nuevas empiezan con {% extends %} y un área de contenido.
{% component %} con slots con nombre y contenido de respaldo – como web components, pero en el servidor.
Una biblioteca, asignada por página o heredada por las subpáginas. Minificada y versionada automáticamente; módulos ES detectados.
Asocia CSS/JS a un snippet – solo se carga en las páginas que lo usan de verdad.
Un patio de juegos para HTML, CSS y JS con resultado en vivo – privado o compartido por enlace.
Un componente es un snippet con slots. Pasa parámetros, rellena los slots, listo – los cambios se aplican en todas partes. Los mismos componentes se convierten en bloques para las redacciones.
{% 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 %}
Dale a un snippet un esquema con parámetros tipados y slots – y ya es un bloque. Páginas y entradas de collections se pueden componer con bloques.

Define estructuras con campos tipados – blog, equipo, productos, eventos – y úsalas en cualquier template.

Las fuentes REST llevan datos externos a tus templates: tiendas, CRM, sistemas headless o servicios propios – con marcadores, cabeceras, secretos de variables de entorno y caché. Mediante workflows, las tablas de IllusionDB también se convierten en páginas, hasta miles de landing pages con sitemap generado.
{# 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 %}
Conecta nodos en un lienzo – al estilo de Node-RED. Formularios, webhooks y programaciones inician un flujo; nodos JavaScript, conmutadores, peticiones HTTP y acciones de collection hacen el trabajo.
workflow()
Endpoints públicos para formularios y webhooks – con honeypot, validación y redirecciones.
Expresiones cron para tareas nocturnas, listas de precios, importaciones o limpiezas.
Reacciona cuando se crean, cambian o eliminan entradas.
Envía correos mediante tu servidor SMTP – avisos, confirmaciones, informes.
Espera, une ramas paralelas y guarda estado en un pequeño almacén clave-valor.
Lee y escribe tablas de IllusionDB – filtradas, agrupadas y en caché.
Subárboles por idioma o webs separadas – IllusionCMS enlaza las versiones y se ocupa del resto.
hreflang y alternativas en el sitemap, automáticastranslations() y language_name() para tu selector de idiomalang_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 un sitemap al importador o deja que rastree. Se queda con el árbol de páginas, el HTML, el CSS y el JavaScript como assets compartidos, imágenes, fuentes y vídeos – y reescribe todos los enlaces.

IllusionCMS es un binario Go con una base de datos SQLite. Todo lo demás viene integrado.
Versiones con restauración para páginas, snippets, assets y workflows; copias nocturnas.
Traspasa contenidos completos entre instancias – o súbelos de local a producción.
Garage, AWS, Hetzner, R2 … con caché local y migración guiada.
Enlaces firmados con caducidad o inicio de sesión obligatorio.
Totales diarios de páginas, procedencias, navegadores, países y descargas – sin cookies.
Dominios, sitemap, robots.txt, icono y página 404 por web.
Páginas renderizadas en memoria con gzip y ETag – vaciada en cada cambio.
Tokens de lectura o escritura, lotes, claves de idempotencia, endpoint de esquema.
Avisos firmados ante cambios de contenido y esquema – con reintentos.
Cabeceras de seguridad, CSP, limitación de peticiones, protección CSRF, HSTS tras HTTPS.
Redirecciones automáticas al mover páginas; importación y exportación CSV.
Opera sin admin – y gestiónalo a distancia desde tu instancia local.
IllusionCMS es gratis. Sin cuenta, sin telemetría, sin letra pequeña.