2017-12-29 12:43:05 +00:00
|
|
|
{% import "partials/language.html" as lang with context %}
|
|
|
|
{% set feature = config.theme.feature %}
|
|
|
|
{% set palette = config.theme.palette %}
|
|
|
|
{% set font = config.theme.font %}
|
|
|
|
<!DOCTYPE html>
|
2020-01-21 11:59:25 +00:00
|
|
|
<html lang="{{ lang.t('language') }}" class="no-js" data-version="{{ config.extra.version_prefix }}">
|
2017-12-29 12:43:05 +00:00
|
|
|
<head>
|
|
|
|
{% block site_meta %}
|
|
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
|
|
|
{% if page and 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 %}
|
|
|
|
{% if page.canonical_url %}
|
|
|
|
<link rel="canonical" href="{{ page.canonical_url }}">
|
|
|
|
{% endif %}
|
|
|
|
{% if page and page.meta and page.meta.author %}
|
|
|
|
<meta name="author" content="{{ page.meta.author | first }}">
|
|
|
|
{% elif config.site_author %}
|
|
|
|
<meta name="author" content="{{ config.site_author }}">
|
|
|
|
{% endif %}
|
|
|
|
{% for key in [
|
|
|
|
"clipboard.copy",
|
|
|
|
"clipboard.copied",
|
|
|
|
"search.language",
|
2018-08-10 14:44:49 +00:00
|
|
|
"search.pipeline.stopwords",
|
|
|
|
"search.pipeline.trimmer",
|
2017-12-29 12:43:05 +00:00
|
|
|
"search.result.none",
|
|
|
|
"search.result.one",
|
|
|
|
"search.result.other",
|
|
|
|
"search.tokenizer"
|
|
|
|
] %}
|
2018-08-10 14:44:49 +00:00
|
|
|
<meta name="lang:{{ key }}" content="{{ lang.t(key) }}">
|
2017-12-29 12:43:05 +00:00
|
|
|
{% endfor %}
|
|
|
|
<link rel="shortcut icon" href="{{ base_url }}/{{ config.theme.favicon }}">
|
|
|
|
{% endblock %}
|
|
|
|
{% block htmltitle %}
|
|
|
|
{% if page and page.meta and page.meta.title %}
|
|
|
|
<title>{{ page.meta.title }}</title>
|
2019-01-11 06:58:16 +00:00
|
|
|
{% elif page and page.title and not page.is_homepage and page.title != 'hidden' %}
|
2017-12-29 12:43:05 +00:00
|
|
|
<title>{{ page.title }} - {{ config.site_name }}</title>
|
2019-01-11 06:58:16 +00:00
|
|
|
{% elif page and page.title and not page.is_homepage and page.title == 'hidden' and page.ancestors %}
|
|
|
|
<title>{{ (page.ancestors | first).title }} - {{ config.site_name }}</title>
|
2017-12-29 12:43:05 +00:00
|
|
|
{% else %}
|
|
|
|
<title>{{ config.site_name }}</title>
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|
|
{% block styles %}
|
2020-01-21 11:59:25 +00:00
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" />
|
2018-09-06 10:22:06 +00:00
|
|
|
<link rel="stylesheet" href="{{ base_url }}/assets/stylesheets/application.2a88008a.css">
|
2017-12-29 12:43:05 +00:00
|
|
|
{% if palette.primary or palette.accent %}
|
|
|
|
<link rel="stylesheet" href="{{ base_url }}/assets/stylesheets/application-palette.792431c1.css">
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|
|
{% block fonts %}
|
|
|
|
{% if font != false %}
|
|
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family={{
|
|
|
|
font.text | replace(' ', '+') + ':300,400,400i,700|' +
|
|
|
|
font.code | replace(' ', '+')
|
|
|
|
}}">
|
|
|
|
<style>body,input{font-family:"{{ font.text }}","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"{{ font.code }}","Courier New",Courier,monospace}</style>
|
|
|
|
{% endif %}
|
|
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
|
|
|
|
{% endblock %}
|
|
|
|
{% for path in extra_css %}
|
2018-10-16 10:47:17 +00:00
|
|
|
<link rel="stylesheet" href="{{ path }}?{{ config.theme.extra.now }}">
|
2017-12-29 12:43:05 +00:00
|
|
|
{% endfor %}
|
|
|
|
{% block extrahead %}{% endblock %}
|
|
|
|
</head>
|
2018-09-06 10:22:06 +00:00
|
|
|
{% set direction = config.theme.direction %}
|
2017-12-29 12:43:05 +00:00
|
|
|
{% if palette.primary or palette.accent %}
|
|
|
|
{% set primary = palette.primary | replace(" ", "-") | lower %}
|
|
|
|
{% set accent = palette.accent | replace(" ", "-") | lower %}
|
2018-10-16 10:47:17 +00:00
|
|
|
<body dir="{{ direction }}" data-md-color-primary="{{ primary }}" data-md-color-accent="{{ accent }}" class="md-lang-{{ config.theme.language }}">
|
2017-12-29 12:43:05 +00:00
|
|
|
{% else %}
|
2018-10-16 10:47:17 +00:00
|
|
|
<body dir="{{ direction }}" class="md-lang-{{ config.theme.language }}">
|
2017-12-29 12:43:05 +00:00
|
|
|
{% endif %}
|
|
|
|
<svg class="md-svg">
|
|
|
|
<defs>
|
|
|
|
{% set platform = config.extra.repo_icon or config.repo_url %}
|
|
|
|
{% if "github" in platform %}
|
|
|
|
{% include "assets/images/icons/github.a4034fb1.svg" %}
|
|
|
|
{% elif "gitlab" in platform %}
|
|
|
|
{% include "assets/images/icons/gitlab.d80e5efc.svg" %}
|
|
|
|
{% elif "bitbucket" in platform %}
|
|
|
|
{% include "assets/images/icons/bitbucket.4ebea66e.svg" %}
|
|
|
|
{% endif %}
|
|
|
|
</defs>
|
|
|
|
</svg>
|
|
|
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer">
|
|
|
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="search">
|
|
|
|
<label class="md-overlay" data-md-component="overlay" for="drawer"></label>
|
|
|
|
{% block header %}
|
|
|
|
{% include "partials/header.html" %}
|
|
|
|
{% endblock %}
|
|
|
|
<div class="md-container">
|
|
|
|
{% block hero %}
|
|
|
|
{% if page and page.meta and page.meta.hero %}
|
|
|
|
{% include "partials/hero.html" with context %}
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|
|
{% if feature.tabs %}
|
|
|
|
{% include "partials/tabs.html" %}
|
|
|
|
{% endif %}
|
|
|
|
<main class="md-main">
|
|
|
|
<div class="md-main__inner md-grid" data-md-component="container">
|
|
|
|
{% block site_nav %}
|
|
|
|
{% if nav %}
|
2018-07-09 11:15:33 +00:00
|
|
|
<div class="md-sidebar md-sidebar--primary" data-md-component="{% if not config.extra.single_page %}navigation{% else %}toc{% endif %}">
|
2017-12-29 12:43:05 +00:00
|
|
|
<div class="md-sidebar__scrollwrap">
|
|
|
|
<div class="md-sidebar__inner">
|
2018-07-09 11:15:33 +00:00
|
|
|
{% if not config.extra.single_page %}
|
|
|
|
{% include "partials/nav.html" %}
|
|
|
|
{% else %}
|
|
|
|
{% include "partials/toc.html" %}
|
|
|
|
{% endif %}
|
2017-12-29 12:43:05 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
{% if page.toc %}
|
2018-07-09 11:15:33 +00:00
|
|
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="{% if not config.extra.single_page %}toc{% else %}navigation{% endif %}">
|
2017-12-29 12:43:05 +00:00
|
|
|
<div class="md-sidebar__scrollwrap">
|
|
|
|
<div class="md-sidebar__inner">
|
2018-07-09 11:15:33 +00:00
|
|
|
{% if not config.extra.single_page %}
|
|
|
|
{% include "partials/toc.html" %}
|
|
|
|
{% else %}
|
|
|
|
{% include "partials/nav.html" %}
|
|
|
|
{% endif %}
|
2017-12-29 12:43:05 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|
|
<div class="md-content">
|
|
|
|
<article class="md-content__inner md-typeset">
|
|
|
|
{% block content %}
|
2018-02-21 18:04:15 +00:00
|
|
|
{% if config.extra.single_page %}
|
2018-12-07 16:24:54 +00:00
|
|
|
<a href="{{ config.repo_url }}tree/master/docs" title="{{ lang.t('edit.link.title') }}" class="md-icon md-content__icon" rel="external nofollow"></a>
|
2018-02-21 17:23:49 +00:00
|
|
|
{% else %}
|
|
|
|
{% if page.edit_url %}
|
2018-12-07 16:24:54 +00:00
|
|
|
<a href="{{ page.edit_url }}" title="{{ lang.t('edit.link.title') }}" class="md-icon md-content__icon" rel="external nofollow"></a>
|
2018-02-21 17:23:49 +00:00
|
|
|
{% endif %}
|
2017-12-29 12:43:05 +00:00
|
|
|
{% endif %}
|
|
|
|
{% if not "\x3ch1" in page.content %}
|
|
|
|
<h1>{{ page.title | default(config.site_name, true)}}</h1>
|
|
|
|
{% endif %}
|
2018-07-09 09:18:48 +00:00
|
|
|
<div id="content">
|
|
|
|
{% if not config.extra.single_page %}
|
|
|
|
{{ page.content }}
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
2017-12-29 12:43:05 +00:00
|
|
|
{% block source %}
|
|
|
|
{% if page and page.meta and page.meta.source %}
|
|
|
|
<h2 id="__source">{{ lang.t("meta.source") }}</h2>
|
|
|
|
{% set path = page.meta.path | default([""]) %}
|
|
|
|
{% set file = page.meta.source %}
|
2018-12-07 16:24:54 +00:00
|
|
|
<a href="{{ [config.repo_url, path, file] | join('/') }}" title="{{ file }}" class="md-source-file" rel="external nofollow">
|
2017-12-29 12:43:05 +00:00
|
|
|
{{ file }}
|
|
|
|
</a>
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|
|
{% endblock %}
|
|
|
|
{% block disqus %}
|
|
|
|
{% if config.extra.disqus and not page.is_homepage %}
|
|
|
|
<h2 id="__comments">{{ lang.t("meta.comments") }}</h2>
|
|
|
|
{% include "partials/integrations/disqus.html" %}
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
|
|
</article>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</main>
|
|
|
|
{% block footer %}
|
|
|
|
{% include "partials/footer.html" %}
|
|
|
|
{% endblock %}
|
|
|
|
</div>
|
|
|
|
{% block scripts %}
|
2018-07-09 11:15:33 +00:00
|
|
|
{% block libs %}
|
2018-08-10 14:44:49 +00:00
|
|
|
<script src="{{ base_url }}/assets/javascripts/modernizr.js"></script>
|
2018-07-09 11:15:33 +00:00
|
|
|
{% endblock %}
|
2018-08-10 14:44:49 +00:00
|
|
|
<script src="{{ base_url }}/assets/javascripts/application.js"></script>
|
2017-12-29 12:43:05 +00: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 %}
|
|
|
|
<script src="{{ path }}/lunr.{{ language }}.js"></script>
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
2018-08-10 14:44:49 +00:00
|
|
|
{% if languages | length > 0 %}
|
2017-12-29 12:43:05 +00:00
|
|
|
<script src="{{ path }}/lunr.multi.js"></script>
|
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|
|
|
|
{% for path in extra_javascript %}
|
|
|
|
<script src="{{ path }}"></script>
|
|
|
|
{% endfor %}
|
|
|
|
{% endblock %}
|
|
|
|
{% block analytics %}
|
|
|
|
{% if config.google_analytics %}
|
|
|
|
{% include "partials/integrations/analytics.html" %}
|
|
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
2018-07-11 08:29:34 +00:00
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
function ready(callback){
|
|
|
|
if (document.readyState != 'loading') {
|
|
|
|
callback();
|
|
|
|
} else if (document.addEventListener) {
|
|
|
|
document.addEventListener('DOMContentLoaded', callback);
|
|
|
|
} else document.attachEvent('onreadystatechange', function() {
|
|
|
|
if (document.readyState == 'complete') {
|
|
|
|
callback();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
ready(function () {
|
2019-02-14 12:12:28 +00:00
|
|
|
var i;
|
2018-07-11 08:29:34 +00:00
|
|
|
{% if config.extra.single_page and page.content %}
|
|
|
|
document.getElementById("content").innerHTML = {{ page.content|tojson|safe }};
|
|
|
|
document.getElementsByClassName('md-footer')[0].style.display = 'block';
|
|
|
|
{% endif %}
|
|
|
|
app.initialize({
|
|
|
|
version: "{{ mkdocs_version }}",
|
|
|
|
url: {
|
|
|
|
base: "{{ base_url }}"
|
|
|
|
}
|
|
|
|
});
|
2018-10-16 10:47:17 +00:00
|
|
|
var beforePrint = function() {
|
|
|
|
var details = document.getElementsByTagName("details");
|
2019-02-14 12:12:28 +00:00
|
|
|
for (i = 0; i < details.length; ++i) {
|
2018-10-16 10:47:17 +00:00
|
|
|
details[i].open = 1;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
if (window.matchMedia) {
|
|
|
|
window.matchMedia('print').addListener(function(q) {
|
|
|
|
if (q.matches) {
|
|
|
|
beforePrint();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
window.onbeforeprint = beforePrint;
|
2019-02-14 12:12:28 +00:00
|
|
|
|
|
|
|
var name = window.location.hostname.split('.')[0];
|
|
|
|
var feedback_address = name + '-feedback' + '@yandex-team.ru';
|
|
|
|
var feedback_email = document.getElementsByClassName('feedback-email');
|
|
|
|
for (i = 0; i < feedback_email.length; i++) {
|
|
|
|
feedback_email[i].setAttribute('href', 'mailto:' + feedback_address);
|
|
|
|
feedback_email[i].innerHTML = feedback_address;
|
|
|
|
}
|
2019-04-08 16:01:54 +00:00
|
|
|
|
|
|
|
document.getElementById("releases-selector").addEventListener(
|
|
|
|
"change",
|
|
|
|
function() {
|
|
|
|
var target = window.location.href.split('docs')[0] + 'docs/';
|
|
|
|
if (this.value) {
|
|
|
|
target = target + this.value + '/';
|
|
|
|
}
|
|
|
|
window.location = target + '{{ config.theme.language }}';
|
|
|
|
}
|
|
|
|
)
|
2018-07-11 08:29:34 +00:00
|
|
|
});
|
|
|
|
</script>
|
2020-01-21 11:59:25 +00:00
|
|
|
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
|
|
|
|
<script type="text/javascript"> docsearch({
|
|
|
|
apiKey: 'e239649803024433599de47a53b2d416',
|
|
|
|
indexName: 'yandex_clickhouse',
|
|
|
|
inputSelector: '#md-search__input',
|
|
|
|
algoliaOptions: {
|
|
|
|
hitsPerPage: 25,
|
|
|
|
'facetFilters': ["lang:{{ lang.t('language') }}"]
|
|
|
|
},
|
|
|
|
debug: false
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
|
2018-07-11 08:29:34 +00:00
|
|
|
<!-- Yandex.Metrika counter -->
|
|
|
|
<script type="text/javascript">
|
|
|
|
(function (d, w, c) {
|
|
|
|
(w[c] = w[c] || []).push(function() {
|
|
|
|
try {
|
|
|
|
w.yaCounter18343495 = new Ya.Metrika2({
|
|
|
|
id:18343495,
|
|
|
|
clickmap:true,
|
|
|
|
trackLinks:true,
|
|
|
|
accurateTrackBounce:true,
|
2018-07-11 08:34:32 +00:00
|
|
|
webvisor: {% if not config.extra.single_page %}true{% else %}false{% endif %}
|
2018-07-11 08:29:34 +00:00
|
|
|
});
|
|
|
|
} catch(e) { }
|
2018-07-09 16:56:20 +00:00
|
|
|
});
|
2018-07-11 08:29:34 +00:00
|
|
|
var n = d.getElementsByTagName("script")[0],
|
|
|
|
s = d.createElement("script"),
|
|
|
|
f = function () { n.parentNode.insertBefore(s, n); };
|
|
|
|
s.type = "text/javascript";
|
|
|
|
s.async = true;
|
|
|
|
s.src = "https://mc.yandex.ru/metrika/tag.js";
|
|
|
|
if (w.opera == "[object Opera]") {
|
|
|
|
d.addEventListener("DOMContentLoaded", f, false);
|
|
|
|
} else { f(); }
|
|
|
|
})(document, window, "yandex_metrika_callbacks2");
|
|
|
|
</script>
|
|
|
|
<noscript>
|
|
|
|
<div><img src="https://mc.yandex.ru/watch/18343495" style="position:absolute; left:-9999px;" alt=""/></div>
|
|
|
|
</noscript>
|
|
|
|
<!-- /Yandex.Metrika counter -->
|
2017-12-29 12:43:05 +00:00
|
|
|
</body>
|
|
|
|
</html>
|