jekyll-text-theme-fork 2.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +235 -0
- data/LICENSE +21 -0
- data/README.md +89 -0
- data/_data/authors.yml +0 -0
- data/_data/licenses.yml +16 -0
- data/_data/locale.yml +169 -0
- data/_data/navigation.yml +52 -0
- data/_data/variables.yml +64 -0
- data/_includes/analytics-providers/custom.html +3 -0
- data/_includes/analytics-providers/google.html +14 -0
- data/_includes/analytics.html +7 -0
- data/_includes/article/footer/author-profile.html +47 -0
- data/_includes/article/footer/custom.html +3 -0
- data/_includes/article/footer/license.html +14 -0
- data/_includes/article/footer/subscribe.html +6 -0
- data/_includes/article/top/custom.html +3 -0
- data/_includes/article-footer.html +55 -0
- data/_includes/article-header.html +49 -0
- data/_includes/article-info.html +96 -0
- data/_includes/article-list.html +144 -0
- data/_includes/article-section-navigator.html +54 -0
- data/_includes/aside/toc.html +1 -0
- data/_includes/author-links.html +120 -0
- data/_includes/comments-providers/custom.html +3 -0
- data/_includes/comments-providers/disqus.html +22 -0
- data/_includes/comments-providers/gitalk.html +39 -0
- data/_includes/comments-providers/valine.html +46 -0
- data/_includes/comments.html +11 -0
- data/_includes/extensions/bilibili.html +5 -0
- data/_includes/extensions/codepen.html +4 -0
- data/_includes/extensions/netease-cloud-music.html +4 -0
- data/_includes/extensions/slideshare.html +6 -0
- data/_includes/extensions/soundcloud.html +4 -0
- data/_includes/extensions/ted.html +5 -0
- data/_includes/extensions/youtube.html +4 -0
- data/_includes/footer.html +37 -0
- data/_includes/head/custom.html +3 -0
- data/_includes/head/favicon.html +26 -0
- data/_includes/head.html +24 -0
- data/_includes/header.html +44 -0
- data/_includes/main/bottom/custom.html +3 -0
- data/_includes/main/top/custom.html +3 -0
- data/_includes/markdown-enhancements/chart.html +15 -0
- data/_includes/markdown-enhancements/mathjax.html +17 -0
- data/_includes/markdown-enhancements/mermaid.html +10 -0
- data/_includes/markdown-enhancements.html +17 -0
- data/_includes/pageview-providers/custom/home.html +3 -0
- data/_includes/pageview-providers/custom/post.html +3 -0
- data/_includes/pageview-providers/leancloud/home.html +35 -0
- data/_includes/pageview-providers/leancloud/leancloud.js +72 -0
- data/_includes/pageview-providers/leancloud/post.html +31 -0
- data/_includes/pageview.html +29 -0
- data/_includes/paginator.html +98 -0
- data/_includes/scripts/archieve.js +135 -0
- data/_includes/scripts/article.js +24 -0
- data/_includes/scripts/aside/affix.js +26 -0
- data/_includes/scripts/aside/toc.js +35 -0
- data/_includes/scripts/common.js +7 -0
- data/_includes/scripts/components/lightbox.js +49 -0
- data/_includes/scripts/components/search.js +86 -0
- data/_includes/scripts/components/sidebar.js +30 -0
- data/_includes/scripts/home.js +3 -0
- data/_includes/scripts/lib/affix.js +111 -0
- data/_includes/scripts/lib/gallery.js +192 -0
- data/_includes/scripts/lib/lazyload.js +143 -0
- data/_includes/scripts/lib/modal.js +64 -0
- data/_includes/scripts/lib/scroll-to.js +13 -0
- data/_includes/scripts/lib/swiper.js +203 -0
- data/_includes/scripts/lib/throttle.js +28 -0
- data/_includes/scripts/lib/toc.js +107 -0
- data/_includes/scripts/page.js +3 -0
- data/_includes/scripts/utils/imagesLoad.js +28 -0
- data/_includes/scripts/utils/utils.js +39 -0
- data/_includes/scripts/variables.html +35 -0
- data/_includes/search-providers/custom/search.html +3 -0
- data/_includes/search-providers/default/search-data.js +14 -0
- data/_includes/search-providers/default/search.html +18 -0
- data/_includes/search-providers/default/search.js +112 -0
- data/_includes/search-providers/google-custom-search-engine/search.html +21 -0
- data/_includes/search-providers/google-custom-search-engine/search.js +33 -0
- data/_includes/search.html +20 -0
- data/_includes/sharing-providers/addthis.html +9 -0
- data/_includes/sharing-providers/addtoany.html +10 -0
- data/_includes/sharing-providers/custom.html +3 -0
- data/_includes/sharing.html +7 -0
- data/_includes/sidebar/toc.html +25 -0
- data/_includes/snippets/assign.html +9 -0
- data/_includes/snippets/get-article-title.html +11 -0
- data/_includes/snippets/get-lang.html +6 -0
- data/_includes/snippets/get-locale-string.html +12 -0
- data/_includes/snippets/get-nav-url.html +8 -0
- data/_includes/snippets/get-sources.html +2 -0
- data/_includes/snippets/get-string-from-locale-config.html +7 -0
- data/_includes/snippets/is_collection.html +6 -0
- data/_includes/snippets/page-url.html +2 -0
- data/_includes/snippets/prepend-baseurl.html +4 -0
- data/_includes/snippets/prepend-path.html +1 -0
- data/_includes/svg/icon/social/behance.svg +3 -0
- data/_includes/svg/icon/social/douban.svg +5 -0
- data/_includes/svg/icon/social/facebook.svg +3 -0
- data/_includes/svg/icon/social/flicker.svg +5 -0
- data/_includes/svg/icon/social/github.svg +3 -0
- data/_includes/svg/icon/social/googleplus.svg +3 -0
- data/_includes/svg/icon/social/linkedin.svg +3 -0
- data/_includes/svg/icon/social/mail.svg +6 -0
- data/_includes/svg/icon/social/medium.svg +3 -0
- data/_includes/svg/icon/social/npm.svg +9 -0
- data/_includes/svg/icon/social/pinterest.svg +3 -0
- data/_includes/svg/icon/social/qq.svg +3 -0
- data/_includes/svg/icon/social/telegram.svg +4 -0
- data/_includes/svg/icon/social/twitter.svg +3 -0
- data/_includes/svg/icon/social/weibo.svg +6 -0
- data/_includes/svg/icon/social/weixin.svg +3 -0
- data/_includes/svg/icon/social/zhihu.svg +3 -0
- data/_includes/svg/logo.svg +8 -0
- data/_includes/tags.html +52 -0
- data/_layouts/404.html +13 -0
- data/_layouts/archive.html +40 -0
- data/_layouts/article.html +29 -0
- data/_layouts/articles.html +89 -0
- data/_layouts/base.html +25 -0
- data/_layouts/home.html +43 -0
- data/_layouts/landing.html +178 -0
- data/_layouts/none.html +1 -0
- data/_layouts/page.html +270 -0
- data/_sass/additional/_alert.scss +29 -0
- data/_sass/additional/_photo-frame.scss +17 -0
- data/_sass/additional/_tag.scss +21 -0
- data/_sass/animate/_fade-in-down.scss +10 -0
- data/_sass/animate/_fade-in-up.scss +10 -0
- data/_sass/animate/_fade-in.scss +8 -0
- data/_sass/common/_classes.scss +24 -0
- data/_sass/common/_function.scss +15 -0
- data/_sass/common/_print.scss +20 -0
- data/_sass/common/_reset.scss +174 -0
- data/_sass/common/_variables.scss +150 -0
- data/_sass/common/classes/_animation.scss +13 -0
- data/_sass/common/classes/_clearfix.scss +19 -0
- data/_sass/common/classes/_clickable.scss +159 -0
- data/_sass/common/classes/_display.scss +13 -0
- data/_sass/common/classes/_flex.scss +394 -0
- data/_sass/common/classes/_grid.scss +80 -0
- data/_sass/common/classes/_horizontal-rules.scss +14 -0
- data/_sass/common/classes/_link.scss +12 -0
- data/_sass/common/classes/_media.scss +17 -0
- data/_sass/common/classes/_overflow.scss +26 -0
- data/_sass/common/classes/_pseudo.scss +33 -0
- data/_sass/common/classes/_shadow.scss +22 -0
- data/_sass/common/classes/_spacing.scss +81 -0
- data/_sass/common/classes/_split-line.scss +24 -0
- data/_sass/common/classes/_text.scss +37 -0
- data/_sass/common/classes/_transform.scss +4 -0
- data/_sass/common/classes/_transition.scss +4 -0
- data/_sass/common/classes/_user-select.scss +6 -0
- data/_sass/common/components/_button.scss +163 -0
- data/_sass/common/components/_card.scss +103 -0
- data/_sass/common/components/_gallery.scss +21 -0
- data/_sass/common/components/_hero.scss +70 -0
- data/_sass/common/components/_image.scss +19 -0
- data/_sass/common/components/_item.scss +100 -0
- data/_sass/common/components/_menu.scss +67 -0
- data/_sass/common/components/_modal.scss +39 -0
- data/_sass/common/components/_swiper.scss +48 -0
- data/_sass/common/components/_toc.scss +124 -0
- data/_sass/components/_article-content.scss +221 -0
- data/_sass/components/_article-footer.scss +17 -0
- data/_sass/components/_article-header.scss +50 -0
- data/_sass/components/_article-info.scss +25 -0
- data/_sass/components/_article-list.scss +18 -0
- data/_sass/components/_author-links.scss +43 -0
- data/_sass/components/_author-profile.scss +26 -0
- data/_sass/components/_extensions.scss +35 -0
- data/_sass/components/_footer.scss +33 -0
- data/_sass/components/_header.scss +123 -0
- data/_sass/components/_lightbox.scss +7 -0
- data/_sass/components/_main.scss +28 -0
- data/_sass/components/_search.scss +186 -0
- data/_sass/components/_tags.scss +24 -0
- data/_sass/custom.scss +3 -0
- data/_sass/layout/_404.scss +14 -0
- data/_sass/layout/_archive.scss +5 -0
- data/_sass/layout/_article.scss +29 -0
- data/_sass/layout/_articles.scss +17 -0
- data/_sass/layout/_base.scss +6 -0
- data/_sass/layout/_home.scss +15 -0
- data/_sass/layout/_landing.scss +23 -0
- data/_sass/layout/_page.scss +165 -0
- data/_sass/skins/_chocolate.scss +74 -0
- data/_sass/skins/_dark.scss +74 -0
- data/_sass/skins/_default.scss +74 -0
- data/_sass/skins/_forest.scss +74 -0
- data/_sass/skins/_ocean.scss +74 -0
- data/_sass/skins/_orange.scss +74 -0
- data/_sass/skins/highlight/_default.scss +0 -0
- data/_sass/skins/highlight/_tomorrow-night-blue.scss +2 -0
- data/_sass/skins/highlight/_tomorrow-night-bright.scss +2 -0
- data/_sass/skins/highlight/_tomorrow-night-eighties.scss +2 -0
- data/_sass/skins/highlight/_tomorrow-night.scss +2 -0
- data/_sass/skins/highlight/_tomorrow.scss +2 -0
- data/_sass/skins/highlight/tomorrow/_default.scss +10 -0
- data/_sass/skins/highlight/tomorrow/_highlight.scss +74 -0
- data/_sass/skins/highlight/tomorrow/_night-blue.scss +10 -0
- data/_sass/skins/highlight/tomorrow/_night-bright.scss +10 -0
- data/_sass/skins/highlight/tomorrow/_night-eighties.scss +10 -0
- data/_sass/skins/highlight/tomorrow/_night.scss +10 -0
- data/assets/android-chrome-192x192.png +0 -0
- data/assets/android-chrome-512x512.png +0 -0
- data/assets/apple-touch-icon.png +0 -0
- data/assets/browserconfig.xml +9 -0
- data/assets/css/main.scss +74 -0
- data/assets/favicon-16x16.png +0 -0
- data/assets/favicon-32x32.png +0 -0
- data/assets/favicon.ico +0 -0
- data/assets/images/logo/logo.svg +8 -0
- data/assets/mstile-144x144.png +0 -0
- data/assets/mstile-150x150.png +0 -0
- data/assets/mstile-310x150.png +0 -0
- data/assets/mstile-310x310.png +0 -0
- data/assets/mstile-70x70.png +0 -0
- data/assets/safari-pinned-tab.svg +38 -0
- data/assets/search.js +3 -0
- data/assets/site.webmanifest +19 -0
- metadata +371 -0
@@ -0,0 +1,107 @@
|
|
1
|
+
(function() {
|
2
|
+
var SOURCES = window.TEXT_VARIABLES.sources;
|
3
|
+
window.Lazyload.js(SOURCES.jquery, function() {
|
4
|
+
function toc(options) {
|
5
|
+
var $root = this, $window = $(window), $scrollTarget, $scroller, $tocUl = $('<ul class="toc toc--ellipsis"></ul>'), $tocLi, $headings, $activeLast, $activeCur,
|
6
|
+
selectors = 'h1,h2,h3', container = 'body', scrollTarget = window, scroller = 'html, body', disabled = false,
|
7
|
+
headingsPos, scrolling = false, hasRendered = false, hasInit = false;
|
8
|
+
|
9
|
+
function setOptions(options) {
|
10
|
+
var _options = options || {};
|
11
|
+
_options.selectors && (selectors = _options.selectors);
|
12
|
+
_options.container && (container = _options.container);
|
13
|
+
_options.scrollTarget && (scrollTarget = _options.scrollTarget);
|
14
|
+
_options.scroller && (scroller = _options.scroller);
|
15
|
+
_options.disabled !== undefined && (disabled = _options.disabled);
|
16
|
+
$headings = $(container).find(selectors).filter('[id]');
|
17
|
+
$scrollTarget = $(scrollTarget);
|
18
|
+
$scroller = $(scroller);
|
19
|
+
}
|
20
|
+
function calc() {
|
21
|
+
headingsPos = [];
|
22
|
+
$headings.each(function() {
|
23
|
+
headingsPos.push(Math.floor($(this).position().top));
|
24
|
+
});
|
25
|
+
}
|
26
|
+
function setState(element, disabled) {
|
27
|
+
var scrollTop = $scrollTarget.scrollTop(), i;
|
28
|
+
if (disabled || !headingsPos || headingsPos.length < 1) { return; }
|
29
|
+
if (element) {
|
30
|
+
$activeCur = element;
|
31
|
+
} else {
|
32
|
+
for (i = 0; i < headingsPos.length; i++) {
|
33
|
+
if (scrollTop >= headingsPos[i]) {
|
34
|
+
$activeCur = $tocLi.eq(i);
|
35
|
+
} else {
|
36
|
+
$activeCur || ($activeCur = $tocLi.eq(i));
|
37
|
+
break;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
41
|
+
$activeLast && $activeLast.removeClass('active');
|
42
|
+
($activeLast = $activeCur).addClass('active');
|
43
|
+
}
|
44
|
+
function render() {
|
45
|
+
if(!hasRendered) {
|
46
|
+
$root.append($tocUl);
|
47
|
+
$headings.each(function() {
|
48
|
+
var $this = $(this);
|
49
|
+
$tocUl.append($('<li></li>').addClass('toc-' + $this.prop('tagName').toLowerCase())
|
50
|
+
.append($('<a></a>').text($this.text()).attr('href', '#' + $this.prop('id'))));
|
51
|
+
});
|
52
|
+
$tocLi = $tocUl.children('li');
|
53
|
+
$tocUl.on('click', 'a', function(e) {
|
54
|
+
e.preventDefault();
|
55
|
+
var $this = $(this);
|
56
|
+
scrolling = true;
|
57
|
+
setState($this.parent());
|
58
|
+
$scroller.scrollToAnchor($this.attr('href'), 400, function() {
|
59
|
+
scrolling = false;
|
60
|
+
});
|
61
|
+
});
|
62
|
+
}
|
63
|
+
hasRendered = true;
|
64
|
+
}
|
65
|
+
function init() {
|
66
|
+
var interval, timeout;
|
67
|
+
if(!hasInit) {
|
68
|
+
render(); calc(); setState(null, scrolling);
|
69
|
+
// run calc every 100 millisecond
|
70
|
+
interval = setInterval(function() {
|
71
|
+
calc();
|
72
|
+
}, 100);
|
73
|
+
timeout = setTimeout(function() {
|
74
|
+
clearInterval(interval);
|
75
|
+
}, 45000);
|
76
|
+
window.pageLoad.then(function() {
|
77
|
+
setTimeout(function() {
|
78
|
+
clearInterval(interval);
|
79
|
+
clearTimeout(timeout);
|
80
|
+
}, 3000);
|
81
|
+
});
|
82
|
+
$scrollTarget.on('scroll', function() {
|
83
|
+
disabled || setState(null, scrolling);
|
84
|
+
});
|
85
|
+
$window.on('resize', window.throttle(function() {
|
86
|
+
if (!disabled) {
|
87
|
+
render(); calc(); setState(null, scrolling);
|
88
|
+
}
|
89
|
+
}, 100));
|
90
|
+
}
|
91
|
+
hasInit = true;
|
92
|
+
}
|
93
|
+
|
94
|
+
setOptions(options);
|
95
|
+
if (!disabled) {
|
96
|
+
init();
|
97
|
+
}
|
98
|
+
$window.on('resize', window.throttle(function() {
|
99
|
+
init();
|
100
|
+
}, 200));
|
101
|
+
return {
|
102
|
+
setOptions: setOptions
|
103
|
+
};
|
104
|
+
}
|
105
|
+
$.fn.toc = toc;
|
106
|
+
});
|
107
|
+
})();
|
@@ -0,0 +1,28 @@
|
|
1
|
+
(function() {
|
2
|
+
window.imagesLoad = function(images) {
|
3
|
+
images = images || document.getElementsByTagName('img');
|
4
|
+
var imagesCount = images.length, loadedCount = 0, image;
|
5
|
+
var i, j, loaded = false, cbs = [];
|
6
|
+
imagesCount < 1 && (loaded = true);
|
7
|
+
for (i = 0; i < imagesCount; i++) {
|
8
|
+
image = images[i];
|
9
|
+
image.complete ? handleImageLoad() : image.addEventListener('load', handleImageLoad);
|
10
|
+
}
|
11
|
+
function handleImageLoad() {
|
12
|
+
loadedCount++;
|
13
|
+
if (loadedCount === imagesCount) {
|
14
|
+
loaded = true;
|
15
|
+
if (cbs.length > 0) {
|
16
|
+
for (j = 0; j < cbs.length; j++) {
|
17
|
+
cbs[j]();
|
18
|
+
}
|
19
|
+
}
|
20
|
+
}
|
21
|
+
}
|
22
|
+
return {
|
23
|
+
then: function(cb) {
|
24
|
+
cb && (loaded ? cb() : (cbs.push(cb)));
|
25
|
+
}
|
26
|
+
};
|
27
|
+
};
|
28
|
+
})();
|
@@ -0,0 +1,39 @@
|
|
1
|
+
(function() {
|
2
|
+
window.isArray = function(val) {
|
3
|
+
return Object.prototype.toString.call(val) === '[object Array]';
|
4
|
+
};
|
5
|
+
window.isString = function(val) {
|
6
|
+
return typeof val === 'string';
|
7
|
+
};
|
8
|
+
|
9
|
+
window.hasEvent = function(event) {
|
10
|
+
return 'on'.concat(event) in window.document;
|
11
|
+
};
|
12
|
+
|
13
|
+
window.isOverallScroller = function(node) {
|
14
|
+
return node === document.documentElement || node === document.body || node === window;
|
15
|
+
};
|
16
|
+
|
17
|
+
window.isFormElement = function(node) {
|
18
|
+
var tagName = node.tagName;
|
19
|
+
return tagName === 'INPUT' || tagName === 'SELECT' || tagName === 'TEXTAREA';
|
20
|
+
};
|
21
|
+
|
22
|
+
window.pageLoad = (function () {
|
23
|
+
var loaded = false, cbs = [];
|
24
|
+
window.addEventListener('load', function () {
|
25
|
+
var i;
|
26
|
+
loaded = true;
|
27
|
+
if (cbs.length > 0) {
|
28
|
+
for (i = 0; i < cbs.length; i++) {
|
29
|
+
cbs[i]();
|
30
|
+
}
|
31
|
+
}
|
32
|
+
});
|
33
|
+
return {
|
34
|
+
then: function(cb) {
|
35
|
+
cb && (loaded ? cb() : (cbs.push(cb)));
|
36
|
+
}
|
37
|
+
};
|
38
|
+
})();
|
39
|
+
})();
|
@@ -0,0 +1,35 @@
|
|
1
|
+
{%- include snippets/get-sources.html -%}
|
2
|
+
{%- assign _sources = __return -%}
|
3
|
+
|
4
|
+
{%- include snippets/get-nav-url.html path="/assets/search.js" -%}
|
5
|
+
{%- assign _paths_search_js = __return -%}
|
6
|
+
|
7
|
+
<script>
|
8
|
+
(function() {
|
9
|
+
var TEXT_VARIABLES = {
|
10
|
+
version: '2.2.6',
|
11
|
+
sources: {
|
12
|
+
font_awesome: '{{ _sources.font_awesome }}',
|
13
|
+
jquery: '{{ _sources.jquery }}',
|
14
|
+
leancloud_js_sdk: '{{ _sources.leancloud_js_sdk }}',
|
15
|
+
chart: '{{ _sources.chart }}',
|
16
|
+
gitalk: {
|
17
|
+
js: '{{ _sources.gitalk.js }}',
|
18
|
+
css: '{{ _sources.gitalk.css }}'
|
19
|
+
},
|
20
|
+
valine: '{{ _sources.valine }}',
|
21
|
+
mathjax: '{{ _sources.mathjax }}',
|
22
|
+
mermaid: '{{ _sources.mermaid }}'
|
23
|
+
},
|
24
|
+
site: {
|
25
|
+
toc: {
|
26
|
+
selectors: '{{ site.toc.selectors | default: site.data.variables.default.toc.selectors }}'
|
27
|
+
}
|
28
|
+
},
|
29
|
+
paths: {
|
30
|
+
search_js: '{{ _paths_search_js }}'
|
31
|
+
}
|
32
|
+
};
|
33
|
+
window.TEXT_VARIABLES = TEXT_VARIABLES;
|
34
|
+
})();
|
35
|
+
</script>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
window.TEXT_SEARCH_DATA={
|
2
|
+
{%- for _collection in site.collections -%}
|
3
|
+
{%- unless forloop.first -%},{%- endunless -%}
|
4
|
+
'{{ _collection.label }}':[
|
5
|
+
{%- for _article in _collection.docs -%}
|
6
|
+
{%- unless forloop.first -%},{%- endunless -%}
|
7
|
+
{'title':{{ _article.title | jsonify }},
|
8
|
+
{%- include snippets/prepend-baseurl.html path=_article.url -%}
|
9
|
+
{%- assign _url = __return -%}
|
10
|
+
'url':{{ _url | jsonify }}}
|
11
|
+
{%- endfor -%}
|
12
|
+
]
|
13
|
+
{%- endfor -%}
|
14
|
+
};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<div class="search search--dark">
|
2
|
+
<div class="main">
|
3
|
+
<div class="search__header">{{ _locale_search }}</div>
|
4
|
+
<div class="search-bar">
|
5
|
+
<div class="search-box js-search-box">
|
6
|
+
<div class="search-box__icon-search"><i class="fas fa-search"></i></div>
|
7
|
+
<input type="text" />
|
8
|
+
<div class="search-box__icon-clear js-icon-clear">
|
9
|
+
<a><i class="fas fa-times"></i></a>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
<button class="button button--theme-dark button--pill search__cancel js-search-toggle">
|
13
|
+
{{ _locale_cancel }}</button>
|
14
|
+
</div>
|
15
|
+
<div class="search-result js-search-result"></div>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
<script>{%- include search-providers/default/search.js -%}</script>
|
@@ -0,0 +1,112 @@
|
|
1
|
+
var SOURCES = window.TEXT_VARIABLES.sources;
|
2
|
+
var PAHTS = window.TEXT_VARIABLES.paths;
|
3
|
+
window.Lazyload.js([SOURCES.jquery, PAHTS.search_js], function() {
|
4
|
+
var search = (window.search || (window.search = {}));
|
5
|
+
var searchData = window.TEXT_SEARCH_DATA || {};
|
6
|
+
|
7
|
+
function memorize(f) {
|
8
|
+
var cache = {};
|
9
|
+
return function () {
|
10
|
+
var key = Array.prototype.join.call(arguments, ',');
|
11
|
+
if (key in cache) return cache[key];
|
12
|
+
else return cache[key] = f.apply(this, arguments);
|
13
|
+
};
|
14
|
+
}
|
15
|
+
|
16
|
+
/// search
|
17
|
+
function searchByQuery(query) {
|
18
|
+
var i, j, key, keys, cur, _title, result = {};
|
19
|
+
keys = Object.keys(searchData);
|
20
|
+
for (i = 0; i < keys.length; i++) {
|
21
|
+
key = keys[i];
|
22
|
+
for (j = 0; j < searchData[key].length; j++) {
|
23
|
+
cur = searchData[key][j], _title = cur.title;
|
24
|
+
if ((result[key] === undefined || result[key] && result[key].length < 4 )
|
25
|
+
&& _title.toLowerCase().indexOf(query.toLowerCase()) >= 0) {
|
26
|
+
if (result[key] === undefined) {
|
27
|
+
result[key] = [];
|
28
|
+
}
|
29
|
+
result[key].push(cur);
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
33
|
+
return result;
|
34
|
+
}
|
35
|
+
|
36
|
+
var renderHeader = memorize(function(header) {
|
37
|
+
return $('<p class="search-result__header">' + header + '</p>');
|
38
|
+
});
|
39
|
+
|
40
|
+
var renderItem = function(index, title, url) {
|
41
|
+
return $('<li class="search-result__item" data-index="' + index + '"><a class="button" href="' + url + '">' + title + '</a></li>');
|
42
|
+
};
|
43
|
+
|
44
|
+
function render(data) {
|
45
|
+
if (!data) { return null; }
|
46
|
+
var $root = $('<ul></ul>'), i, j, key, keys, cur, itemIndex = 0;
|
47
|
+
keys = Object.keys(data);
|
48
|
+
for (i = 0; i < keys.length; i++) {
|
49
|
+
key = keys[i];
|
50
|
+
$root.append(renderHeader(key));
|
51
|
+
for (j = 0; j < data[key].length; j++) {
|
52
|
+
cur = data[key][j];
|
53
|
+
$root.append(renderItem(itemIndex++, cur.title, cur.url));
|
54
|
+
}
|
55
|
+
}
|
56
|
+
return $root;
|
57
|
+
}
|
58
|
+
|
59
|
+
// search box
|
60
|
+
var $result = $('.js-search-result'), $resultItems;
|
61
|
+
var lastActiveIndex, activeIndex;
|
62
|
+
|
63
|
+
function clear() {
|
64
|
+
$result.html(null);
|
65
|
+
$resultItems = $('.search-result__item'); activeIndex = 0;
|
66
|
+
}
|
67
|
+
function onInputNotEmpty(val) {
|
68
|
+
$result.html(render(searchByQuery(val)));
|
69
|
+
$resultItems = $('.search-result__item'); activeIndex = 0;
|
70
|
+
$resultItems.eq(0).addClass('active');
|
71
|
+
}
|
72
|
+
|
73
|
+
search.clear = clear;
|
74
|
+
search.onInputNotEmpty = onInputNotEmpty;
|
75
|
+
|
76
|
+
function updateResultItems() {
|
77
|
+
lastActiveIndex >= 0 && $resultItems.eq(lastActiveIndex).removeClass('active');
|
78
|
+
activeIndex >= 0 && $resultItems.eq(activeIndex).addClass('active');
|
79
|
+
}
|
80
|
+
|
81
|
+
function moveActiveIndex(direction) {
|
82
|
+
var itemsCount = $resultItems ? $resultItems.length : 0;
|
83
|
+
if (itemsCount > 1) {
|
84
|
+
lastActiveIndex = activeIndex;
|
85
|
+
if (direction === 'up') {
|
86
|
+
activeIndex = (activeIndex - 1 + itemsCount) % itemsCount;
|
87
|
+
} else if (direction === 'down') {
|
88
|
+
activeIndex = (activeIndex + 1 + itemsCount) % itemsCount;
|
89
|
+
}
|
90
|
+
updateResultItems();
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
94
|
+
// Char Code: 13 Enter, 37 ⬅, 38 ⬆, 39 ➡, 40 ⬇
|
95
|
+
$(window).on('keyup', function(e) {
|
96
|
+
var modalVisible = search.getModalVisible && search.getModalVisible();
|
97
|
+
if (modalVisible) {
|
98
|
+
if (e.which === 38) {
|
99
|
+
modalVisible && moveActiveIndex('up');
|
100
|
+
} else if (e.which === 40) {
|
101
|
+
modalVisible && moveActiveIndex('down');
|
102
|
+
} else if (e.which === 13) {
|
103
|
+
modalVisible && $resultItems && activeIndex >= 0 && $resultItems.eq(activeIndex).children('a')[0].click();
|
104
|
+
}
|
105
|
+
}
|
106
|
+
});
|
107
|
+
|
108
|
+
$result.on('mouseover', '.search-result__item > a', function() {
|
109
|
+
var itemIndex = $(this).parent().data('index');
|
110
|
+
itemIndex >= 0 && (lastActiveIndex = activeIndex, activeIndex = itemIndex, updateResultItems());
|
111
|
+
});
|
112
|
+
});
|
@@ -0,0 +1,21 @@
|
|
1
|
+
{%- if site.search.google.custom_search_engine_id -%}
|
2
|
+
<div class="search search--dark search--google-custom-search-engine">
|
3
|
+
<div class="main">
|
4
|
+
<div class="content js-gcse">
|
5
|
+
<!-- <gcse:search enableAutoComplete="true" gname="search-box"></gcse:search>
|
6
|
+
<gcse:searchresults-only gname="results"></gcse:searchresults-only> -->
|
7
|
+
</div>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
<script>
|
11
|
+
var gcse = document.getElementsByClassName('js-gcse')[0];
|
12
|
+
var gcseSearch = document.createElement('gcse:search');
|
13
|
+
gcseSearch.setAttribute('enableAutoComplete', 'true');
|
14
|
+
gcseSearch.setAttribute('gname', 'search-box');
|
15
|
+
var gcseSearchresults = document.createElement('gcse:searchresults-only');
|
16
|
+
gcseSearchresults.setAttribute('gname', 'results');
|
17
|
+
gcse.appendChild(gcseSearch);
|
18
|
+
gcse.appendChild(gcseSearchresults);
|
19
|
+
</script>
|
20
|
+
<script>{%- include search-providers/google-custom-search-engine/search.js -%}</script>
|
21
|
+
{%- endif -%}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
var SOURCES = window.TEXT_VARIABLES.sources;
|
2
|
+
window.Lazyload.js(SOURCES.jquery, function() {
|
3
|
+
/* global google */
|
4
|
+
var search = (window.search || (window.search = {}));
|
5
|
+
var searchBox, searchInput, clearIcon, searchModal;
|
6
|
+
|
7
|
+
search.clear = function() {
|
8
|
+
searchBox && searchBox.clearAllResults();
|
9
|
+
};
|
10
|
+
search.onShow = function() {
|
11
|
+
searchInput && searchInput.focus();
|
12
|
+
};
|
13
|
+
search.onHide = function() {
|
14
|
+
searchInput && searchInput.blur();
|
15
|
+
};
|
16
|
+
|
17
|
+
window.__gcse = {
|
18
|
+
callback: function() {
|
19
|
+
searchBox = google.search.cse.element.getElement('search-box');
|
20
|
+
searchInput = document.getElementById('gsc-i-id1');
|
21
|
+
clearIcon = document.getElementById('gs_cb50');
|
22
|
+
searchModal = search.searchModal;
|
23
|
+
searchModal && searchModal.$el && searchModal.$el.on('click', function(e) {
|
24
|
+
(e.target === this || e.target === clearIcon || e.target.className === 'gs-title') && searchModal.hide();
|
25
|
+
});
|
26
|
+
}
|
27
|
+
};
|
28
|
+
var cx = '{{ site.search.google.custom_search_engine_id }}'; // Insert your own Custom Search Engine ID here
|
29
|
+
var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
|
30
|
+
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
|
31
|
+
'//cse.google.com/cse.js?cx=' + cx;
|
32
|
+
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
|
33
|
+
});
|
@@ -0,0 +1,20 @@
|
|
1
|
+
{%- include snippets/get-locale-string.html key='CANCEL' -%}
|
2
|
+
{%- assign _locale_cancel = __return -%}
|
3
|
+
{%- include snippets/get-locale-string.html key='SEARCH' -%}
|
4
|
+
{%- assign _locale_search = __return -%}
|
5
|
+
|
6
|
+
{%- if site.search.provider == 'google' -%}
|
7
|
+
<script>window.useDefaultSearchBox = false;</script>
|
8
|
+
{%- endif -%}
|
9
|
+
|
10
|
+
{%- if site.search.provider -%}
|
11
|
+
<script>{%- include scripts/components/search.js -%}</script>
|
12
|
+
{%- endif -%}
|
13
|
+
|
14
|
+
{%- if site.search.provider == 'default' -%}
|
15
|
+
{%- include search-providers/default/search.html -%}
|
16
|
+
{%- elsif site.search.provider == 'google' -%}
|
17
|
+
{%- include search-providers/google-custom-search-engine/search.html -%}
|
18
|
+
{%- elsif site.search.provider == 'custom' -%}
|
19
|
+
{%- include search-providers/custom/search.html -%}
|
20
|
+
{%- endif -%}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<!-- Addthis BEGIN -->
|
2
|
+
{%- assign _SHARING_ADDTHIS_ID = site.sharing.addthis.id -%}
|
3
|
+
|
4
|
+
{%- if _SHARING_ADDTHIS_ID -%}
|
5
|
+
<script type="text/javascript"
|
6
|
+
src="//s7.addthis.com/js/300/addthis_widget.js#pubid={{ _SHARING_ADDTHIS_ID }}"></script>
|
7
|
+
<div class="addthis_inline_share_toolbox addthis_default_style"></div>
|
8
|
+
{%- endif -%}
|
9
|
+
<!-- Addthis END -->
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<!-- AddToAny BEGIN -->
|
2
|
+
<div class="a2a_kit a2a_kit_size_32 a2a_default_style">
|
3
|
+
<a class="a2a_dd" href="https://www.addtoany.com/share"></a>
|
4
|
+
<a class="a2a_button_facebook"></a>
|
5
|
+
<a class="a2a_button_twitter"></a>
|
6
|
+
<a class="a2a_button_google_plus"></a>
|
7
|
+
<a class="a2a_button_linkedin"></a>
|
8
|
+
</div>
|
9
|
+
<script async src="https://static.addtoany.com/menu/page.js"></script>
|
10
|
+
<!-- AddToAny END -->
|
@@ -0,0 +1,7 @@
|
|
1
|
+
{%- if site.sharing.provider == 'addtoany' -%}
|
2
|
+
{%- include sharing-providers/addtoany.html -%}
|
3
|
+
{%- elsif site.sharing.provider == 'addthis' -%}
|
4
|
+
{%- include sharing-providers/addthis.html -%}
|
5
|
+
{%- elsif site.sharing.provider == 'custom' -%}
|
6
|
+
{%- include sharing-providers/custom.html -%}
|
7
|
+
{%- endif -%}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{%- if page.sidebar.nav -%}
|
2
|
+
<div class="sidebar-toc">
|
3
|
+
{%- assign _sidebar_nav = site.data.navigation[page.sidebar.nav] -%}
|
4
|
+
{%- if _sidebar_nav -%}
|
5
|
+
<ul class="toc toc--navigator">
|
6
|
+
{%- for _item in _sidebar_nav -%}
|
7
|
+
<li class="toc-h1">{{ _item.title }}</li>
|
8
|
+
{%- if _item.children -%}
|
9
|
+
{%- for _child in _item.children -%}
|
10
|
+
{%- include snippets/get-nav-url.html path=_child.url -%}
|
11
|
+
{%- assign _nav_url = __return -%}
|
12
|
+
{%- include snippets/get-nav-url.html path=page.url -%}
|
13
|
+
{%- assign _page_url = __return -%}
|
14
|
+
{%- if _nav_url == _page_url -%}
|
15
|
+
<li class="toc-h2 active"><a href="{{ _nav_url }}">{{ _child.title }}</a></li>
|
16
|
+
{%- else -%}
|
17
|
+
<li class="toc-h2"><a href="{{ _nav_url }}">{{ _child.title }}</a></li>
|
18
|
+
{%- endif -%}
|
19
|
+
{%- endfor -%}
|
20
|
+
{%- endif -%}
|
21
|
+
{%- endfor -%}
|
22
|
+
</ul>
|
23
|
+
{%- endif -%}
|
24
|
+
</div>
|
25
|
+
{%- endif -%}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
{%- assign _title = include.article.title | default: layout.title -%}
|
2
|
+
{%- assign _titles = include.article.titles | default: layout.titles -%}
|
3
|
+
|
4
|
+
{%- if _title -%}
|
5
|
+
{%- assign __return = _title -%}
|
6
|
+
{%- elsif _titles -%}
|
7
|
+
{%- include snippets/get-string-from-locale-config.html locale=_titles -%}
|
8
|
+
{%- assign __return = __return -%}
|
9
|
+
{%- else -%}
|
10
|
+
{%- assign __return = nil -%}
|
11
|
+
{%- endif -%}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
{%- include snippets/get-lang.html -%}
|
2
|
+
{%- assign _lang = __return -%}
|
3
|
+
{%- assign _local_lang = site.data.locale[_lang] -%}
|
4
|
+
{%- assign _local_lang_en = site.data.locale.en -%}
|
5
|
+
{%- if _local_lang == nil -%}
|
6
|
+
{%- assign _local_lang = _local_lang_en -%}
|
7
|
+
{%- endif -%}
|
8
|
+
{%- if _local_lang[include.key] -%}
|
9
|
+
{%- assign __return = _local_lang[include.key] -%}
|
10
|
+
{%- else -%}
|
11
|
+
{%- assign __return = _local_lang_en[include.key] -%}
|
12
|
+
{%- endif -%}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{%- assign _pre7 = include.path | slice: 0, 7 -%}
|
2
|
+
{%- assign _pre8 = include.path | slice: 0, 8 -%}
|
3
|
+
{%- if _pre7 == 'http://' or _pre8 == 'https://' -%}
|
4
|
+
{%- assign __return = include.path -%}
|
5
|
+
{%- else -%}
|
6
|
+
{%- include snippets/prepend-baseurl.html path=include.path -%}
|
7
|
+
{%- assign __return = __return -%}
|
8
|
+
{%- endif -%}
|
@@ -0,0 +1 @@
|
|
1
|
+
{%- assign __return = include.path | prepend: '/' | prepend: include.prepend_path | replace:'///','/' | replace:'//','/' -%}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M1056.000001 193.714286l-292 0 0 70.857143 292 0 0-70.857143zm-144 243.428571q-51.428571 0-83.428571 30t-35.428571 81.428571l233.142857 0q-10.285714-111.428571-114.285714-111.428571zm9.142857 334.285714q36 0 69.714286-18.285714t43.428571-49.714286l126.285714 0q-57.142857 175.428571-244 175.428571-122.285714 0-194.571429-75.428571t-72.285714-198.285714q0-118.857143 74.571429-197.428571t192.285714-78.571429q78.857143 0 137.428571 38.857143t87.428571 102.285714 28.857143 141.714286q0 9.714286-1.142857 26.857143l-376 0q0 63.428571 32.857143 98t95.142857 34.571429zm-762.857143-28.571429l169.142857 0q117.142857 0 117.142857-95.428571 0-102.857143-113.714286-102.857143l-172.571429 0 0 198.285714zm0-306.857143l160.571429 0q44.571429 0 70.571429-20.857143t26-64.857143q0-82.285714-108.571429-82.285714l-148.571429 0 0 168zm-158.285714-290.857143l339.428571 0q49.714286 0 88.571429 8t72.285714 27.142857 51.428571 55.142857 18 88q0 103.428571-98.285714 150.285714 65.142857 18.285714 98.285714 65.714286t33.142857 116.571429q0 42.857143-14 78t-37.714286 59.142857-56.285714 40.571429-69.142857 24-76.571429 7.428571l-349.142857 0 0-720z" />
|
3
|
+
</svg>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M161.431 147.172l699.701 0 0 78.813-699.701 0 0-78.814z" />
|
3
|
+
<path d="M800.298 616.311l0-308.108-578.031 0 0 308.108 578.031 0zM306.076 386.961l411.23 0 0 150.633-411.23 0 0-150.633z" />
|
4
|
+
<path d="M675.281 793.89c25.15-38.487 48.885-83.129 70.879-133.81l-84.107-30.649c-21.885 60.046-47.337 114.974-76.324 164.459l-146.332 0c-24.225-64.156-51.607-119.031-82.313-164.459l-77.357 30.649c31.9 47.851 57.651 92.383 77.357 133.81l-215.414 0 0 77.957 739.278 0 0-77.957-205.67 0z" />
|
5
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M767.428571 6.857143l0 150.857143-89.714286 0q-49.142857 0-66.285714 20.571429t-17.142857 61.714286l0 108 167.428571 0-22.285714 169.142857-145.142857 0 0 433.714286-174.857143 0 0-433.714286-145.714286 0 0-169.142857 145.714286 0 0-124.571429q0-106.285714 59.428571-164.857143t158.285714-58.571429q84 0 130.285714 6.857143z" />
|
3
|
+
</svg>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M512 996.693333C245.76 996.693333 27.306667 778.24 27.306667 512 27.306667 245.76 245.76 27.306667 512 27.306667c266.24 0 484.693333 218.453333 484.693333 484.693333C996.693333 778.24 778.24 996.693333 512 996.693333zM512 78.506667C273.066667 78.506667 78.506667 273.066667 78.506667 512S273.066667 945.493333 512 945.493333 945.493333 750.933333 945.493333 512 750.933333 78.506667 512 78.506667z" />
|
3
|
+
<path d="M655.36 512m-129.706667 0a3.8 3.8 0 1 0 259.413333 0 3.8 3.8 0 1 0-259.413333 0Z" />
|
4
|
+
<path d="M368.64 512m-129.706667 0a3.8 3.8 0 1 0 259.413333 0 3.8 3.8 0 1 0-259.413333 0Z" />
|
5
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path class="svgpath" data-index="path_0" fill="#272636" d="M0 525.2c0 223.6 143.3 413.7 343 483.5 26.9 6.8 22.8-12.4 22.8-25.4l0-88.7c-155.3 18.2-161.5-84.6-172-101.7-21.1-36-70.8-45.2-56-62.3 35.4-18.2 71.4 4.6 113.1 66.3 30.2 44.7 89.1 37.2 119 29.7 6.5-26.9 20.5-50.9 39.7-69.6C248.8 728.2 181.7 630 181.7 513.2c0-56.6 18.7-108.7 55.3-150.7-23.3-69.3 2.2-128.5 5.6-137.3 66.5-6 135.5 47.6 140.9 51.8 37.8-10.2 80.9-15.6 129.1-15.6 48.5 0 91.8 5.6 129.8 15.9 12.9-9.8 77-55.8 138.8-50.2 3.3 8.8 28.2 66.7 6.3 135 37.1 42.1 56 94.6 56 151.4 0 117-67.5 215.3-228.8 243.7 26.9 26.6 43.6 63.4 43.6 104.2l0 128.8c0.9 10.3 0 20.5 17.2 20.5C878.1 942.4 1024 750.9 1024 525.3c0-282.9-229.3-512-512-512C229.1 13.2 0 242.3 0 525.2L0 525.2z" />
|
3
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M621.31315 72.459289l-228.995461 0c-60.030212 0-135.601374 8.695033-198.98189 59.797921-47.839565 40.21184-71.180156 95.678106-71.180156 145.682987 0 84.786035 66.730821 170.671101 184.5369 170.671101 11.150968 0 23.341614-1.098008 35.619242-2.167363-5.574972 13.028735-11.122315 23.89113-11.122315 42.407855 0 33.68417 17.73799 54.338582 33.308617 73.894987-50.004881 3.264347-143.401014 8.695033-212.32785 50.005904-65.60416 38.046524-85.59547 93.483114-85.59547 132.624577 0 80.453357 77.794807 155.476027 239.019769 155.476027 191.20988 0 292.377-103.274108 292.377-205.451232 0-75.021647-44.402279-111.99984-93.367481-152.21168l-40.037878-30.447453c-12.219299-9.764388-28.887934-22.821775-28.887934-46.741557 0-23.890107 16.668635-39.142485 31.141254-53.269227 46.654576-35.879162 93.366458-73.925686 93.366458-154.37802 0-82.619696-53.357232-126.096906-78.951143-146.751319l68.926836 0L621.31315 72.459289zM523.497357 737.809909c0 67.367317-56.678884 117.373221-163.419953 117.373221-118.961392 0-195.687868-55.43659-195.687868-132.626623 0-77.18901 71.180156-103.274108 95.619778-111.969141 46.683229-15.223726 106.74107-17.419741 116.765377-17.419741 11.092639 0 16.638959 0 25.536606 1.098008C486.838436 652.994198 523.497357 682.316014 523.497357 737.809909zM434.608887 387.745045c-17.822924 17.36039-47.895847 30.447453-75.658144 30.447453-95.591125 0-138.980331-120.694873-138.980331-193.521528 0-28.281113 5.547343-57.631582 24.496927-80.453357 17.795295-21.75242 48.879244-35.879162 77.794807-35.879162 92.298126 0 140.078339 121.763205 140.078339 200.021569C462.341508 327.916425 460.116841 362.727255 434.608887 387.745045zM842.798567 238.016929 842.798567 127.57763l-55.464219 0 0 110.439298L676.402839 238.016929l0 55.234999 110.930485 0 0 110.438275 55.464219 0L842.797543 293.251927l110.929462 0 0-55.234999L842.798567 238.016929z" />
|
3
|
+
</svg>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg fill="#000000" width="24px" height="24px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M260.096 155.648c0 27.307008-9.899008 50.516992-29.696 69.632-19.796992 19.115008-45.396992 28.672-76.8 28.672-30.036992 0-54.612992-9.556992-73.728-28.672-19.115008-19.115008-28.672-42.324992-28.672-69.632 0-28.672 9.556992-52.224 28.672-70.656 19.115008-18.432 44.372992-27.648 75.776-27.648 31.403008 0 56.32 9.216 74.752 27.648 18.432 18.432 28.331008 41.984 29.696 70.656 0 0 0 0 0 0m-202.752 808.96c0 0 0-632.832 0-632.832 0 0 196.608 0 196.608 0 0 0 0 632.832 0 632.832 0 0-196.608 0-196.608 0 0 0 0 0 0 0m313.344-430.08c0-58.708992-1.364992-126.292992-4.096-202.752 0 0 169.984 0 169.984 0 0 0 10.24 88.064 10.24 88.064 0 0 4.096 0 4.096 0 40.96-68.267008 105.812992-102.4 194.56-102.4 68.267008 0 123.220992 22.868992 164.864 68.608 41.643008 45.739008 62.464 113.664 62.464 203.776 0 0 0 374.784 0 374.784 0 0-196.608 0-196.608 0 0 0 0-350.208 0-350.208 0-91.476992-33.451008-137.216-100.352-137.216-47.787008 0-81.236992 24.576-100.352 73.728-4.096 8.192-6.144 24.576-6.144 49.152 0 0 0 364.544 0 364.544 0 0-198.656 0-198.656 0 0 0 0-430.08 0-430.08 0 0 0 0 0 0" />
|
3
|
+
</svg>
|