{% extends "base.html" %} {# ---------------------------------------------------------------- #} {# Extra SEO: canonical, Open Graph, Twitter, JSON-LD #} {# ---------------------------------------------------------------- #} {% block extrahead %} {% set has_page = page is defined and page is not none %} {% if has_page %} {% set page_title = page.meta.title or page.title or config.site_name %} {% set page_description = page.meta.description or config.site_description %} {% set page_url = page.canonical_url or config.site_url %} {% set page_src = page.file.src_path or "" %} {% else %} {% set page_title = config.site_name %} {% set page_description = config.site_description %} {% set page_url = config.site_url %} {% set page_src = "" %} {% endif %} {% set og_image = config.site_url ~ "/assets/social-preview.png" %} {# Canonical #} {# Robots — let everything index unless page front-matter says otherwise #} {% if has_page and page.meta.noindex %} {% else %} {% endif %} {# Author & publisher #} {# Keywords (only if explicitly set on a page) #} {% if has_page and page.meta.keywords %} {% endif %} {# Open Graph #} {# Twitter / X #} {# JSON-LD: Organization #} {# JSON-LD: WebSite + SearchAction — gives Google a sitelinks search box #} {# JSON-LD: SoftwareSourceCode (the framework itself) #} {# JSON-LD: per-page schema — pick the doc-flavored type that fits #} {% if has_page %} {% if page.meta.schema %} {% set page_schema = page.meta.schema %} {% elif page_src.startswith("api/") %} {% set page_schema = "APIReference" %} {% elif page_src.startswith("getting-started/") or page_src == "index.md" %} {% set page_schema = "HowTo" %} {% else %} {% set page_schema = "TechArticle" %} {% endif %} {% endif %} {# JSON-LD: FAQPage (only on pages with `faq:` front-matter) #} {% if has_page and page.meta.faq %} {% endif %} {# JSON-LD: BreadcrumbList — built from MkDocs nav ancestors #} {% if has_page and page.ancestors %} {% endif %} {% endblock %}