{# The title block is rendered ONCE into page_title (a set-block capture,
verified to honour child overrides and super() on this Jinja version),
so
and og:title always agree without re-rendering the block.
The description cascades from the page (meta_description, with the
older page_description spelling kept working) to the product's tagline,
and is omitted entirely when neither provides one. #}
{% set page_title %}{% block title %}{{ site.name }}{% endblock %}{% endset %}
{% set meta_desc = meta_description | default(page_description, true) | default(site.tagline, true) %}
{{ page_title | trim }}
{% if meta_desc %}{% endif %}
{% if meta_desc %}{% endif %}
{% if site.locale %}{% endif %}
{# og:image only when the product actually ships static/og.png; the theme
never fabricates one. Crawlers need an absolute URL. #}
{% if site.og_image %}
{% else %}
{% endif %}
{% if theme_tokens and theme_tokens.font_url %}
{% endif %}
{# Feature stylesheets, declared via register_asset(); emitted in a
deterministic, deduplicated order (theme base ~0, features ~100, skins ~200). #}
{% for href in get_assets('css') %}
{% endfor %}
{% block head %}{% endblock %}
{% for hook in get_template_hooks("layout.head") %}{{ hook() | safe }}{% endfor %}
{% for hook in get_template_hooks("layout.body_start") %}{{ hook() | safe }}{% endfor %}
{# Any page can hand the shell a trail of {label, url} entries as
`breadcrumb`; that explicit trail always wins. Every other page gets
a trail derived from the URL and its title, governed by the
site_breadcrumbs appearance setting (deep / all / off) — and no
markup at all when the mode hides it. See blocks/breadcrumb.html and
the module docstrings of hooks.py and breadcrumbs.py. #}
{%- if breadcrumb %}{{ render_block('breadcrumb', breadcrumb=breadcrumb) }}
{%- else %}
{%- set auto_trail = auto_breadcrumb(page_title | trim, setting('site_breadcrumbs', config.get('SITE_BREADCRUMBS', 'deep'))) %}
{%- if auto_trail %}{{ render_block('breadcrumb', breadcrumb=auto_trail) }}{% endif %}
{%- endif %}
{% for hook in get_template_hooks("layout.hero") %}{{ hook() | safe }}{% endfor %}
{% block hero %}{% endblock %}
{% block content %}{% endblock %}
{# Feature scripts, declared via register_asset(); deferred, deduped, ordered. #}
{% for href in get_assets('js') %}
{% endfor %}
{% for hook in get_template_hooks("layout.scripts") %}{{ hook() | safe }}{% endfor %}
{% block scripts %}{% endblock %}