I template sono Jinja2 — HTML con due tipi di parentesi in più. {{ page.title }} stampa un valore. {% if page.poster_image_url %} … {% endif %} è un’istruzione: cicli, condizioni ed ereditarietà.
base.html contiene tutto ciò che ogni pagina condivide — l’<head>, la navigazione, il selettore della lingua, il piè di pagina, gli script — con un unico spazio vuoto al centro. Ogni altro template inizia allo stesso modo e riempie quello spazio:
{% extends "base.html" %}
{% block content %} <h1>{{ page.title }}</h1> {{ page.content | safe }} {% endblock %}
Tutto ciò che si ripete tra i template — una scheda articolo, una barra di paginazione — va in partials/ e si include con {% include "partials/post-card.html" %}.