aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/docs/src/templates/base.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/src/templates/base.html')
-rw-r--r--docs/src/templates/base.html445
1 files changed, 445 insertions, 0 deletions
diff --git a/docs/src/templates/base.html b/docs/src/templates/base.html
new file mode 100644
index 00000000..8323e76e
--- /dev/null
+++ b/docs/src/templates/base.html
@@ -0,0 +1,445 @@
+<!--
+ Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
+-->
+
+{% import "partials/language.html" as lang with context %}
+
+<!doctype html>
+<html lang="{{ lang.t('language') }}" class="no-js">
+ <head>
+
+ <!-- Meta tags -->
+ {% block site_meta %}
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
+
+ <!-- Page description -->
+ {% if page.meta and page.meta.description %}
+ <meta name="description" content="{{ page.meta.description }}" />
+ {% elif config.site_description %}
+ <meta name="description" content="{{ config.site_description }}" />
+ {% endif %}
+
+ <!-- Page author -->
+ {% if page.meta and page.meta.author %}
+ <meta name="author" content="{{ page.meta.author }}" />
+ {% elif config.site_author %}
+ <meta name="author" content="{{ config.site_author }}" />
+ {% endif %}
+
+ <!-- Canonical -->
+ {% if page.canonical_url %}
+ <link rel="canonical" href="{{ page.canonical_url }}" />
+ {% endif %}
+
+ <!-- Previous page -->
+ {% if page.previous_page %}
+ <link rel="prev" href="{{ page.previous_page.url | url }}" />
+ {% endif %}
+
+ <!-- Next page -->
+ {% if page.next_page %}
+ <link rel="next" href="{{ page.next_page.url | url }}" />
+ {% endif %}
+
+ <!-- RSS feed -->
+ {% if "rss" in config.plugins %}
+ <link
+ rel="alternate"
+ type="application/rss+xml"
+ title="{{ lang.t('rss.created') }}"
+ href="{{ 'feed_rss_created.xml' | url }}"
+ />
+ <link
+ rel="alternate"
+ type="application/rss+xml"
+ title="{{ lang.t('rss.updated') }}"
+ href="{{ 'feed_rss_updated.xml' | url }}"
+ />
+ {% endif %}
+
+ <!-- Favicon -->
+ <link rel="icon" href="{{ config.theme.favicon | url }}" />
+
+ <!-- Generator banner -->
+ <meta
+ name="generator"
+ content="mkdocs-{{ mkdocs_version }}, $md-name$-$md-version$"
+ />
+ {% endblock %}
+
+ <!-- Site title -->
+ {% block htmltitle %}
+ {% if page.meta and page.meta.title %}
+ <title>{{ page.meta.title }} - {{ config.site_name }}</title>
+ {% elif page.title and not page.is_homepage %}
+ <title>{{ page.title | striptags }} - {{ config.site_name }}</title>
+ {% else %}
+ <title>{{ config.site_name }}</title>
+ {% endif %}
+ {% endblock %}
+
+ <!-- Theme-related style sheets -->
+ {% block styles %}
+ <link rel="stylesheet" href="{{ 'assets/stylesheets/main.css' | url }}" />
+
+ <!-- Extra color palette -->
+ {% if config.theme.palette %}
+ {% set palette = config.theme.palette %}
+ <link
+ rel="stylesheet"
+ href="{{ 'assets/stylesheets/palette.css' | url }}"
+ />
+ {% endif %}
+
+ <!-- Custom icons -->
+ {% include "partials/icons.html" %}
+ {% endblock %}
+
+ <!-- JavaScript libraries -->
+ {% block libs %}
+ {% for script in config.extra.polyfills %}
+ {{ script | script_tag }}
+ {% endfor %}
+ {% endblock %}
+
+ <!-- Webfonts -->
+ {% block fonts %}
+
+ <!-- Load fonts from Google -->
+ {% if config.theme.font != false %}
+ {% set text = config.theme.font.get("text", "Roboto") %}
+ {% set code = config.theme.font.get("code", "Roboto Mono") %}
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
+ <link
+ rel="stylesheet"
+ href="https://fonts.googleapis.com/css?family={{
+ text | replace(' ', '+') + ':300,300i,400,400i,700,700i%7C' +
+ code | replace(' ', '+') + ':400,400i,700,700i'
+ }}&display=fallback"
+ />
+ <style>
+ :root {
+ --md-text-font: "{{ text }}";
+ --md-code-font: "{{ code }}";
+ }
+ </style>
+ {% endif %}
+ {% endblock %}
+
+ <!-- Custom style sheets -->
+ {% for path in config.extra_css %}
+ <link rel="stylesheet" href="{{ path | url }}" />
+ {% endfor %}
+
+ <!-- Helper functions for inline scripts -->
+ {% include "partials/javascripts/base.html" %}
+
+ <!-- Analytics -->
+ {% block analytics %}
+ {% include "partials/integrations/analytics.html" %}
+ {% endblock %}
+
+ <!-- Meta tags from front matter or plugins -->
+ {% if page.meta and page.meta.meta %}
+ {% for tag in page.meta.meta %}
+ <meta
+ {% for key, value in tag.items() %}
+ {{ key }}="{{value}}"
+ {% endfor %}
+ />
+ {% endfor %}
+ {% endif %}
+
+ <!-- Custom front matter -->
+ {% block extrahead %}{% endblock %}
+ </head>
+
+ <!-- Set text direction and color palette, if defined -->
+ {% set direction = config.theme.direction or lang.t("direction") %}
+ {% if config.theme.palette %}
+ {% set palette = config.theme.palette %}
+ {% if not palette is mapping %}
+ {% set palette = palette | first %}
+ {% endif %}
+ {% set scheme = palette.scheme | d("default", true) %}
+ {% set primary = palette.primary | d("indigo", true) %}
+ {% set accent = palette.accent | d("indigo", true) %}
+ <body
+ dir="{{ direction }}"
+ data-md-color-scheme="{{ scheme | replace(' ', '-') }}"
+ data-md-color-primary="{{ primary | replace(' ', '-') }}"
+ data-md-color-accent="{{ accent | replace(' ', '-') }}"
+ >
+ {% else %}
+ <body dir="{{ direction }}">
+ {% endif %}
+ {% set features = config.theme.features or [] %}
+
+ <!-- User preference: color palette -->
+ {% if not config.theme.palette is mapping %}
+ {% include "partials/javascripts/palette.html" %}
+ {% endif %}
+
+ <!--
+ State toggles - we need to set autocomplete="off" in order to reset the
+ drawer on back button invocation in some browsers
+ -->
+ <input
+ class="md-toggle"
+ data-md-toggle="drawer"
+ type="checkbox"
+ id="__drawer"
+ autocomplete="off"
+ />
+ <input
+ class="md-toggle"
+ data-md-toggle="search"
+ type="checkbox"
+ id="__search"
+ autocomplete="off"
+ />
+
+ <!-- Overlay for expanded drawer -->
+ <label class="md-overlay" for="__drawer"></label>
+
+ <!-- Skip to content -->
+ <div data-md-component="skip">
+ {% if page.toc | first is defined %}
+ {% set skip = page.toc | first %}
+ <a href="{{ skip.url | url }}" class="md-skip">
+ {{ lang.t("action.skip") }}
+ </a>
+ {% endif %}
+ </div>
+
+ <!-- Announcement bar -->
+ <div data-md-component="announce">
+ {% if self.announce() %}
+ <aside class="md-banner">
+ <div class="md-banner__inner md-grid md-typeset">
+
+ <!-- Button to dismiss announcement -->
+ {% if "announce.dismiss" in features %}
+ <button
+ class="md-banner__button md-icon"
+ aria-label="{{ lang.t('announce.dismiss') }}"
+ >
+ {% set icon = config.theme.icon.close or "material/close" %}
+ {% include ".icons/" ~ icon ~ ".svg" %}
+ </button>
+ {% endif %}
+
+ <!-- Announcement bar content -->
+ {% block announce %}{% endblock %}
+ </div>
+ {% if "announce.dismiss" in features %}
+ {% include "partials/javascripts/announce.html" %}
+ {% endif %}
+ </aside>
+ {% endif %}
+ </div>
+
+ <!-- Version warning -->
+ {% if config.extra.version %}
+ <div data-md-color-scheme="default" data-md-component="outdated" hidden>
+ {% if self.outdated() %}
+ <aside class="md-banner md-banner--warning">
+ <div class="md-banner__inner md-grid md-typeset">
+ {% block outdated %}{% endblock %}
+ </div>
+ {% include "partials/javascripts/outdated.html" %}
+ </aside>
+ {% endif %}
+ </div>
+ {% endif %}
+
+ <!-- Header -->
+ {% block header %}
+ {% include "partials/header.html" %}
+ {% endblock %}
+
+ <!-- Container -->
+ <div class="md-container" data-md-component="container">
+
+ <!-- Hero teaser -->
+ {% block hero %}{% endblock %}
+
+ <!-- Navigation tabs (collapsing) -->
+ {% block tabs %}
+ {% if "navigation.tabs.sticky" not in features %}
+ {% if "navigation.tabs" in features %}
+ {% include "partials/tabs.html" %}
+ {% endif %}
+ {% endif %}
+ {% endblock %}
+
+ <!-- Main area -->
+ <main class="md-main" data-md-component="main">
+ <div class="md-main__inner md-grid">
+
+ <!-- Sidebars -->
+ {% block site_nav %}
+
+ <!-- Navigation -->
+ {% if nav %}
+ {% if page.meta and page.meta.hide %}
+ {% set hidden = "hidden" if "navigation" in page.meta.hide %}
+ {% endif %}
+ <div
+ class="md-sidebar md-sidebar--primary"
+ data-md-component="sidebar"
+ data-md-type="navigation"
+ {{ hidden }}
+ >
+ <div class="md-sidebar__scrollwrap">
+ <div class="md-sidebar__inner">
+ {% include "partials/nav.html" %}
+ </div>
+ </div>
+ </div>
+ {% endif %}
+
+ <!-- Table of contents -->
+ {% if "toc.integrate" not in features %}
+ {% if page.meta and page.meta.hide %}
+ {% set hidden = "hidden" if "toc" in page.meta.hide %}
+ {% endif %}
+ <div
+ class="md-sidebar md-sidebar--secondary"
+ data-md-component="sidebar"
+ data-md-type="toc"
+ {{ hidden }}
+ >
+ <div class="md-sidebar__scrollwrap">
+ <div class="md-sidebar__inner">
+ {% include "partials/toc.html" %}
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% endblock %}
+
+ <!-- Page content -->
+ {% block container %}
+ <div class="md-content" data-md-component="content">
+ <article class="md-content__inner md-typeset">
+ {% block content %}
+ {% include "partials/content.html" %}
+ {% endblock %}
+ </article>
+ </div>
+ {% endblock %}
+
+ <!-- User preference: content -->
+ {% include "partials/javascripts/content.html" %}
+ </div>
+
+ <!-- Back-to-top button -->
+ {% if "navigation.top" in features %}
+ {% include "partials/top.html" %}
+ {% endif %}
+ </main>
+
+ <!-- Footer -->
+ {% block footer %}
+ {% include "partials/footer.html" %}
+ {% endblock %}
+ </div>
+
+ <!-- Dialog -->
+ <div class="md-dialog" data-md-component="dialog">
+ <div class="md-dialog__inner md-typeset"></div>
+ </div>
+
+ <!-- Progress indicator -->
+ {% if "navigation.instant.progress" in features %}
+ {% include "partials/progress.html" %}
+ {% endif %}
+
+ <!-- Consent -->
+ {% if config.extra.consent %}
+ <div class="md-consent" data-md-component="consent" id="__consent" hidden>
+ <div class="md-consent__overlay"></div>
+ <aside class="md-consent__inner">
+ <form class="md-consent__form md-grid md-typeset" name="consent">
+ {% include "partials/consent.html" %}
+ </form>
+ </aside>
+ </div>
+
+ <!-- User preference: consent -->
+ {% include "partials/javascripts/consent.html" %}
+ {% endif %}
+
+ <!-- Theme-related configuration -->
+ {% block config %}
+ {%- set app = {
+ "base": base_url,
+ "features": features,
+ "translations": {},
+ "search": "assets/javascripts/workers/search.js" | url
+ } -%}
+
+ <!-- Versioning -->
+ {%- if config.extra.version -%}
+ {%- set _ = app.update({ "version": config.extra.version }) -%}
+ {%- endif -%}
+
+ <!-- Tags -->
+ {%- if config.extra.tags -%}
+ {%- set _ = app.update({ "tags": config.extra.tags }) -%}
+ {%- endif -%}
+
+ <!-- Translations -->
+ {%- set translations = app.translations -%}
+ {%- for key in [
+ "clipboard.copy",
+ "clipboard.copied",
+ "search.result.placeholder",
+ "search.result.none",
+ "search.result.one",
+ "search.result.other",
+ "search.result.more.one",
+ "search.result.more.other",
+ "search.result.term.missing",
+ "select.version"
+ ] -%}
+ {%- set _ = translations.update({ key: lang.t(key) }) -%}
+ {%- endfor -%}
+
+ <!-- Configuration -->
+ <script id="__config" type="application/json">
+ {{- app | tojson -}}
+ </script>
+ {% endblock %}
+
+ <!-- Theme-related JavaScript -->
+ {% block scripts %}
+ <script src="{{ 'assets/javascripts/bundle.js' | url }}"></script>
+
+ <!-- Custom JavaScript -->
+ {% for script in config.extra_javascript %}
+ {{ script | script_tag }}
+ {% endfor %}
+ {% endblock %}
+ </body>
+</html>