{#- Injects SEO tags (title suffix, description, keywords, Open Graph and per-page JSON-LD TechArticle + BreadcrumbList) into the of every doc page rendered by Furo. The landing page at `/` uses a separate standalone template (``_templates/index.html`` via ``html_additional_pages``) and is unaffected. The search and index pages have no page title: they set their own short and get neither og:title nor JSON-LD. The texts and the preview image come from ``html_context`` in conf.py. A page replaces the default description with a ``:description:`` field at the very top of its source (file-wide metadata, ``meta`` here). `pageurl` is populated by Sphinx only when `html_baseurl` is set in conf.py — the ``{% if pageurl %}`` guard keeps dev builds without a base URL safe. IDs ``#website``/``#software``/``#org`` reference the graph nodes defined in the landing-page JSON-LD, linking this page into the same semantic graph. -#} {% extends "!page.html" %} {#- Furo's title (base.html) with the tagline appended -#} {% block htmltitle %} {%- if not docstitle %} <title>{{ title|striptags|e }} - {{ seo_title_suffix|e }} {%- elif pagename == master_doc %} {{ docstitle|striptags|e }} - {{ seo_title_suffix|e }} {%- else %} {{ title|striptags|e }} - {{ docstitle|striptags|e }} - {{ seo_title_suffix|e }} {%- endif %} {% endblock %} {% block site_meta %} {{ super() }} {#- striptags joins the lines of a wrapped ``:description:`` field -#} {%- set description = (meta.description if meta and meta.description else seo_description)|striptags %} {%- if title %} {%- endif %} {%- if pageurl %} {%- endif %} {% endblock %} {% block extrahead %} {{ super() }} {%- if pageurl and title %} {%- endif %} {% endblock %}