~ajhalili2006's personal website, built with Zensical (successor of Material for Mkdocs) [old repo name got bugged while attempting to do manual knot migration via repo deletion] andreijiroh.dev
zensical mkdocs-material website
1{% import "partials/language.html" as lang with context %} 2<!doctype html> 3<html lang="{{ lang.t('language') }}" class="no-js"> 4 <head> 5 {% block site_meta %} 6 <meta charset="utf-8"> 7 <meta name="viewport" content="width=device-width,initial-scale=1"> 8 {% if page.meta and page.meta.description %} 9 <meta name="description" content="{{ page.meta.description }}"> 10 {% elif config.site_description %} 11 <meta name="description" content="{{ config.site_description }}"> 12 {% endif %} 13 {% if page.meta and page.meta.author %} 14 <meta name="author" content="{{ page.meta.author }}"> 15 {% elif config.site_author %} 16 <meta name="author" content="{{ config.site_author }}"> 17 {% endif %} 18 {% if page.canonical_url %} 19 <link rel="canonical" href="{{ page.canonical_url }}"> 20 {% endif %} 21 {% if page.previous_page %} 22 <link rel="prev" href="{{ page.previous_page.url | url }}"> 23 {% endif %} 24 {% if page.next_page %} 25 <link rel="next" href="{{ page.next_page.url | url }}"> 26 {% endif %} 27 {% if "rss" in config.plugins %} 28 <link rel="alternate" type="application/rss+xml" title="{{ lang.t('rss.created') }}" href="{{ 'feed_rss_created.xml' | url }}"> 29 <link rel="alternate" type="application/rss+xml" title="{{ lang.t('rss.updated') }}" href="{{ 'feed_rss_updated.xml' | url }}"> 30 {% endif %} 31 <link rel="icon" href="{{ config.theme.favicon | url }}"> 32 <meta name="generator" content="mkdocs-{{ mkdocs_version }}, mkdocs-material-9.6.4"> 33 {% endblock %} 34 {% block htmltitle %} 35 {% if page.meta and page.meta.title %} 36 <title>{{ page.meta.title }} - {{ config.site_name }}</title> 37 {% elif page.title and not page.is_homepage %} 38 <title>{{ page.title | striptags }} - {{ config.site_name }}</title> 39 {% else %} 40 <title>{{ config.site_name }}</title> 41 {% endif %} 42 {% endblock %} 43 {% block styles %} 44 <link rel="stylesheet" href="{{ 'assets/stylesheets/main.342714a4.min.css' | url }}"> 45 {% if config.theme.palette %} 46 {% set palette = config.theme.palette %} 47 <link rel="stylesheet" href="{{ 'assets/stylesheets/palette.06af60db.min.css' | url }}"> 48 {% endif %} 49 {% include "partials/icons.html" %} 50 {% endblock %} 51 {% block libs %} 52 {% for script in config.extra.polyfills %} 53 {{ script | script_tag }} 54 {% endfor %} 55 {% endblock %} 56 {% block fonts %} 57 {% if config.theme.font != false %} 58 {% set text = config.theme.font.get("text", "Roboto") %} 59 {% set code = config.theme.font.get("code", "Roboto Mono") %} 60 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 61 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family={{ 62 text | replace(' ', '+') + ':300,300i,400,400i,700,700i%7C' + 63 code | replace(' ', '+') + ':400,400i,700,700i' 64 }}&display=fallback"> 65 <style>:root{--md-text-font:"{{ text }}";--md-code-font:"{{ code }}"}</style> 66 {% endif %} 67 {% endblock %} 68 {% for path in config.extra_css %} 69 <link rel="stylesheet" href="{{ path | url }}"> 70 {% endfor %} 71 {% include "partials/javascripts/base.html" %} 72 {% block analytics %} 73 {% include "partials/integrations/analytics.html" %} 74 {% endblock %} 75 {% if page.meta and page.meta.meta %} 76 {% for tag in page.meta.meta %} 77 <meta {% for key, value in tag.items() %} {{ key }}="{{value}}" {% endfor %}> 78 {% endfor %} 79 {% endif %} 80 {% block extrahead %}{% endblock %} 81 </head> 82 {% set direction = config.theme.direction or lang.t("direction") %} 83 {% if config.theme.palette %} 84 {% set palette = config.theme.palette %} 85 {% if not palette is mapping %} 86 {% set palette = palette | first %} 87 {% endif %} 88 {% set scheme = palette.scheme | d("default", true) %} 89 {% set primary = palette.primary | d("indigo", true) %} 90 {% set accent = palette.accent | d("indigo", true) %} 91 <body dir="{{ direction }}" data-md-color-scheme="{{ scheme | replace(' ', '-') }}" data-md-color-primary="{{ primary | replace(' ', '-') }}" data-md-color-accent="{{ accent | replace(' ', '-') }}"> 92 {% else %} 93 <body dir="{{ direction }}"> 94 {% endif %} 95 {% set features = config.theme.features or [] %} 96 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> 97 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> 98 <label class="md-overlay" for="__drawer"></label> 99 <div data-md-component="skip"> 100 {% if page.toc | first is defined %} 101 {% set skip = page.toc | first %} 102 <a href="{{ skip.url | url }}" class="md-skip"> 103 {{ lang.t("action.skip") }} 104 </a> 105 {% endif %} 106 </div> 107 <div data-md-component="announce"> 108 {% if self.announce() %} 109 <aside class="md-banner"> 110 <div class="md-banner__inner md-grid md-typeset"> 111 {% if "announce.dismiss" in features %} 112 <button class="md-banner__button md-icon" aria-label="{{ lang.t('announce.dismiss') }}"> 113 {% set icon = config.theme.icon.close or "material/close" %} 114 {% include ".icons/" ~ icon ~ ".svg" %} 115 </button> 116 {% endif %} 117 {% block announce %}{% endblock %} 118 </div> 119 {% if "announce.dismiss" in features %} 120 {% include "partials/javascripts/announce.html" %} 121 {% endif %} 122 </aside> 123 {% endif %} 124 </div> 125 {% if config.extra.version %} 126 <div data-md-color-scheme="default" data-md-component="outdated" hidden> 127 {% if self.outdated() %} 128 <aside class="md-banner md-banner--warning"> 129 <div class="md-banner__inner md-grid md-typeset"> 130 {% block outdated %}{% endblock %} 131 </div> 132 {% include "partials/javascripts/outdated.html" %} 133 </aside> 134 {% endif %} 135 </div> 136 {% endif %} 137 {% block header %} 138 {% include "partials/header.html" %} 139 {% endblock %} 140 <div class="md-container" data-md-component="container"> 141 {% block hero %}{% endblock %} 142 {% block tabs %} 143 {% if "navigation.tabs.sticky" not in features %} 144 {% if "navigation.tabs" in features %} 145 {% include "partials/tabs.html" %} 146 {% endif %} 147 {% endif %} 148 {% endblock %} 149 <main class="md-main" data-md-component="main"> 150 <div class="md-main__inner md-grid"> 151 {% block site_nav %} 152 {% if nav %} 153 {% if page.meta and page.meta.hide %} 154 {% set hidden = "hidden" if "navigation" in page.meta.hide %} 155 {% endif %} 156 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" {{ hidden }}> 157 <div class="md-sidebar__scrollwrap"> 158 <div class="md-sidebar__inner"> 159 {% include "partials/nav.html" %} 160 </div> 161 </div> 162 </div> 163 {% endif %} 164 {% if "toc.integrate" not in features %} 165 {% if page.meta and page.meta.hide %} 166 {% set hidden = "hidden" if "toc" in page.meta.hide %} 167 {% endif %} 168 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" {{ hidden }}> 169 <div class="md-sidebar__scrollwrap"> 170 <div class="md-sidebar__inner"> 171 {% include "partials/toc.html" %} 172 </div> 173 </div> 174 </div> 175 {% endif %} 176 {% endblock %} 177 {% block container %} 178 <div class="md-content" data-md-component="content"> 179 <article class="md-content__inner md-typeset"> 180 {% block content %} 181 {% include "partials/content.html" %} 182 {% endblock %} 183 </article> 184 </div> 185 {% endblock %} 186 {% include "partials/javascripts/content.html" %} 187 </div> 188 {% if "navigation.top" in features %} 189 {% include "partials/top.html" %} 190 {% endif %} 191 </main> 192 {% block footer %} 193 {% include "partials/footer.html" %} 194 {% endblock %} 195 </div> 196 <div class="md-dialog" data-md-component="dialog"> 197 <div class="md-dialog__inner md-typeset"></div> 198 </div> 199 {% if "navigation.instant.progress" in features %} 200 {% include "partials/progress.html" %} 201 {% endif %} 202 {% if config.extra.consent %} 203 <div class="md-consent" data-md-component="consent" id="__consent" hidden> 204 <div class="md-consent__overlay"></div> 205 <aside class="md-consent__inner"> 206 <form class="md-consent__form md-grid md-typeset" name="consent"> 207 {% include "partials/consent.html" %} 208 </form> 209 </aside> 210 </div> 211 {% include "partials/javascripts/consent.html" %} 212 {% endif %} 213 {% block config %} 214 {%- set app = { 215 "base": base_url, 216 "features": features, 217 "translations": {}, 218 "search": "assets/javascripts/workers/search.f8cc74c7.min.js" | url 219 } -%} 220 {%- if config.extra.version -%} 221 {%- set mike = config.plugins.get("mike") -%} 222 {%- if not mike or mike.config.version_selector -%} 223 {%- set _ = app.update({ "version": config.extra.version }) -%} 224 {%- endif -%} 225 {%- endif -%} 226 {%- if config.extra.tags -%} 227 {%- set _ = app.update({ "tags": config.extra.tags }) -%} 228 {%- endif -%} 229 {%- set translations = app.translations -%} 230 {%- for key in [ 231 "clipboard.copy", 232 "clipboard.copied", 233 "search.result.placeholder", 234 "search.result.none", 235 "search.result.one", 236 "search.result.other", 237 "search.result.more.one", 238 "search.result.more.other", 239 "search.result.term.missing", 240 "select.version" 241 ] -%} 242 {%- set _ = translations.update({ key: lang.t(key) }) -%} 243 {%- endfor -%} 244 <script id="__config" type="application/json"> 245 {{- app | tojson -}} 246 </script> 247 {% endblock %} 248 {% block scripts %} 249 <script src="{{ 'assets/javascripts/bundle.f1b6f286.min.js' | url }}"></script> 250 {% for script in config.extra_javascript %} 251 {{ script | script_tag }} 252 {% endfor %} 253 {% endblock %} 254 </body> 255</html>