Motore dei temi
Il sito dell'organizzazione è reso con template Jinja2. Sintassi di base:
{{ variabile }} {# stampa un valore #}
{{ oggetto.attributo }} {# accesso per attributo #}
{{ oggetto['chiave'] }} {# accesso per chiave #}
{% if condizione %}...{% endif %}
{% for item in lista %}...{% endfor %}
{{ valore | filtro }}In questa sezione:
- Creare un tema: CLI, sviluppo in locale, pubblicazione
- Variabili di contesto: cosa è disponibile in ogni pagina
- Oggetti e attributi: i campi di
campaign,pagee degli altri oggetti - Campi personalizzati:
campaign.customfields - Tag e filtri:
{% section %},format_money,format_date, ... - Sezioni e impostazioni:
theme,sections,section
Struttura di un tema
La cartella determina il ruolo di un file:
| percorso | ruolo |
|---|---|
manifest.json | nome, identificativo, versione, autore |
layout/*.html | il documento HTML completo, con content_for_layout |
sections/*.html | blocchi componibili, ognuno con il suo {% schema %} |
snippets/*.html | frammenti riusabili, inclusi con {% include %} |
templates/*.json | composizione delle pagine: quali sezioni, in quale ordine |
templates/**/*.html | pagine non componibili, come l'area sostenitore |
config/settings_schema.json | quali impostazioni globali il tema espone |
config/settings_data.json | i valori di quelle impostazioni |
assets/* | CSS, JavaScript, font |
Un tema contiene solo file di testo: le immagini si caricano nella libreria media dell'organizzazione e si scelgono dalle impostazioni.
Fonte: https://dev.riseact.org/docs/themes/overview. Copia automatica da dev.riseact.org: non modificare qui, le modifiche vanno fatte sulla documentazione Docusaurus.