Las plantillas son Jinja2 — HTML con dos tipos extra de llaves. {{ page.title }} imprime un valor. {% if page.poster_image_url %} … {% endif %} es una instrucción: bucles, condiciones y herencia.
base.html contiene todo lo que comparten las páginas — el <head>, la navegación, el selector de idioma, el pie, los scripts — con un único hueco en medio. Todas las demás plantillas empiezan igual y rellenan ese hueco:
{% extends "base.html" %}
{% block content %} <h1>{{ page.title }}</h1> {{ page.content | safe }} {% endblock %}
Todo lo que se repite entre plantillas — una tarjeta de entrada, una barra de paginación — va en partials/ y se incluye con {% include "partials/post-card.html" %}.