{% block title %}{{ (page.title if page is defined and page and page.title is defined else site.config.title)
}}{% if page is defined and page and page.title is defined %} - {{ site.config.title }}{% endif %}{% endblock %}
{# Meta description - automatically pre-computed by renderer (page.meta_description cached_property) #}
{% set meta_desc = meta_desc | default(site.config.get('description'), '') %}
{# Meta Description - Auto-generate if not provided #}
{# Meta Keywords - use page.keywords or fallback to tags #}
{% if page and page.keywords is defined and page.keywords %}
{% elif page and page.tags is defined and page.tags %}
{% endif %}
{# Open Graph / Facebook #}
{% if meta_desc %}
{% endif %}
{% if site.config.baseurl %}
{% endif %}
{# Open Graph Image #}
{% if page and page.metadata is defined and page.metadata.get('image') %}
{% elif site.config.get('og_image') %}
{% endif %}
{# Twitter Card #}
{% if meta_desc %}
{% endif %}
{% if page and page.metadata is defined and page.metadata.get('image') %}
{% elif site.config.get('og_image') %}
{% endif %}
{# Bengal config meta for JS to read without template tags inside scripts #}
{# Canonical URL #}
{% if site.config.baseurl %}
{% endif %}
{# RSS Feed (locale-aware when i18n prefix strategy is enabled) #}
{% set _lang = current_lang() %}
{% set _i18n = site.config.get('i18n', {}) %}
{% set _rss_href = '/rss.xml' %}
{% if _i18n and _i18n.get('strategy') == 'prefix' %}
{% set _default_lang = _i18n.get('default_language', 'en') %}
{% set _default_in_subdir = _i18n.get('default_in_subdir', False) %}
{% if _lang and (_default_in_subdir or _lang != _default_lang) %}
{% set _rss_href = '/' ~ _lang ~ '/rss.xml' %}
{% endif %}
{% endif %}
{# hreflang alternates for translated pages #}
{% for alt in alternate_links(page) %}
{% endfor %}
{# Favicon #}
{% set favicon_path = site.config.get('site', {}).get('favicon') %}
{% if favicon_path %}
{% else %}
{% endif %}
{# Stylesheets #}
{# Theme configuration defaults from bengal.toml #}
{# Theme & Palette initialization (prevent flash) #}
{% block extra_head %}{% endblock %}
{# Generator and build meta #}
{% include 'partials/meta-generator.html' %}
{# Optional JSON bootstrap for client-side scripts #}
{% if config.get('expose_metadata_json') %}
{% endif %}
{# Skip to main content for accessibility #}
Skip to main content
{# Header #}
{# Mobile Navigation #}
{# Main Content #}
{% block content %}{% endblock %}
{# Footer #}
{# JavaScript #}
{# Tabulator for data tables #}
{# Lunr.js for search (local copy avoids CDN integrity issues) #}
{# Smart search index preloading #}
{% block extra_js %}{% endblock %}
{# Dev-only live reload include (Phase 3) #}
{% if site.config.get('dev_server') %}
{% include 'partials/dev-reload.html' %}
{% endif %}