Skip to main content

Tag e filtri

Tag personalizzati

TagUso
{% schema %}{ ...JSON... }{% endschema %}definisce lo schema della sezione (impostazioni e blocchi); non produce output
{% section 'nome' %}include la sezione sections/nome.html
{% style 'file.css' %}inserisce il tag <link> allo stylesheet dell'asset
{% asset 'file.js' %}inserisce il tag <script> all'asset
{% nav voce %}risolve l'URL di una voce di menu
{% for item in menuitems %}
  <a href="{% nav item %}">{{ item.label }}</a>
{% endfor %}

Escape dei valori (escape)

Il motore dei temi esegue Jinja senza autoescape: ogni {{ }} finisce nella pagina come HTML. Per i contenuti dell'organizzazione va bene (campaign.content è HTML), ma i valori che arrivano da chi visita il sito vanno passati per escape, altrimenti possono iniettare markup. In pratica: i valori ristampati da un form dopo un errore e i dati del sostenitore.

<input name="email" value="{{ (form.email.value() or '')|escape }}" />
<div>{{ profile.full_name|escape }}</div>

Esiste anche l'alias e; nei temi ufficiali usiamo escape, più leggibile.

Filtri

FiltroUsoRisultato
format_money`{{ amountformat_money }}`
format_date`{{ valueformat_date }}`

Sono disponibili anche tutti i filtri standard di Jinja (upper, lower, truncate, length, default, join, ...).


Fonte: https://dev.riseact.org/docs/themes/tags-and-filters. Copia automatica da dev.riseact.org: non modificare qui, le modifiche vanno fatte sulla documentazione Docusaurus.