layout.html (9803B)
1 {#- 2 This file was automatically generated - do not edit 3 -#} 4 {% import "partials/language.html" as lang with context %} 5 <!doctype html> 6 <html lang="{{ lang.t('language') }}" class="no-js"> 7 <head> 8 {% block site_meta %} 9 <meta charset="utf-8"> 10 <meta name="viewport" content="width=device-width,initial-scale=1"> 11 {% if page.meta and page.meta.description %} 12 <meta name="description" content="{{ page.meta.description }}"> 13 {% elif config.site_description %} 14 <meta name="description" content="{{ config.site_description }}"> 15 {% endif %} 16 {% if page.meta and page.meta.author %} 17 <meta name="author" content="{{ page.meta.author }}"> 18 {% elif config.site_author %} 19 <meta name="author" content="{{ config.site_author }}"> 20 {% endif %} 21 {% if page.canonical_url %} 22 <link rel="canonical" href="{{ page.canonical_url }}"> 23 {% endif %} 24 <link rel="icon" href="{{ favicon_url }}"> 25 {% endblock %} 26 {% block htmltitle %} 27 {% if page.meta and page.meta.title %} 28 <title>{{ page.meta.title }} - {{ config.site_name }}</title> 29 {% elif page.title and not page.is_homepage %} 30 <title>{{ page.title | striptags }} - {{ config.site_name }}</title> 31 {% else %} 32 <title>{{ config.site_name }}</title> 33 {% endif %} 34 {% endblock %} 35 {% block styles %} 36 {% if config.theme.palette %} 37 {% set palette = config.theme.palette %} 38 {% if palette.primary %} 39 {% import "partials/palette.html" as map %} 40 {% set primary = map.primary( 41 palette.primary | replace(" ", "-") | lower 42 ) %} 43 <meta name="theme-color" content="{{ primary }}"> 44 {% endif %} 45 {% endif %} 46 {% include "partials/icons.html" %} 47 {% endblock %} 48 {% block libs %}{% endblock %} 49 {% block fonts %} 50 {% if config.theme.font != false %} 51 {% set text = config.theme.font.text | d("Roboto", true) %} 52 {% set code = config.theme.font.code | d("Roboto Mono", true) %} 53 <style>:root{--md-text-font:"{{ text }}";--md-code-font:"{{ code }}"}</style> 54 {% endif %} 55 {% endblock %} 56 {%- for css in css_files %} 57 {%- if css|attr("filename") %} 58 {{ css_tag(css) }} 59 {%- else %} 60 <link rel="stylesheet" href="{{ pathto(css, 1)|e }}"> 61 {%- endif %} 62 {%- endfor %} 63 {% include "partials/javascripts/base.html" %} 64 {% block analytics %} 65 {% include "partials/integrations/analytics.html" %} 66 {% endblock %} 67 {% if page.meta and page.meta.meta %} 68 {% for tag in page.meta.meta %} 69 <meta {% for key, value in tag.items() %} {{ key }}="{{value}}" {% endfor %}> 70 {% endfor %} 71 {% endif %} 72 {% block extrahead %}{% endblock %} 73 </head> 74 {% set direction = config.theme.direction or lang.t('direction') %} 75 {% if config.theme.palette %} 76 {% set palette = config.theme.palette %} 77 {% if not palette is mapping %} 78 {% set palette = palette | first %} 79 {% endif %} 80 {% set scheme = palette.scheme | replace(" ", "-") | lower %} 81 {% set primary = palette.primary | replace(" ", "-") | lower %} 82 {% set accent = palette.accent | replace(" ", "-") | lower %} 83 <body dir="{{ direction }}" data-md-color-scheme="{{ scheme }}" data-md-color-primary="{{ primary }}" data-md-color-accent="{{ accent }}"> 84 {% else %} 85 <body dir="{{ direction }}"> 86 {% endif %} 87 {% set features = config.theme.features or [] %} 88 {% if not config.theme.palette is mapping %} 89 {% include "partials/javascripts/palette.html" %} 90 {% endif %} 91 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> 92 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> 93 <label class="md-overlay" for="__drawer"></label> 94 <div data-md-component="skip"> 95 {% if page.toc | first is defined %} 96 {% set skip = page.toc | first %} 97 <a href="{{ skip.url | url }}" class="md-skip"> 98 {{ lang.t('skip.link.title') }} 99 </a> 100 {% endif %} 101 </div> 102 <div data-md-component="announce"> 103 {% if self.announce() %} 104 <aside class="md-banner"> 105 <div class="md-banner__inner md-grid md-typeset"> 106 {% if "announce.dismiss" in features %} 107 <button class="md-banner__button md-icon" aria-label="{{ lang.t('announce.dismiss') }}"> 108 {% include ".icons/material/close.svg" %} 109 </button> 110 {% endif %} 111 {% block announce %}{% endblock %} 112 </div> 113 {% if "announce.dismiss" in features %} 114 {% include "partials/javascripts/announce.html" %} 115 {% endif %} 116 </aside> 117 {% endif %} 118 </div> 119 {% if config.extra.version %} 120 <div data-md-component="outdated" hidden> 121 {% if self.outdated() %} 122 <aside class="md-banner md-banner--warning"> 123 <div class="md-banner__inner md-grid md-typeset"> 124 {% block outdated %}{% endblock %} 125 </div> 126 {% include "partials/javascripts/outdated.html" %} 127 </aside> 128 {% endif %} 129 </div> 130 {% endif %} 131 {% block header %} 132 {% include "partials/header.html" %} 133 {% endblock %} 134 <div class="md-container" data-md-component="container"> 135 {% block hero %} 136 {% include "partials/hero.html" %} 137 {% endblock %} 138 {% block tabs %} 139 {% if not "navigation.tabs.sticky" in features %} 140 {% if "navigation.tabs" in features %} 141 {% include "partials/tabs.html" %} 142 {% endif %} 143 {% endif %} 144 {% endblock %} 145 <main class="md-main" data-md-component="main"> 146 <div class="md-main__inner md-grid"> 147 {% block site_nav %} 148 {% if nav %} 149 {% if page.meta and page.meta.hide %} 150 {% set hidden = "hidden" if "navigation" in page.meta.hide %} 151 {% endif %} 152 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" {{ hidden }}> 153 <div class="md-sidebar__scrollwrap"> 154 <div class="md-sidebar__inner"> 155 {% include "nav.html" %} 156 </div> 157 </div> 158 </div> 159 {% endif %} 160 {% if not "toc.integrate" in features %} 161 {% if page.meta and page.meta.hide %} 162 {% set hidden = "hidden" if "toc" in page.meta.hide %} 163 {% endif %} 164 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" {{ hidden }}> 165 <div class="md-sidebar__scrollwrap"> 166 <div class="md-sidebar__inner"> 167 {% include "partials/toc.html" %} 168 </div> 169 </div> 170 </div> 171 {% endif %} 172 {% endblock %} 173 {% block container %} 174 <div class="md-content" data-md-component="content"> 175 <article class="md-content__inner md-typeset" role="main"> 176 {%- if False %}{% block body %}{% endblock body %}{% endif %} 177 {%- set sphinx_rendered_body = self.body() -%} 178 {% block content %} 179 {% include "partials/content.html" %} 180 {% endblock %} 181 </article> 182 </div> 183 {% endblock %} 184 {% include "partials/javascripts/content.html" %} 185 </div> 186 {% if "navigation.top" in features %} 187 <a href="#" class="md-top md-icon" data-md-component="top" hidden> 188 {% include ".icons/material/arrow-up.svg" %} 189 {{ lang.t('top.title') }} 190 </a> 191 {% endif %} 192 </main> 193 {% block footer %} 194 {% include "partials/footer.html" %} 195 {% endblock %} 196 </div> 197 <div class="md-dialog" data-md-component="dialog"> 198 <div class="md-dialog__inner md-typeset"></div> 199 </div> 200 {% if config.extra.consent %} 201 <div class="md-consent" data-md-component="consent" id="__consent" hidden> 202 <div class="md-consent__overlay"></div> 203 <aside class="md-consent__inner"> 204 <form class="md-consent__form md-grid md-typeset" name="consent"> 205 {% include "partials/consent.html" %} 206 </form> 207 </aside> 208 </div> 209 {% include "partials/javascripts/consent.html" %} 210 {% endif %} 211 {% block config %} 212 {%- set app = { 213 "base": base_url, 214 "features": features, 215 "translations": {}, 216 } -%} 217 {%- if config.extra.version -%} 218 {%- set _ = app.update({ "version": config.extra.version }) -%} 219 {%- endif -%} 220 {%- if config.extra.tags -%} 221 {%- set _ = app.update({ "tags": config.extra.tags }) -%} 222 {%- endif -%} 223 {%- set translations = app.translations -%} 224 {%- for key in [ 225 "clipboard.copy", 226 "clipboard.copied", 227 "search.config.lang", 228 "search.config.pipeline", 229 "search.config.separator", 230 "search.placeholder", 231 "search.result.placeholder", 232 "search.result.none", 233 "search.result.one", 234 "search.result.other", 235 "search.result.more.one", 236 "search.result.more.other", 237 "search.result.term.missing", 238 "select.version.title" 239 ] -%} 240 {%- set _ = translations.update({ key: lang.t(key) }) -%} 241 {%- endfor -%} 242 <script id="__config" type="application/json"> 243 {{- app | tojson -}} 244 </script> 245 {% block scripts %} 246 {%- for js in script_files %} 247 {{ js_tag(js) }} 248 {%- endfor %} 249 {% endblock %} 250 {% endblock %} 251 </body> 252 </html>