jekyll-text-theme 2.2.4 → 2.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +29 -17
- data/README.md +7 -4
- data/_data/locale.yml +138 -93
- data/_data/navigation.yml +47 -10
- data/_data/variables.yml +4 -2
- data/_includes/analytics-providers/custom.html +3 -0
- data/_includes/article-footer.html +55 -0
- data/_includes/article-header.html +1 -1
- data/_includes/article-info.html +2 -2
- data/_includes/article-list.html +11 -7
- data/_includes/article-section-navigator.html +2 -2
- data/_includes/{article-footer → article/footer}/author-profile.html +0 -0
- data/_includes/article/footer/custom.html +3 -0
- data/_includes/{article-footer → article/footer}/license.html +1 -1
- data/_includes/article/footer/subscribe.html +6 -0
- data/_includes/article/top/custom.html +3 -0
- data/_includes/author-links.html +59 -31
- data/_includes/comments-providers/custom.html +3 -0
- data/_includes/comments-providers/gitalk.html +8 -1
- data/_includes/comments-providers/valine.html +15 -2
- data/_includes/footer.html +15 -18
- data/_includes/head.html +3 -25
- data/_includes/head/custom.html +3 -0
- data/_includes/head/favicon.html +26 -0
- data/_includes/header.html +10 -6
- data/_includes/main/bottom/custom.html +3 -0
- data/_includes/main/top/custom.html +3 -0
- data/_includes/pageview-providers/custom/home.html +3 -0
- data/_includes/pageview-providers/custom/post.html +3 -0
- data/_includes/pageview-providers/leancloud/leancloud.js +3 -2
- data/_includes/pageview-providers/leancloud/post.html +1 -1
- data/_includes/paginator.html +1 -1
- data/_includes/scripts/article.js +1 -1
- data/_includes/scripts/aside/affix.js +1 -1
- data/_includes/scripts/aside/toc.js +1 -1
- data/_includes/scripts/common.js +1 -1
- data/_includes/scripts/components/search.js +86 -0
- data/_includes/scripts/components/sidebar.js +1 -2
- data/_includes/scripts/home.js +1 -1
- data/_includes/scripts/lib/affix.js +1 -1
- data/_includes/scripts/lib/gallery.js +123 -20
- data/_includes/scripts/lib/lazyload.js +1 -1
- data/_includes/scripts/lib/modal.js +9 -7
- data/_includes/scripts/lib/scroll-to.js +1 -1
- data/_includes/scripts/lib/swiper.js +28 -6
- data/_includes/scripts/lib/throttle.js +1 -1
- data/_includes/scripts/lib/toc.js +1 -1
- data/_includes/scripts/page.js +1 -1
- data/_includes/scripts/utils/imagesLoad.js +1 -1
- data/_includes/scripts/utils/utils.js +1 -5
- data/_includes/scripts/variables.html +1 -1
- data/_includes/search-providers/custom/search.html +3 -0
- data/_includes/{scripts/components/search → search-providers/default}/search-data.js +2 -2
- data/_includes/search-providers/default/search.html +18 -0
- data/_includes/{scripts/components/search → search-providers/default}/search.js +13 -69
- 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 +17 -19
- data/_includes/sharing-providers/custom.html +3 -0
- data/_includes/sharing.html +2 -0
- data/_includes/snippets/get-article-title.html +1 -1
- data/_includes/snippets/get-locale-string.html +12 -0
- data/_includes/snippets/{locale-to-string.html → get-string-from-locale-config.html} +0 -0
- data/_includes/svg/icon/social/medium.svg +3 -0
- data/_layouts/archive.html +22 -4
- data/_layouts/article.html +4 -51
- data/_layouts/home.html +23 -5
- data/_layouts/landing.html +22 -1
- data/_layouts/page.html +3 -7
- data/_sass/additional/_alert.scss +1 -1
- data/_sass/additional/_photo-frame.scss +1 -1
- data/_sass/additional/_tag.scss +1 -1
- data/_sass/animate/_fade-in-down.scss +1 -1
- data/_sass/animate/_fade-in-up.scss +1 -1
- data/_sass/animate/_fade-in.scss +1 -1
- data/_sass/common/_classes.scss +7 -5
- data/_sass/common/_function.scss +1 -1
- data/_sass/common/_print.scss +1 -1
- data/_sass/common/_reset.scss +18 -14
- data/_sass/common/_variables.scss +5 -8
- data/_sass/common/classes/_animation.scss +1 -1
- data/_sass/common/classes/_clearfix.scss +1 -1
- data/_sass/common/classes/_clickable.scss +10 -1
- data/_sass/common/classes/_grid.scss +1 -1
- data/_sass/common/classes/_horizontal-rules.scss +1 -1
- data/_sass/common/classes/_link.scss +10 -1
- data/_sass/common/classes/_media.scss +1 -1
- data/_sass/common/classes/_overflow.scss +1 -1
- data/_sass/common/classes/_pseudo.scss +1 -1
- data/_sass/common/classes/_shadow.scss +1 -1
- data/_sass/common/classes/_spacing.scss +1 -1
- data/_sass/common/classes/_split-line.scss +1 -1
- data/_sass/common/classes/_text.scss +1 -1
- data/_sass/common/classes/_transform.scss +1 -1
- data/_sass/common/classes/_transition.scss +1 -1
- data/_sass/common/classes/_user-select.scss +1 -1
- data/_sass/common/components/_button.scss +3 -7
- data/_sass/common/components/_card.scss +2 -2
- data/_sass/common/components/_gallery.scss +8 -8
- data/_sass/common/components/_hero.scss +1 -1
- data/_sass/common/components/_image.scss +1 -1
- data/_sass/common/components/_item.scss +2 -2
- data/_sass/common/components/_menu.scss +1 -1
- data/_sass/common/components/_modal.scss +1 -1
- data/_sass/common/components/_swiper.scss +1 -1
- data/_sass/common/components/_toc.scss +61 -53
- data/_sass/components/_article-footer.scss +17 -0
- data/_sass/components/_article-header.scss +4 -1
- data/_sass/components/_article-list.scss +8 -1
- data/_sass/components/_author-links.scss +16 -10
- data/_sass/components/_author-profile.scss +2 -1
- data/_sass/components/_extensions.scss +1 -1
- data/_sass/components/_footer.scss +2 -7
- data/_sass/components/_header.scss +34 -18
- data/_sass/components/_lightbox.scss +2 -2
- data/_sass/components/_main.scss +1 -1
- data/_sass/components/_search.scss +22 -2
- data/_sass/components/_tags.scss +1 -1
- data/_sass/custom.scss +3 -0
- data/_sass/layout/_404.scss +1 -1
- data/_sass/layout/_article.scss +26 -41
- data/_sass/layout/_articles.scss +1 -1
- data/_sass/layout/_base.scss +1 -1
- data/_sass/layout/_home.scss +1 -1
- data/_sass/layout/_landing.scss +1 -1
- data/_sass/layout/_page.scss +120 -122
- data/_sass/skins/_chocolate.scss +7 -5
- data/_sass/skins/_dark.scss +7 -5
- data/_sass/skins/_default.scss +7 -5
- data/_sass/skins/_forest.scss +7 -5
- data/_sass/skins/_ocean.scss +7 -5
- data/_sass/skins/_orange.scss +7 -5
- data/_sass/skins/highlight/_tomorrow-night-blue.scss +1 -1
- data/_sass/skins/highlight/_tomorrow-night-bright.scss +1 -1
- data/_sass/skins/highlight/_tomorrow-night-eighties.scss +1 -1
- data/_sass/skins/highlight/_tomorrow-night.scss +1 -1
- data/_sass/skins/highlight/_tomorrow.scss +1 -1
- data/_sass/skins/highlight/tomorrow/_default.scss +1 -1
- data/_sass/skins/highlight/tomorrow/_highlight.scss +1 -1
- data/_sass/skins/highlight/tomorrow/_night-blue.scss +1 -1
- data/_sass/skins/highlight/tomorrow/_night-bright.scss +1 -1
- data/_sass/skins/highlight/tomorrow/_night-eighties.scss +1 -1
- data/_sass/skins/highlight/tomorrow/_night.scss +1 -1
- data/assets/css/main.scss +2 -3
- data/assets/search.js +1 -1
- metadata +42 -21
- data/_includes/article-footer/custom.html +0 -1
- data/_includes/pageview-providers/custom.html +0 -0
@@ -5,12 +5,13 @@
|
|
5
5
|
var $pageRoot = $('.js-page-root'), $pageMain = $('.js-page-main');
|
6
6
|
var activeCount = 0;
|
7
7
|
function modal(options) {
|
8
|
-
var $root = this, visible, onChange;
|
8
|
+
var $root = this, visible, onChange, hideWhenWindowScroll = false;
|
9
9
|
var scrollTop;
|
10
10
|
function setOptions(options) {
|
11
11
|
var _options = options || {};
|
12
12
|
visible = _options.initialVisible === undefined ? false : show;
|
13
13
|
onChange = _options.onChange;
|
14
|
+
hideWhenWindowScroll = _options.hideWhenWindowScroll;
|
14
15
|
}
|
15
16
|
function init() {
|
16
17
|
setState(visible);
|
@@ -21,19 +22,19 @@
|
|
21
22
|
}
|
22
23
|
visible = isShow;
|
23
24
|
if (visible) {
|
24
|
-
activeCount
|
25
|
+
activeCount++;
|
25
26
|
scrollTop = $(window).scrollTop() || $pageMain.scrollTop();
|
26
27
|
$root.addClass('modal--show');
|
27
28
|
$pageMain.scrollTop(scrollTop);
|
28
29
|
activeCount === 1 && ($pageRoot.addClass('show-modal'), $body.addClass('of-hidden'));
|
29
|
-
$window.on('scroll', hide);
|
30
|
+
hideWhenWindowScroll && window.hasEvent('touchstart') && $window.on('scroll', hide);
|
30
31
|
$window.on('keyup', handleKeyup);
|
31
32
|
} else {
|
32
|
-
activeCount > 0 && activeCount
|
33
|
+
activeCount > 0 && activeCount--;
|
33
34
|
$root.removeClass('modal--show');
|
34
35
|
$window.scrollTop(scrollTop);
|
35
36
|
activeCount === 0 && ($pageRoot.removeClass('show-modal'), $body.removeClass('of-hidden'));
|
36
|
-
$window.off('scroll', hide);
|
37
|
+
hideWhenWindowScroll && window.hasEvent('touchstart') && $window.off('scroll', hide);
|
37
38
|
$window.off('keyup', handleKeyup);
|
38
39
|
}
|
39
40
|
onChange && onChange(visible);
|
@@ -54,9 +55,10 @@
|
|
54
55
|
init();
|
55
56
|
return {
|
56
57
|
show: show,
|
57
|
-
hide: hide
|
58
|
+
hide: hide,
|
59
|
+
$el: $root
|
58
60
|
};
|
59
61
|
}
|
60
62
|
$.fn.modal = modal;
|
61
63
|
});
|
62
|
-
})();
|
64
|
+
})();
|
@@ -2,18 +2,21 @@
|
|
2
2
|
var SOURCES = window.TEXT_VARIABLES.sources;
|
3
3
|
window.Lazyload.js(SOURCES.jquery, function() {
|
4
4
|
function swiper(options) {
|
5
|
-
var $window = $(window), $root = this, $swiperWrapper, $swiperButtonPrev, $swiperButtonNext,
|
6
|
-
initialSlide, animation,
|
7
|
-
rootWidth, count, curIndex, translateX, CRITICAL_ANGLE = Math.PI / 3;
|
5
|
+
var $window = $(window), $root = this, $swiperWrapper, $swiperSlides, $swiperButtonPrev, $swiperButtonNext,
|
6
|
+
initialSlide, animation, onChange, onChangeEnd,
|
7
|
+
rootWidth, count, preIndex, curIndex, translateX, CRITICAL_ANGLE = Math.PI / 3;
|
8
8
|
|
9
9
|
function setOptions(options) {
|
10
10
|
var _options = options || {};
|
11
11
|
initialSlide = _options.initialSlide || 0;
|
12
12
|
animation = _options.animation === undefined && true;
|
13
|
+
onChange = onChange || _options.onChange;
|
14
|
+
onChangeEnd = onChangeEnd || _options.onChangeEnd;
|
13
15
|
}
|
14
16
|
|
15
17
|
function init() {
|
16
18
|
$swiperWrapper = $root.find('.swiper__wrapper');
|
19
|
+
$swiperSlides = $root.find('.swiper__slide');
|
17
20
|
$swiperButtonPrev = $root.find('.swiper__button--prev');
|
18
21
|
$swiperButtonNext = $root.find('.swiper__button--next');
|
19
22
|
animation && $swiperWrapper.addClass('swiper__wrapper--animation');
|
@@ -32,7 +35,7 @@
|
|
32
35
|
}
|
33
36
|
|
34
37
|
var calc = (function() {
|
35
|
-
var preAnimation;
|
38
|
+
var preAnimation, $swiperSlide, $preSwiperSlide;
|
36
39
|
return function (needPreCalc, params) {
|
37
40
|
needPreCalc && preCalc();
|
38
41
|
var _animation = (params && params.animation !== undefined) ? params.animation : animation;
|
@@ -40,6 +43,21 @@
|
|
40
43
|
preAnimation = _animation ? $swiperWrapper.addClass('swiper__wrapper--animation') :
|
41
44
|
$swiperWrapper.removeClass('swiper__wrapper--animation');
|
42
45
|
}
|
46
|
+
if (preIndex !== curIndex) {
|
47
|
+
($preSwiperSlide = $swiperSlides.eq(preIndex)).removeClass('active');
|
48
|
+
($swiperSlide = $swiperSlides.eq(curIndex)).addClass('active');
|
49
|
+
onChange && onChange(curIndex, $swiperSlides.eq(curIndex), $swiperSlide, $preSwiperSlide);
|
50
|
+
if (onChangeEnd) {
|
51
|
+
if (_animation) {
|
52
|
+
setTimeout(function() {
|
53
|
+
onChangeEnd(curIndex, $swiperSlides.eq(curIndex), $swiperSlide, $preSwiperSlide);
|
54
|
+
}, 400);
|
55
|
+
} else {
|
56
|
+
onChangeEnd(curIndex, $swiperSlides.eq(curIndex), $swiperSlide, $preSwiperSlide);
|
57
|
+
}
|
58
|
+
}
|
59
|
+
preIndex = curIndex;
|
60
|
+
}
|
43
61
|
$swiperWrapper.css('transform', 'translate(' + translateX + 'px, 0)');
|
44
62
|
if (count > 1) {
|
45
63
|
if (curIndex <= 0) {
|
@@ -61,6 +79,7 @@
|
|
61
79
|
}
|
62
80
|
|
63
81
|
function moveToIndex(index ,params) {
|
82
|
+
preIndex = curIndex;
|
64
83
|
curIndex = index;
|
65
84
|
translateX = getTranslateXFromCurIndex();
|
66
85
|
calc(false, params);
|
@@ -85,6 +104,7 @@
|
|
85
104
|
|
86
105
|
setOptions(options);
|
87
106
|
init();
|
107
|
+
preIndex = curIndex;
|
88
108
|
|
89
109
|
$swiperButtonPrev.on('click', function(e) {
|
90
110
|
e.stopPropagation();
|
@@ -95,7 +115,6 @@
|
|
95
115
|
move('next');
|
96
116
|
});
|
97
117
|
$window.on('resize', function() {
|
98
|
-
translateX = getTranslateXFromCurIndex();
|
99
118
|
calc(true, { animation: false });
|
100
119
|
});
|
101
120
|
|
@@ -109,6 +128,9 @@
|
|
109
128
|
preTranslateX = translateX;
|
110
129
|
}
|
111
130
|
function handleTouchmove(e) {
|
131
|
+
if (e.touches && e.touches.length > 1) {
|
132
|
+
return;
|
133
|
+
}
|
112
134
|
var point = e.touches ? e.touches[0] : e;
|
113
135
|
var deltaX = point.pageX - pageX;
|
114
136
|
var deltaY = point.pageY - pageY;
|
@@ -178,4 +200,4 @@
|
|
178
200
|
}
|
179
201
|
$.fn.swiper = swiper;
|
180
202
|
});
|
181
|
-
})();
|
203
|
+
})();
|
data/_includes/scripts/page.js
CHANGED
@@ -6,10 +6,6 @@
|
|
6
6
|
return typeof val === 'string';
|
7
7
|
};
|
8
8
|
|
9
|
-
window.decodeUrl = function(str) {
|
10
|
-
return str ? decodeURIComponent(str.replace(/\+/g, '%20')) : '';
|
11
|
-
};
|
12
|
-
|
13
9
|
window.hasEvent = function(event) {
|
14
10
|
return 'on'.concat(event) in window.document;
|
15
11
|
};
|
@@ -40,4 +36,4 @@
|
|
40
36
|
}
|
41
37
|
};
|
42
38
|
})();
|
43
|
-
})();
|
39
|
+
})();
|
@@ -4,10 +4,10 @@ window.TEXT_SEARCH_DATA={
|
|
4
4
|
'{{ _collection.label }}':[
|
5
5
|
{%- for _article in _collection.docs -%}
|
6
6
|
{%- unless forloop.first -%},{%- endunless -%}
|
7
|
-
{'title':
|
7
|
+
{'title':{{ _article.title | jsonify }},
|
8
8
|
{%- include snippets/prepend-baseurl.html path=_article.url -%}
|
9
9
|
{%- assign _url = __return -%}
|
10
|
-
'url':
|
10
|
+
'url':{{ _url | jsonify }}}
|
11
11
|
{%- endfor -%}
|
12
12
|
]
|
13
13
|
{%- endfor -%}
|
@@ -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>
|
@@ -1,7 +1,8 @@
|
|
1
1
|
var SOURCES = window.TEXT_VARIABLES.sources;
|
2
2
|
var PAHTS = window.TEXT_VARIABLES.paths;
|
3
3
|
window.Lazyload.js([SOURCES.jquery, PAHTS.search_js], function() {
|
4
|
-
var
|
4
|
+
var search = (window.search || (window.search = {}));
|
5
|
+
var searchData = window.TEXT_SEARCH_DATA || {};
|
5
6
|
|
6
7
|
function memorize(f) {
|
7
8
|
var cache = {};
|
@@ -12,21 +13,6 @@ window.Lazyload.js([SOURCES.jquery, PAHTS.search_js], function() {
|
|
12
13
|
};
|
13
14
|
}
|
14
15
|
|
15
|
-
function initData(data) {
|
16
|
-
var _data = [], i, j, key, keys, cur;
|
17
|
-
keys = Object.keys(data);
|
18
|
-
for (i = 0; i < keys.length; i++) {
|
19
|
-
key = keys[i], _data[key] = [];
|
20
|
-
for (j = 0; j < data[key].length; j++) {
|
21
|
-
cur = data[key][j];
|
22
|
-
cur.title = window.decodeUrl(cur.title);
|
23
|
-
cur.url = window.decodeUrl(cur.url);
|
24
|
-
_data[key].push(cur);
|
25
|
-
}
|
26
|
-
}
|
27
|
-
return _data;
|
28
|
-
}
|
29
|
-
|
30
16
|
/// search
|
31
17
|
function searchByQuery(query) {
|
32
18
|
var i, j, key, keys, cur, _title, result = {};
|
@@ -71,60 +57,21 @@ window.Lazyload.js([SOURCES.jquery, PAHTS.search_js], function() {
|
|
71
57
|
}
|
72
58
|
|
73
59
|
// search box
|
74
|
-
var $searchBox = $('.js-search-box');
|
75
|
-
var $searchInput = $searchBox.children('input');
|
76
|
-
var $searchClear = $searchBox.children('.js-icon-clear');
|
77
60
|
var $result = $('.js-search-result'), $resultItems;
|
78
61
|
var lastActiveIndex, activeIndex;
|
79
62
|
|
80
|
-
function
|
81
|
-
$
|
63
|
+
function clear() {
|
64
|
+
$result.html(null);
|
82
65
|
$resultItems = $('.search-result__item'); activeIndex = 0;
|
83
66
|
}
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
searchBoxEmpty();
|
89
|
-
} else {
|
90
|
-
$searchBox.addClass('not-empty'); $result.html(render(searchByQuery(val)));
|
91
|
-
$resultItems = $('.search-result__item'); activeIndex = 0;
|
92
|
-
$resultItems.eq(0).addClass('active');
|
93
|
-
}
|
94
|
-
}, 400));
|
95
|
-
$searchInput.on('focus', function() {
|
96
|
-
$(this).addClass('focus');
|
97
|
-
});
|
98
|
-
$searchInput.on('blur', function() {
|
99
|
-
$(this).removeClass('focus');
|
100
|
-
});
|
101
|
-
$searchClear.on('click', function() {
|
102
|
-
$searchInput.val(''); searchBoxEmpty();
|
103
|
-
});
|
104
|
-
|
105
|
-
// search panel
|
106
|
-
var $searchModal = $('.js-page-search-modal');
|
107
|
-
var $searchToggle = $('.js-search-toggle');
|
108
|
-
var modalVisible = false;
|
109
|
-
|
110
|
-
var searchModal = $searchModal.modal({ onChange: handleModalChange });
|
111
|
-
|
112
|
-
function handleModalChange(visible) {
|
113
|
-
modalVisible = visible;
|
114
|
-
if (visible) {
|
115
|
-
$searchInput[0].focus();
|
116
|
-
} else {
|
117
|
-
$searchInput[0].blur();
|
118
|
-
setTimeout(function() {
|
119
|
-
$searchInput.val(''); searchBoxEmpty();
|
120
|
-
window.pageAsideAffix && window.pageAsideAffix.refresh();
|
121
|
-
}, 400);
|
122
|
-
}
|
67
|
+
function onInputNotEmpty(val) {
|
68
|
+
$result.html(render(searchByQuery(val)));
|
69
|
+
$resultItems = $('.search-result__item'); activeIndex = 0;
|
70
|
+
$resultItems.eq(0).addClass('active');
|
123
71
|
}
|
124
72
|
|
125
|
-
|
126
|
-
|
127
|
-
});
|
73
|
+
search.clear = clear;
|
74
|
+
search.onInputNotEmpty = onInputNotEmpty;
|
128
75
|
|
129
76
|
function updateResultItems() {
|
130
77
|
lastActiveIndex >= 0 && $resultItems.eq(lastActiveIndex).removeClass('active');
|
@@ -144,8 +91,9 @@ window.Lazyload.js([SOURCES.jquery, PAHTS.search_js], function() {
|
|
144
91
|
}
|
145
92
|
}
|
146
93
|
|
147
|
-
// Char Code: 13 Enter, 37 ⬅, 38 ⬆, 39 ➡, 40
|
94
|
+
// Char Code: 13 Enter, 37 ⬅, 38 ⬆, 39 ➡, 40 ⬇
|
148
95
|
$(window).on('keyup', function(e) {
|
96
|
+
var modalVisible = search.getModalVisible && search.getModalVisible();
|
149
97
|
if (modalVisible) {
|
150
98
|
if (e.which === 38) {
|
151
99
|
modalVisible && moveActiveIndex('up');
|
@@ -154,10 +102,6 @@ window.Lazyload.js([SOURCES.jquery, PAHTS.search_js], function() {
|
|
154
102
|
} else if (e.which === 13) {
|
155
103
|
modalVisible && $resultItems && activeIndex >= 0 && $resultItems.eq(activeIndex).children('a')[0].click();
|
156
104
|
}
|
157
|
-
} else {
|
158
|
-
if (!window.isFormElement(e.target || e.srcElement) && (e.which === 83 || e.which === 191)) {
|
159
|
-
modalVisible || searchModal.show();
|
160
|
-
}
|
161
105
|
}
|
162
106
|
});
|
163
107
|
|
@@ -165,4 +109,4 @@ window.Lazyload.js([SOURCES.jquery, PAHTS.search_js], function() {
|
|
165
109
|
var itemIndex = $(this).parent().data('index');
|
166
110
|
itemIndex >= 0 && (lastActiveIndex = activeIndex, activeIndex = itemIndex, updateResultItems());
|
167
111
|
});
|
168
|
-
});
|
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
|
+
});
|
data/_includes/search.html
CHANGED
@@ -1,22 +1,20 @@
|
|
1
|
-
{%- include snippets/locale-
|
1
|
+
{%- include snippets/get-locale-string.html key='CANCEL' -%}
|
2
2
|
{%- assign _locale_cancel = __return -%}
|
3
|
-
{%- include snippets/locale-
|
3
|
+
{%- include snippets/get-locale-string.html key='SEARCH' -%}
|
4
4
|
{%- assign _locale_search = __return -%}
|
5
5
|
|
6
|
-
|
7
|
-
<
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
</div>
|
22
|
-
</div>
|
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 -%}
|