2016-08-07 19:01:56 +03:00
|
|
|
<!--
|
2018-01-13 19:31:58 +03:00
|
|
|
Copyright (c) 2016-2018 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.
|
|
|
|
-->
|
|
|
|
|
2017-10-19 21:09:59 +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 -->
|
2017-10-31 20:51:54 +03:00
|
|
|
{% set feature = config.theme.feature %}
|
2017-10-31 19:03:42 +03:00
|
|
|
{% set palette = config.theme.palette %}
|
2017-10-31 20:21:09 +03:00
|
|
|
{% set font = config.theme.font %}
|
2017-10-31 19:03:42 +03:00
|
|
|
|
2016-01-29 01:27:15 +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 -->
|
2016-12-15 18:43:40 +03:00
|
|
|
{% block site_meta %}
|
|
|
|
<meta charset="utf-8" />
|
2016-12-19 08:44:52 +03:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
2016-12-15 18:43:40 +03:00
|
|
|
|
2017-06-21 11:44:40 +03:00
|
|
|
<!-- Keep for compatibility, see http://bit.ly/2tMB6ag -->
|
|
|
|
<meta http-equiv="x-ua-compatible" content="ie=edge" />
|
|
|
|
|
2017-03-11 16:07:07 +03:00
|
|
|
<!-- Page description -->
|
2017-11-22 02:13:56 +03:00
|
|
|
{% if page and page.meta and page.meta.description %}
|
2017-03-11 16:07:07 +03:00
|
|
|
<meta name="description"
|
2017-11-01 13:48:44 +03:00
|
|
|
content="{{ page.meta.description }}" />
|
2017-03-11 16:07:07 +03:00
|
|
|
{% elif config.site_description %}
|
2016-12-15 18:43:40 +03:00
|
|
|
<meta name="description" content="{{ config.site_description }}" />
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
<!-- Canonical -->
|
|
|
|
{% if page.canonical_url %}
|
|
|
|
<link rel="canonical" href="{{ page.canonical_url }}" />
|
|
|
|
{% endif %}
|
|
|
|
|
2017-03-11 16:07:07 +03:00
|
|
|
<!-- Page author -->
|
2017-11-22 02:13:56 +03:00
|
|
|
{% if page and page.meta and page.meta.author %}
|
2017-03-11 16:07:07 +03:00
|
|
|
<meta name="author" content="{{ page.meta.author | first }}" />
|
|
|
|
{% elif config.site_author %}
|
2016-12-15 18:43:40 +03:00
|
|
|
<meta name="author" content="{{ config.site_author }}" />
|
|
|
|
{% endif %}
|
|
|
|
|
2017-10-18 21:26:00 +03:00
|
|
|
<!-- Localization -->
|
|
|
|
{% for key in [
|
2017-10-18 22:38:33 +03:00
|
|
|
"clipboard.copy",
|
|
|
|
"clipboard.copied",
|
2017-10-31 22:48:41 +03:00
|
|
|
"search.language",
|
2017-10-18 22:38:33 +03:00
|
|
|
"search.result.none",
|
|
|
|
"search.result.one",
|
|
|
|
"search.result.other",
|
|
|
|
"search.tokenizer"
|
2017-10-18 21:26:00 +03:00
|
|
|
] %}
|
2017-10-18 22:38:33 +03:00
|
|
|
<meta name="lang:{{ key }}" content="{{ lang.t(key) }}" />
|
2017-10-18 21:26:00 +03:00
|
|
|
{% endfor %}
|
|
|
|
|
2016-12-15 18:43:40 +03:00
|
|
|
<!-- Favicon -->
|
2017-11-01 14:04:22 +03:00
|
|
|
<link rel="shortcut icon"
|
|
|
|
href="{{ base_url }}/{{ config.theme.favicon }}">
|
2016-12-15 18:43:40 +03:00
|
|
|
|
|
|
|
<!-- Generator banner -->
|
2017-02-02 01:56:57 +03:00
|
|
|
<meta name="generator"
|
2017-03-11 16:07:07 +03:00
|
|
|
content="mkdocs-{{ mkdocs_version }}, $md-name$-$md-version$" />
|
2016-12-15 18:43:40 +03:00
|
|
|
{% endblock %}
|
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Site title -->
|
2016-12-15 18:43:40 +03:00
|
|
|
{% block htmltitle %}
|
2017-11-22 02:13:56 +03:00
|
|
|
{% if page and page.meta and page.meta.title %}
|
2017-11-01 13:48:44 +03:00
|
|
|
<title>{{ page.meta.title }}</title>
|
2017-03-11 16:07:07 +03:00
|
|
|
{% elif page and page.title and not page.is_homepage %}
|
2016-12-15 18:43:40 +03:00
|
|
|
<title>{{ page.title }} - {{ config.site_name }}</title>
|
|
|
|
{% else %}
|
|
|
|
<title>{{ config.site_name }}</title>
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Stylesheets -->
|
2017-02-10 18:43:32 +03:00
|
|
|
{% block styles %}
|
|
|
|
|
|
|
|
<!-- Theme-related stylesheets -->
|
|
|
|
<link rel="stylesheet" type="text/css"
|
|
|
|
href="{{ base_url }}/assets/stylesheets/application.css" />
|
|
|
|
|
|
|
|
<!-- Extra color palette -->
|
2017-10-31 19:03:42 +03:00
|
|
|
{% if palette.primary or palette.accent %}
|
2017-02-10 18:43:32 +03:00
|
|
|
<link rel="stylesheet" type="text/css"
|
2017-11-21 23:32:25 +03:00
|
|
|
href="{{ base_url }}/assets/stylesheets/application-palette.css" />
|
2017-02-10 18:43:32 +03:00
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|
|
|
2017-11-01 20:25:08 +03:00
|
|
|
<!-- JavaScript libraries -->
|
|
|
|
{% block libs %}
|
|
|
|
<script src="{{ base_url }}/assets/javascripts/modernizr.js"></script>
|
|
|
|
{% endblock %}
|
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Webfonts -->
|
2016-12-28 14:11:04 +03:00
|
|
|
{% block fonts %}
|
2017-10-31 20:21:09 +03:00
|
|
|
{% if font != false %}
|
2017-01-13 02:31:37 +03:00
|
|
|
<link rel="stylesheet" type="text/css"
|
2017-10-31 20:21:09 +03:00
|
|
|
href="https://fonts.googleapis.com/css?family={{
|
|
|
|
font.text | replace(' ', '+') + ':300,400,400i,700|' +
|
|
|
|
font.code | replace(' ', '+')
|
|
|
|
}}" />
|
2017-01-13 02:31:37 +03:00
|
|
|
<style>
|
|
|
|
body, input {
|
2017-10-31 20:21:09 +03:00
|
|
|
font-family: "{{ font.text }}", "Helvetica Neue",
|
2017-01-13 02:31:37 +03:00
|
|
|
Helvetica, Arial, sans-serif;
|
|
|
|
}
|
|
|
|
pre, code, kbd {
|
2017-10-31 20:21:09 +03:00
|
|
|
font-family: "{{ font.code }}", "Courier New",
|
2017-01-13 02:31:37 +03:00
|
|
|
Courier, monospace;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
<!-- Material icons as a default iconset -->
|
|
|
|
<link rel="stylesheet" type="text/css"
|
|
|
|
href="https://fonts.googleapis.com/icon?family=Material+Icons" />
|
2016-12-27 12:56:13 +03:00
|
|
|
{% endblock %}
|
2016-12-15 18:43:40 +03:00
|
|
|
|
2017-02-10 18:43:32 +03:00
|
|
|
<!-- Custom stylesheets -->
|
|
|
|
{% for path in extra_css %}
|
|
|
|
<link rel="stylesheet" type="text/css" href="{{ path }}" />
|
|
|
|
{% endfor %}
|
2016-12-15 18:43:40 +03:00
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Custom front matter -->
|
2016-12-17 14:53:24 +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 -->
|
2017-10-31 19:03:42 +03:00
|
|
|
{% if palette.primary or palette.accent %}
|
|
|
|
{% set primary = palette.primary | replace(" ", "-") | lower %}
|
|
|
|
{% set accent = palette.accent | replace(" ", "-") | lower %}
|
2018-02-02 00:57:00 +03:00
|
|
|
<body dir="{{ lang.t('direction') }}"
|
2018-01-13 18:54:08 +03:00
|
|
|
data-md-color-primary="{{ primary }}"
|
|
|
|
data-md-color-accent="{{ accent }}">
|
2016-12-17 14:53:24 +03:00
|
|
|
{% else %}
|
2018-02-02 00:57:00 +03:00
|
|
|
<body dir="{{ lang.t('direction') }}">
|
2016-12-17 14:53:24 +03:00
|
|
|
{% endif %}
|
2016-01-29 01:27:15 +03:00
|
|
|
|
2017-01-13 02:31:37 +03:00
|
|
|
<!-- Hidden container for inline SVGs -->
|
|
|
|
<svg class="md-svg">
|
|
|
|
<defs>
|
|
|
|
|
|
|
|
<!--
|
|
|
|
Check whether the repository is hosted on one of the supported code
|
|
|
|
hosting platforms (Github, Gitlab or Bitbucket) to show icon.
|
|
|
|
-->
|
|
|
|
{% set platform = config.extra.repo_icon or config.repo_url %}
|
|
|
|
{% if "github" in platform %}
|
|
|
|
{% include "assets/images/icons/github.svg" %}
|
|
|
|
{% elif "gitlab" in platform %}
|
|
|
|
{% include "assets/images/icons/gitlab.svg" %}
|
|
|
|
{% elif "bitbucket" in platform %}
|
|
|
|
{% include "assets/images/icons/bitbucket.svg" %}
|
|
|
|
{% endif %}
|
|
|
|
</defs>
|
|
|
|
</svg>
|
2016-12-28 16:47:53 +03:00
|
|
|
|
2016-01-29 01:27:15 +03:00
|
|
|
<!-- State toggles -->
|
2016-12-15 17:55:40 +03:00
|
|
|
<input class="md-toggle" data-md-toggle="drawer"
|
|
|
|
type="checkbox" id="drawer" />
|
|
|
|
<input class="md-toggle" data-md-toggle="search"
|
|
|
|
type="checkbox" id="search" />
|
2016-01-29 01:27:15 +03:00
|
|
|
|
|
|
|
<!-- Overlay for expanded drawer -->
|
2016-12-26 16:47:50 +03:00
|
|
|
<label class="md-overlay" data-md-component="overlay" for="drawer"></label>
|
2016-01-29 01:27:15 +03:00
|
|
|
|
2018-01-18 23:19:10 +03:00
|
|
|
<!-- Render "skip to content" link -->
|
|
|
|
{% if page.toc | first is defined %}
|
|
|
|
<a href="{{ (page.toc | first).url }}" tabindex="1"
|
|
|
|
class="md-skip">
|
|
|
|
{{ lang.t('skip.link.title') }}
|
|
|
|
</a>
|
|
|
|
{% endif %}
|
|
|
|
|
2016-08-07 19:01:56 +03:00
|
|
|
<!-- Application header -->
|
2016-12-19 09:20:09 +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 -->
|
|
|
|
<div class="md-container">
|
2017-10-11 19:31:46 +03:00
|
|
|
|
2017-11-22 02:13:56 +03:00
|
|
|
<!-- Hero teaser -->
|
|
|
|
{% block hero %}
|
|
|
|
{% if page and page.meta and page.meta.hero %}
|
|
|
|
{% include "partials/hero.html" with context %}
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|
|
|
2017-10-11 19:31:46 +03:00
|
|
|
<!-- Tabs with outline -->
|
2017-01-26 23:10:52 +03:00
|
|
|
{% if feature.tabs %}
|
|
|
|
{% include "partials/tabs.html" %}
|
|
|
|
{% endif %}
|
2016-02-05 17:34:19 +03:00
|
|
|
|
2016-08-07 19:01:56 +03:00
|
|
|
<!-- Main container -->
|
|
|
|
<main class="md-main">
|
2016-12-26 16:47:50 +03:00
|
|
|
<div class="md-main__inner md-grid" data-md-component="container">
|
2016-01-29 01:27:15 +03:00
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Navigation -->
|
2016-12-15 18:43:40 +03:00
|
|
|
{% block site_nav %}
|
|
|
|
|
|
|
|
<!-- Main navigation -->
|
|
|
|
{% if nav %}
|
|
|
|
<div class="md-sidebar md-sidebar--primary"
|
2016-12-26 16:47:50 +03:00
|
|
|
data-md-component="navigation">
|
2016-12-15 18:43:40 +03:00
|
|
|
<div class="md-sidebar__scrollwrap">
|
|
|
|
<div class="md-sidebar__inner">
|
|
|
|
{% include "partials/nav.html" %}
|
|
|
|
</div>
|
2016-09-23 12:56:25 +03:00
|
|
|
</div>
|
|
|
|
</div>
|
2016-12-15 18:43:40 +03:00
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
<!-- Table of contents -->
|
|
|
|
{% if page.toc %}
|
|
|
|
<div class="md-sidebar md-sidebar--secondary"
|
2016-12-26 16:47:50 +03:00
|
|
|
data-md-component="toc">
|
2016-12-15 18:43:40 +03:00
|
|
|
<div class="md-sidebar__scrollwrap">
|
|
|
|
<div class="md-sidebar__inner">
|
|
|
|
{% include "partials/toc.html" %}
|
|
|
|
</div>
|
2016-09-23 12:56:25 +03:00
|
|
|
</div>
|
|
|
|
</div>
|
2016-12-15 18:43:40 +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 -->
|
2016-09-23 12:56:25 +03:00
|
|
|
{% block content %}
|
2016-09-11 20:00:53 +03:00
|
|
|
|
2017-03-01 17:43:49 +03:00
|
|
|
<!-- Edit button, if URL was defined -->
|
2017-11-08 02:19:13 +03:00
|
|
|
{% if page.edit_url %}
|
2017-03-01 17:43:49 +03:00
|
|
|
<a href="{{ page.edit_url }}"
|
2017-10-18 22:38:33 +03:00
|
|
|
title="{{ lang.t('edit.link.title') }}"
|
2017-08-29 18:23:30 +03:00
|
|
|
class="md-icon md-content__icon"><!-- edit --></a>
|
2017-03-01 17:43:49 +03:00
|
|
|
{% endif %}
|
|
|
|
|
2016-12-15 20:29:46 +03:00
|
|
|
<!--
|
2017-02-09 01:13:13 +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.
|
2016-12-15 20:29:46 +03:00
|
|
|
-->
|
2017-02-09 01:13:13 +03:00
|
|
|
{% if not "\x3ch1" in page.content %}
|
2016-12-15 20:29:46 +03:00
|
|
|
<h1>{{ page.title | default(config.site_name, true)}}</h1>
|
|
|
|
{% endif %}
|
|
|
|
|
2016-09-23 12:56:25 +03:00
|
|
|
<!-- Content -->
|
2016-12-15 18:43:40 +03:00
|
|
|
{{ page.content }}
|
2017-02-27 00:09:51 +03:00
|
|
|
|
2017-03-11 16:07:07 +03:00
|
|
|
<!-- Source files -->
|
|
|
|
{% block source %}
|
2017-11-22 02:13:56 +03:00
|
|
|
{% if page and page.meta and page.meta.source %}
|
2017-10-18 22:38:33 +03:00
|
|
|
<h2 id="__source">{{ lang.t("meta.source") }}</h2>
|
2017-11-01 20:07:15 +03:00
|
|
|
{% set path = page.meta.path | default([""]) %}
|
2017-11-01 17:22:14 +03:00
|
|
|
{% set file = page.meta.source %}
|
|
|
|
<a href="{{ [config.repo_url, path, file] | join('/') }}"
|
|
|
|
title="{{ file }}" class="md-source-file">
|
|
|
|
{{ file }}
|
|
|
|
</a>
|
2017-03-11 16:07:07 +03:00
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
2016-09-23 12:56:25 +03:00
|
|
|
{% endblock %}
|
2017-02-25 00:53:12 +03:00
|
|
|
|
|
|
|
<!-- Disqus integration -->
|
2017-03-11 16:07:07 +03:00
|
|
|
{% block disqus %}
|
|
|
|
{% if config.extra.disqus and not page.is_homepage %}
|
2017-10-18 22:38:33 +03:00
|
|
|
<h2 id="__comments">{{ lang.t("meta.comments") }}</h2>
|
2017-11-22 02:13:56 +03:00
|
|
|
{% include "partials/integrations/disqus.html" %}
|
2017-03-11 16:07:07 +03:00
|
|
|
{% endif %}
|
|
|
|
{% 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 -->
|
2016-12-15 18:43:40 +03:00
|
|
|
{% block footer %}
|
2017-01-06 21:18:17 +03:00
|
|
|
{% include "partials/footer.html" %}
|
2016-12-15 18:43:40 +03:00
|
|
|
{% 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 -->
|
2016-12-15 18:43:40 +03:00
|
|
|
{% block scripts %}
|
|
|
|
<script src="{{ base_url }}/assets/javascripts/application.js"></script>
|
2017-06-01 01:40:10 +03:00
|
|
|
|
|
|
|
<!-- Load additional languages for search -->
|
2017-10-31 22:48:41 +03:00
|
|
|
{% if lang.t("search.language") != "en" %}
|
|
|
|
{% set languages = lang.t("search.language").split(",") %}
|
|
|
|
{% if languages | length and languages[0] != "" %}
|
|
|
|
{% set path = base_url + "/assets/javascripts/lunr" %}
|
|
|
|
<script src="{{ path }}/lunr.stemmer.support.js"></script>
|
|
|
|
{% for language in languages | map("trim") %}
|
|
|
|
{% if language != "en" %}
|
|
|
|
{% if language == "jp" %}
|
|
|
|
<script src="{{ path }}/tinyseg.js"></script>
|
|
|
|
{% endif %}
|
2018-01-22 00:56:54 +03:00
|
|
|
{% if language in ($md-lunr-languages$) %}
|
|
|
|
<script src="{{ path }}/lunr.{{ language }}.js"></script>
|
|
|
|
{% endif %}
|
2017-06-07 13:29:34 +03:00
|
|
|
{% endif %}
|
2017-10-31 22:48:41 +03:00
|
|
|
{% endfor %}
|
|
|
|
{% if languages | length > 1 %}
|
|
|
|
<script src="{{ path }}/lunr.multi.js"></script>
|
2017-06-01 01:40:10 +03:00
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
<!-- Initialize application -->
|
2016-12-15 18:43:40 +03:00
|
|
|
<script>
|
2017-10-22 22:22:25 +03:00
|
|
|
app.initialize({
|
|
|
|
version: "{{ mkdocs_version }}",
|
|
|
|
url: {
|
|
|
|
base: "{{ base_url }}"
|
|
|
|
}
|
|
|
|
});
|
2016-12-15 18:43:40 +03:00
|
|
|
</script>
|
|
|
|
{% for path in extra_javascript %}
|
|
|
|
<script src="{{ path }}"></script>
|
|
|
|
{% endfor %}
|
|
|
|
{% endblock %}
|
|
|
|
|
2017-09-01 11:07:29 +03:00
|
|
|
<!-- Analytic scripts -->
|
2016-12-15 18:43:40 +03:00
|
|
|
{% block analytics %}
|
|
|
|
{% if config.google_analytics %}
|
2017-11-22 02:13:56 +03:00
|
|
|
{% include "partials/integrations/analytics.html" %}
|
2016-12-15 17:55:40 +03:00
|
|
|
{% endif %}
|
2016-12-15 18:43:40 +03:00
|
|
|
{% endblock %}
|
2016-01-29 01:27:15 +03:00
|
|
|
</body>
|
2016-09-23 12:56:25 +03:00
|
|
|
</html>
|