From e992baf2d253eb70e9f10f1f0e687142af813690 Mon Sep 17 00:00:00 2001 From: andwati Date: Fri, 7 Aug 2026 10:46:09 +0300 Subject: [PATCH] Migrate templates to Zola 0.23 / Tera v2 bin/update-zola always installs the latest release, which as of v0.23.0 rewrote the template engine to Tera v2. That broke the whole site: removed filters (slice, concat, escape), test calls now require named args, shortcodes are gone in favor of Tera components, and content itself is now Tera-templated before markdown runs. - slice(end=n) -> native [:n] slicing; concat(with=x) -> spread [...arr, x] - escape -> escape_html; starting_with/containing -> named `pat` arg - get_taxonomy_url `name` -> `term` (old name is deprecated) - %+ date format no longer recognized; replaced with explicit RFC3339 pattern - shortcodes (note/tip/warning/danger/youtube) rewritten as components; content call sites updated to component invocation syntax - {% include %} no longer inherits for-loop-local variables (only ambient page/section context) - post-card.html converted to a component that takes page/index explicitly instead of relying on implicit `page`/`loop` - two content code blocks with literal Jinja-style {{ }} syntax (Netlify CMS config, a Flask template snippet) wrapped in {% raw %} so Tera doesn't try to render them, since content is now templated too - fixed a real content corruption bug along the way: the youtube shortcode's multi-line - +{% component youtube(id: string, page, config, title = "", autoplay = false) %} +
+{% endcomponent youtube %} diff --git a/templates/taxonomy_single.html b/templates/taxonomy_single.html index 2954d35..cb81d13 100644 --- a/templates/taxonomy_single.html +++ b/templates/taxonomy_single.html @@ -32,8 +32,8 @@ term.permalink }}{% endblock og_url %} {% block head %} "@type": "Person", "@id": "{{ config.base_url | safe }}/#author" } - {% if page.date %},"datePublished": "{{ page.date | date(format="%+") }}"{% endif %} - {% if page.updated %},"dateModified": "{{ page.updated | date(format="%+") }}"{% elif page.date %},"dateModified": "{{ page.date | date(format="%+") }}"{% endif %} + {% if page.date %},"datePublished": "{{ page.date | date(format="%Y-%m-%dT%H:%M:%S%:z") }}"{% endif %} + {% if page.updated %},"dateModified": "{{ page.updated | date(format="%Y-%m-%dT%H:%M:%S%:z") }}"{% elif page.date %},"dateModified": "{{ page.date | date(format="%Y-%m-%dT%H:%M:%S%:z") }}"{% endif %} }{% if not loop.last %},{% endif %} {% endfor %} ]