{% extends "base.html" %}
{#-
Open Graph / Twitter card overrides.
Zensical's social-cards plugin is still a stub as of mid-2026, so we emit the
tags ourselves. Per-page title/description fall back to the site defaults when
page-level metadata is absent. The og:image is only emitted once a brand asset
exists at docs/assets/hero.png — drop the file in and it lights up; until then
no broken image reference is published.
-#}
{% block extrahead %}
{% set is_home = page.is_homepage or page.url == '' or page.url == '/' %}
{% set raw_title = (page.meta and page.meta.title) or page.title %}
{% set page_title = is_home and config.site_name or (raw_title ~ ' | ' ~ config.site_name) %}
{% set page_desc = (page.meta and page.meta.description) or config.site_description %}
{% set page_url = page.canonical_url or config.site_url %}
{% endblock %}