2016-08-07 19:01:56 +03:00
|
|
|
<!--
|
2020-02-10 14:34:58 +03:00
|
|
|
Copyright (c) 2016-2020 Martin Donath <martin.donath@squidfunk.com>
|
2016-08-07 19:01:56 +03:00
|
|
|
|
|
|
|
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.
|
|
|
|
-->
|
|
|
|
|
2019-06-15 16:16:14 +03:00
|
|
|
{% import "partials/language.html" as lang with context %}
|
2017-01-06 21:18:17 +03:00
|
|
|
|
2017-10-31 19:03:42 +03:00
|
|
|
<!-- Theme options -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% set palette = config.theme.palette %}
|
2020-09-04 00:21:17 +03:00
|
|
|
{% if not palette is mapping %}
|
|
|
|
{% set palette = palette | first %}
|
|
|
|
{% endif %}
|
2019-06-15 16:16:14 +03:00
|
|
|
{% set font = config.theme.font %}
|
2017-10-31 19:03:42 +03:00
|
|
|
|
2018-12-20 14:14:03 +03:00
|
|
|
<!doctype html>
|
2017-04-22 15:51:41 +03:00
|
|
|
<html lang="{{ lang.t('language') }}" class="no-js">
|
2016-01-29 01:27:15 +03:00
|
|
|
<head>
|
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Metatags -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block site_meta %}
|
2016-12-15 18:43:40 +03:00
|
|
|
<meta charset="utf-8" />
|
2020-01-30 22:47:34 +03:00
|
|
|
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
2016-12-15 18:43:40 +03:00
|
|
|
|
2017-03-11 16:07:07 +03:00
|
|
|
<!-- Page description -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% if page and page.meta and page.meta.description %}
|
2019-11-26 12:03:53 +03:00
|
|
|
<meta name="description" content="{{ page.meta.description }}" />
|
2019-06-15 16:16:14 +03:00
|
|
|
{% elif config.site_description %}
|
2016-12-15 18:43:40 +03:00
|
|
|
<meta name="description" content="{{ config.site_description }}" />
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
2016-12-15 18:43:40 +03:00
|
|
|
|
2018-12-28 17:09:11 +03:00
|
|
|
<!-- Redirect -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% if page and page.meta and page.meta.redirect %}
|
2018-12-28 17:09:11 +03:00
|
|
|
<script>
|
|
|
|
var anchor = window.location.hash.substr(1)
|
|
|
|
location.href = '{{ page.meta.redirect }}' +
|
|
|
|
(anchor ? '#' + anchor : '')
|
|
|
|
</script>
|
|
|
|
|
2019-11-26 12:36:04 +03:00
|
|
|
<!-- Fallback in case JavaScript is not available -->
|
2018-12-28 17:09:11 +03:00
|
|
|
<meta http-equiv="refresh" content="0; url={{ page.meta.redirect }}" />
|
|
|
|
<meta name="robots" content="noindex" />
|
|
|
|
<link rel="canonical" href="{{ page.meta.redirect }}" />
|
|
|
|
|
2016-12-15 18:43:40 +03:00
|
|
|
<!-- Canonical -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% elif page.canonical_url %}
|
2016-12-15 18:43:40 +03:00
|
|
|
<link rel="canonical" href="{{ page.canonical_url }}" />
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
2016-12-15 18:43:40 +03:00
|
|
|
|
2017-03-11 16:07:07 +03:00
|
|
|
<!-- Page author -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% if page and page.meta and page.meta.author %}
|
2019-12-23 21:54:01 +03:00
|
|
|
<meta name="author" content="{{ page.meta.author }}" />
|
2019-06-15 16:16:14 +03:00
|
|
|
{% elif config.site_author %}
|
2016-12-15 18:43:40 +03:00
|
|
|
<meta name="author" content="{{ config.site_author }}" />
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
2016-12-15 18:43:40 +03:00
|
|
|
|
|
|
|
<!-- Favicon -->
|
2020-03-17 18:43:49 +03:00
|
|
|
<link rel="shortcut icon" href="{{ config.theme.favicon | url }}" />
|
2016-12-15 18:43:40 +03:00
|
|
|
|
|
|
|
<!-- Generator banner -->
|
2019-11-26 12:03:53 +03:00
|
|
|
<meta
|
|
|
|
name="generator"
|
|
|
|
content="mkdocs-{{ mkdocs_version }}, $md-name$-$md-version$"
|
|
|
|
/>
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endblock %}
|
2016-12-15 18:43:40 +03:00
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Site title -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block htmltitle %}
|
|
|
|
{% if page and page.meta and page.meta.title %}
|
2020-07-27 18:52:38 +03:00
|
|
|
<title>{{ page.meta.title }} - {{ config.site_name }}</title>
|
2019-06-15 16:16:14 +03:00
|
|
|
{% elif page and page.title and not page.is_homepage %}
|
2019-08-23 12:02:28 +03:00
|
|
|
<title>{{ page.title | striptags }} - {{ config.site_name }}</title>
|
2019-06-15 16:16:14 +03:00
|
|
|
{% else %}
|
2016-12-15 18:43:40 +03:00
|
|
|
<title>{{ config.site_name }}</title>
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
2016-12-15 18:43:40 +03:00
|
|
|
|
2019-11-26 12:36:04 +03:00
|
|
|
<!-- Theme-related stylesheets -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block styles %}
|
2020-02-29 21:25:42 +03:00
|
|
|
<link rel="stylesheet" href="{{ 'assets/stylesheets/main.css' | url }}" />
|
2017-02-10 18:43:32 +03:00
|
|
|
|
|
|
|
<!-- Extra color palette -->
|
2020-05-22 18:37:02 +03:00
|
|
|
{% if palette.scheme or palette.primary or palette.accent %}
|
2019-11-26 12:03:53 +03:00
|
|
|
<link
|
|
|
|
rel="stylesheet"
|
2020-02-29 21:25:42 +03:00
|
|
|
href="{{ 'assets/stylesheets/palette.css' | url }}"
|
2019-11-26 12:03:53 +03:00
|
|
|
/>
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
2018-06-13 11:18:00 +03:00
|
|
|
|
|
|
|
<!-- Theme-color meta tag for Android -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% if palette.primary %}
|
|
|
|
{% import "partials/palette.html" as map %}
|
|
|
|
{% set primary = map.primary(
|
2018-06-18 11:19:07 +03:00
|
|
|
palette.primary | replace(" ", "-") | lower
|
2019-06-15 16:16:14 +03:00
|
|
|
) %}
|
2018-06-18 11:19:07 +03:00
|
|
|
<meta name="theme-color" content="{{ primary }}" />
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
2017-02-10 18:43:32 +03:00
|
|
|
|
2017-11-01 20:25:08 +03:00
|
|
|
<!-- JavaScript libraries -->
|
2019-09-28 21:39:07 +03:00
|
|
|
{% block libs %}{% endblock %}
|
2017-11-01 20:25:08 +03:00
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Webfonts -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block fonts %}
|
2018-09-03 10:42:39 +03:00
|
|
|
|
2018-02-22 21:15:32 +03:00
|
|
|
<!-- Load fonts from Google -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% if font != false %}
|
2018-09-03 10:32:48 +03:00
|
|
|
<link href="https://fonts.gstatic.com" rel="preconnect" crossorigin />
|
2019-11-26 12:03:53 +03:00
|
|
|
<link
|
|
|
|
rel="stylesheet"
|
|
|
|
href="https://fonts.googleapis.com/css?family={{
|
2019-12-17 11:59:59 +03:00
|
|
|
font.text | replace(' ', '+') + ':300,400,400i,700%7C' +
|
2019-11-26 12:03:53 +03:00
|
|
|
font.code | replace(' ', '+')
|
|
|
|
}}&display=fallback"
|
|
|
|
/>
|
2017-01-13 02:31:37 +03:00
|
|
|
<style>
|
|
|
|
body, input {
|
2020-03-16 18:39:55 +03:00
|
|
|
font-family: "{{ font.text }}",
|
|
|
|
-apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;
|
2017-01-13 02:31:37 +03:00
|
|
|
}
|
|
|
|
pre, code, kbd {
|
2020-03-16 18:39:55 +03:00
|
|
|
font-family: "{{ font.code }}",
|
|
|
|
SFMono-Regular, Consolas, Menlo, monospace;
|
2017-01-13 02:31:37 +03:00
|
|
|
}
|
|
|
|
</style>
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
2016-12-15 18:43:40 +03:00
|
|
|
|
2018-11-14 00:24:17 +03:00
|
|
|
<!-- Progressive Web App Manifest -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% if config.extra.manifest %}
|
2019-12-25 17:14:02 +03:00
|
|
|
<link
|
|
|
|
rel="manifest"
|
|
|
|
href="{{ config.extra.manifest | url }}"
|
|
|
|
crossorigin="use-credentials"
|
|
|
|
/>
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
2018-11-14 00:24:17 +03:00
|
|
|
|
2020-02-25 18:19:43 +03:00
|
|
|
<!-- Custom stylesheets, might contain media query after URL -->
|
2020-03-05 21:16:25 +03:00
|
|
|
{% for path in config["extra_css"] %}
|
|
|
|
<link rel="stylesheet" href="{{ path | url }}" />
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endfor %}
|
2016-12-15 18:43:40 +03:00
|
|
|
|
2019-11-26 12:36:04 +03:00
|
|
|
<!-- Analytics -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block analytics %}
|
|
|
|
{% if config.google_analytics %}
|
|
|
|
{% include "partials/integrations/analytics.html" %}
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
2019-01-28 13:18:22 +03:00
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Custom front matter -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block extrahead %}{% endblock %}
|
2016-01-29 01:27:15 +03:00
|
|
|
</head>
|
2016-12-17 14:53:24 +03:00
|
|
|
|
2018-01-13 18:54:08 +03:00
|
|
|
<!-- Text direction and color palette, if defined -->
|
2020-03-06 12:28:54 +03:00
|
|
|
{% set direction = config.theme.direction or lang.t('direction') %}
|
2020-04-25 20:07:23 +03:00
|
|
|
{% if palette.scheme or palette.primary or palette.accent %}
|
|
|
|
{% set scheme = palette.scheme | lower %}
|
2019-06-15 16:16:14 +03:00
|
|
|
{% set primary = palette.primary | replace(" ", "-") | lower %}
|
|
|
|
{% set accent = palette.accent | replace(" ", "-") | lower %}
|
2019-11-26 12:03:53 +03:00
|
|
|
<body
|
2020-03-05 00:06:05 +03:00
|
|
|
dir="{{ direction }}"
|
2020-04-25 20:07:23 +03:00
|
|
|
data-md-color-scheme="{{ scheme }}"
|
2019-11-26 12:03:53 +03:00
|
|
|
data-md-color-primary="{{ primary }}"
|
|
|
|
data-md-color-accent="{{ accent }}"
|
|
|
|
>
|
2019-06-15 16:16:14 +03:00
|
|
|
{% else %}
|
2020-03-05 00:06:05 +03:00
|
|
|
<body dir="{{ direction }}">
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
2016-01-29 01:27:15 +03:00
|
|
|
|
2020-06-07 15:24:48 +03:00
|
|
|
<!-- Experimental: set color scheme based on preference -->
|
2020-06-15 10:17:28 +03:00
|
|
|
{% if "preference" == palette.scheme %}
|
2020-06-07 15:24:48 +03:00
|
|
|
<script>
|
|
|
|
if (matchMedia("(prefers-color-scheme: dark)").matches)
|
|
|
|
document.body.setAttribute("data-md-color-scheme", "slate")
|
|
|
|
</script>
|
|
|
|
{% endif %}
|
|
|
|
|
2018-03-21 22:21:49 +03:00
|
|
|
<!--
|
|
|
|
State toggles - we need to set autocomplete="off" in order to reset the
|
|
|
|
drawer on back button invocation in some browsers
|
|
|
|
-->
|
2019-11-26 12:03:53 +03:00
|
|
|
<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"
|
|
|
|
/>
|
2016-01-29 01:27:15 +03:00
|
|
|
|
|
|
|
<!-- Overlay for expanded drawer -->
|
2019-12-22 19:30:55 +03:00
|
|
|
<label class="md-overlay" for="__drawer"></label>
|
2016-01-29 01:27:15 +03:00
|
|
|
|
2019-11-26 12:36:04 +03:00
|
|
|
<!-- Link to skip to content -->
|
2020-03-28 20:10:08 +03:00
|
|
|
<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('skip.link.title') }}
|
|
|
|
</a>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
2020-01-25 16:26:06 +03:00
|
|
|
|
|
|
|
<!-- Announcement bar -->
|
2020-03-28 20:10:08 +03:00
|
|
|
<div data-md-component="announce">
|
|
|
|
{% if self.announce() %}
|
|
|
|
<aside class="md-announce">
|
|
|
|
<div class="md-announce__inner md-grid md-typeset">
|
|
|
|
{% block announce %}{% endblock %}
|
|
|
|
</div>
|
|
|
|
</aside>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
2018-01-18 23:19:10 +03:00
|
|
|
|
2016-08-07 19:01:56 +03:00
|
|
|
<!-- Application header -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block header %}
|
|
|
|
{% include "partials/header.html" %}
|
|
|
|
{% endblock %}
|
2016-01-29 01:27:15 +03:00
|
|
|
|
2016-08-07 19:01:56 +03:00
|
|
|
<!-- Container, necessary for web-application context -->
|
2019-11-22 19:53:12 +03:00
|
|
|
<div class="md-container" data-md-component="container">
|
2017-10-11 19:31:46 +03:00
|
|
|
|
2017-11-22 02:13:56 +03:00
|
|
|
<!-- Hero teaser -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block hero %}
|
|
|
|
{% if page and page.meta and page.meta.hero %}
|
|
|
|
{% include "partials/hero.html" with context %}
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
2017-11-22 02:13:56 +03:00
|
|
|
|
2017-10-11 19:31:46 +03:00
|
|
|
<!-- Tabs with outline -->
|
2020-02-13 12:10:04 +03:00
|
|
|
{% block tabs %}
|
2020-03-05 18:43:29 +03:00
|
|
|
{% if "tabs" in config.theme.features %}
|
2020-02-13 12:10:04 +03:00
|
|
|
{% include "partials/tabs.html" %}
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
2016-02-05 17:34:19 +03:00
|
|
|
|
2019-11-26 12:36:04 +03:00
|
|
|
<!-- Main area -->
|
2019-12-18 16:57:37 +03:00
|
|
|
<main class="md-main" data-md-component="main">
|
|
|
|
<div class="md-main__inner md-grid">
|
2016-01-29 01:27:15 +03:00
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Navigation -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block site_nav %}
|
2016-12-15 18:43:40 +03:00
|
|
|
|
|
|
|
<!-- Main navigation -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% if nav %}
|
2019-11-26 12:03:53 +03:00
|
|
|
<div
|
|
|
|
class="md-sidebar md-sidebar--primary"
|
|
|
|
data-md-component="navigation"
|
|
|
|
>
|
2016-12-15 18:43:40 +03:00
|
|
|
<div class="md-sidebar__scrollwrap">
|
|
|
|
<div class="md-sidebar__inner">
|
2019-06-15 16:16:14 +03:00
|
|
|
{% include "partials/nav.html" %}
|
2016-12-15 18:43:40 +03:00
|
|
|
</div>
|
2016-09-23 12:56:25 +03:00
|
|
|
</div>
|
|
|
|
</div>
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
2016-12-15 18:43:40 +03:00
|
|
|
|
|
|
|
<!-- Table of contents -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% if page.toc %}
|
2019-11-26 12:03:53 +03:00
|
|
|
<div
|
|
|
|
class="md-sidebar md-sidebar--secondary"
|
|
|
|
data-md-component="toc"
|
|
|
|
>
|
2016-12-15 18:43:40 +03:00
|
|
|
<div class="md-sidebar__scrollwrap">
|
|
|
|
<div class="md-sidebar__inner">
|
2019-06-15 16:16:14 +03:00
|
|
|
{% include "partials/toc.html" %}
|
2016-12-15 18:43:40 +03:00
|
|
|
</div>
|
2016-09-23 12:56:25 +03:00
|
|
|
</div>
|
|
|
|
</div>
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
2016-01-29 01:27:15 +03:00
|
|
|
|
2016-08-07 19:01:56 +03:00
|
|
|
<!-- Article -->
|
2016-09-23 21:26:27 +03:00
|
|
|
<div class="md-content">
|
|
|
|
<article class="md-content__inner md-typeset">
|
2016-09-11 20:00:53 +03:00
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Content -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block content %}
|
2016-09-11 20:00:53 +03:00
|
|
|
|
2020-02-24 20:07:50 +03:00
|
|
|
<!-- Edit button -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% if page.edit_url %}
|
2019-11-26 12:03:53 +03:00
|
|
|
<a
|
|
|
|
href="{{ page.edit_url }}"
|
|
|
|
title="{{ lang.t('edit.link.title') }}"
|
2020-02-24 20:07:50 +03:00
|
|
|
class="md-content__button md-icon"
|
|
|
|
>
|
|
|
|
{% include ".icons/material/pencil.svg" %}
|
|
|
|
</a>
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
2017-03-01 17:43:49 +03:00
|
|
|
|
2020-02-24 20:07:50 +03:00
|
|
|
<!-- Link to source file -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block source %}
|
|
|
|
{% if page and page.meta and page.meta.source %}
|
2020-03-05 12:13:28 +03:00
|
|
|
{% include "partials/source-link.html" %}
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
2019-12-11 12:46:03 +03:00
|
|
|
|
2020-02-24 20:07:50 +03:00
|
|
|
<!--
|
|
|
|
Hack: check whether the content contains a h1 headline. If it
|
|
|
|
doesn't, the page title (or respectively site name) is used
|
|
|
|
as the main headline.
|
|
|
|
-->
|
|
|
|
{% if not "\x3ch1" in page.content %}
|
|
|
|
<h1>{{ page.title | default(config.site_name, true)}}</h1>
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
<!-- Content -->
|
|
|
|
{{ page.content }}
|
|
|
|
|
2020-03-05 12:13:28 +03:00
|
|
|
<!-- Last update of source file -->
|
|
|
|
{% if page and page.meta %}
|
|
|
|
{% if page.meta.git_revision_date_localized or
|
|
|
|
page.meta.revision_date
|
|
|
|
%}
|
|
|
|
{% include "partials/source-date.html" %}
|
|
|
|
{% endif %}
|
2019-12-11 12:46:03 +03:00
|
|
|
{% endif %}
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endblock %}
|
2017-02-25 00:53:12 +03:00
|
|
|
|
|
|
|
<!-- Disqus integration -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block disqus %}
|
|
|
|
{% include "partials/integrations/disqus.html" %}
|
|
|
|
{% endblock %}
|
2016-08-07 19:01:56 +03:00
|
|
|
</article>
|
2016-01-29 01:27:15 +03:00
|
|
|
</div>
|
|
|
|
</div>
|
2016-08-07 19:01:56 +03:00
|
|
|
</main>
|
|
|
|
|
|
|
|
<!-- Application footer -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block footer %}
|
|
|
|
{% include "partials/footer.html" %}
|
|
|
|
{% endblock %}
|
2016-08-07 19:01:56 +03:00
|
|
|
</div>
|
2016-01-29 01:27:15 +03:00
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Theme-related JavaScript -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% block scripts %}
|
2020-03-03 20:19:33 +03:00
|
|
|
<script src="{{ 'assets/javascripts/vendor.js' | url }}"></script>
|
2019-12-17 17:59:13 +03:00
|
|
|
<script src="{{ 'assets/javascripts/bundle.js' | url }}"></script>
|
2017-06-01 01:40:10 +03:00
|
|
|
|
2019-11-26 12:03:53 +03:00
|
|
|
<!-- Translations -->
|
2020-02-20 21:57:02 +03:00
|
|
|
{%- set translations = {} -%}
|
|
|
|
{%- for key in [
|
|
|
|
"clipboard.copy",
|
|
|
|
"clipboard.copied",
|
2020-03-05 13:35:19 +03:00
|
|
|
"search.config.lang",
|
|
|
|
"search.config.pipeline",
|
|
|
|
"search.config.separator",
|
2020-02-20 21:57:02 +03:00
|
|
|
"search.result.placeholder",
|
|
|
|
"search.result.none",
|
|
|
|
"search.result.one",
|
2020-03-05 13:35:19 +03:00
|
|
|
"search.result.other"
|
2020-02-20 21:57:02 +03:00
|
|
|
] -%}
|
|
|
|
{%- set _ = translations.update({ key: lang.t(key) }) -%}
|
|
|
|
{%- endfor -%}
|
2019-11-26 12:03:53 +03:00
|
|
|
<script id="__lang" type="application/json">
|
2020-03-27 17:29:17 +03:00
|
|
|
{{- translations | tojson -}}
|
2019-11-26 12:03:53 +03:00
|
|
|
</script>
|
2019-11-26 12:36:04 +03:00
|
|
|
|
2020-03-27 18:51:27 +03:00
|
|
|
<!-- Application configuration -->
|
|
|
|
{% block config %}{% endblock %}
|
|
|
|
|
2019-11-26 12:36:04 +03:00
|
|
|
<!-- Application initialization -->
|
2016-12-15 18:43:40 +03:00
|
|
|
<script>
|
2020-03-27 17:29:17 +03:00
|
|
|
app = initialize({
|
|
|
|
base: "{{ base_url }}",
|
2020-09-06 13:09:57 +03:00
|
|
|
features: {{ config.theme.features or [] | tojson }},
|
2020-03-27 18:51:27 +03:00
|
|
|
search: Object.assign({
|
2020-03-27 17:29:17 +03:00
|
|
|
worker: "{{ 'assets/javascripts/worker/search.js' | url }}"
|
2020-03-27 18:51:27 +03:00
|
|
|
}, typeof search !== "undefined" && search)
|
2020-03-27 17:29:17 +03:00
|
|
|
})
|
2016-12-15 18:43:40 +03:00
|
|
|
</script>
|
2019-11-26 12:36:04 +03:00
|
|
|
|
|
|
|
<!-- Custom JavaScript -->
|
2019-06-15 16:16:14 +03:00
|
|
|
{% for path in config["extra_javascript"] %}
|
2018-08-04 20:53:13 +03:00
|
|
|
<script src="{{ path | url }}"></script>
|
2019-06-15 16:16:14 +03:00
|
|
|
{% endfor %}
|
|
|
|
{% endblock %}
|
2016-01-29 01:27:15 +03:00
|
|
|
</body>
|
2016-09-23 12:56:25 +03:00
|
|
|
</html>
|