jekyll-text-theme 1.4.3 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +7 -6
- data/_data/locale.yml +21 -3
- data/_data/variables.yml +31 -0
- data/_includes/{blog → components}/article-data.html +4 -2
- data/_includes/{info → components}/follow-me.html +1 -1
- data/_includes/{blog → components}/footer.html +1 -1
- data/_includes/components/header.html +42 -0
- data/_includes/{blog → components}/license.html +0 -0
- data/_includes/{blog → components}/tags.html +5 -6
- data/_includes/icon/clear.svg +3 -0
- data/_includes/icon/link.svg +1 -0
- data/_includes/icon/omit.svg +1 -0
- data/_includes/icon/search.svg +3 -0
- data/_includes/icon/{mail.svg → social/mail.svg} +0 -0
- data/_includes/scripts/all.html +244 -0
- data/_includes/scripts/common.html +30 -0
- data/_includes/scripts/data.html +27 -0
- data/_includes/scripts/home.html +26 -0
- data/_includes/scripts/page-post.html +32 -0
- data/_includes/scripts/post.html +183 -0
- data/_includes/scripts/utils.html +180 -0
- data/_includes/snippets/get-lang.html +2 -2
- data/_includes/snippets/get-sources.html +5 -0
- data/_includes/utils/chart.html +17 -0
- data/_includes/utils/comment-disqus.html +0 -3
- data/_includes/utils/comment-gitalk.html +15 -12
- data/_includes/utils/google-analytics.html +6 -8
- data/_includes/utils/mathjax.html +10 -4
- data/_includes/utils/mermaid.html +5 -4
- data/_layouts/all.html +10 -131
- data/_layouts/base.html +38 -0
- data/_layouts/error-404.html +1 -1
- data/_layouts/home.html +81 -68
- data/_layouts/page.html +3 -3
- data/_layouts/post.html +32 -172
- data/_sass/animate/_fade-in-down.scss +10 -0
- data/_sass/animate/_fade-in.scss +8 -0
- data/_sass/colors/{_colors.chocolate.scss → _chocolate.scss} +9 -3
- data/_sass/colors/{_colors.dark.scss → _dark.scss} +10 -3
- data/_sass/colors/{_colors.default.scss → _default.scss} +10 -4
- data/_sass/colors/{_colors.forest.scss → _forest.scss} +9 -3
- data/_sass/colors/{_colors.ocean.scss → _ocean.scss} +9 -3
- data/_sass/colors/{_colors.orange.scss → _orange.scss} +9 -3
- data/_sass/common/_classes.scss +15 -0
- data/_sass/{settings → common}/_highlighting.scss +0 -12
- data/_sass/common/_reset.scss +171 -0
- data/_sass/common/_variables.scss +64 -0
- data/_sass/common/classes/_animation.scss +4 -0
- data/_sass/common/classes/_clearfix.scss +7 -0
- data/_sass/{mixins → common/classes}/_flex.scss +0 -0
- data/_sass/common/classes/_link.scss +161 -0
- data/_sass/common/classes/_media.scss +18 -0
- data/_sass/common/classes/_shadow.scss +14 -0
- data/_sass/common/classes/_shape.scss +19 -0
- data/_sass/common/classes/_space.scss +40 -0
- data/_sass/common/classes/_split-line.scss +24 -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 +72 -0
- data/_sass/components/_article.content.extra.scss +41 -0
- data/_sass/components/_article.content.scss +127 -69
- data/_sass/components/_article.data.scss +11 -11
- data/_sass/components/_follow-me.scss +27 -34
- data/_sass/components/_footer.scss +4 -4
- data/_sass/components/_header.scss +35 -22
- data/_sass/components/_license.scss +7 -7
- data/_sass/components/_main.scss +23 -0
- data/_sass/components/_pagination.scss +12 -0
- data/_sass/components/_tags.scss +30 -15
- data/_sass/components/_toc.scss +32 -19
- data/_sass/layout/_all.scss +82 -0
- data/_sass/layout/_default.scss +19 -0
- data/_sass/{blog/_page.error-404.scss → layout/_error-404.scss} +1 -1
- data/_sass/layout/_home.scss +61 -0
- data/_sass/layout/_post.scss +80 -0
- data/assets/css/blog.scss +29 -34
- data/assets/images/logo/logo.svg +1 -1
- metadata +56 -38
- data/_includes/blog/header.html +0 -56
- data/_layouts/blog-base.html +0 -36
- data/_layouts/blog-default.html +0 -7
- data/_sass/base/_animate.scss +0 -19
- data/_sass/base/_base.scss +0 -83
- data/_sass/base/_image&icon.scss +0 -23
- data/_sass/base/_links.scss +0 -73
- data/_sass/base/_text.scss +0 -56
- data/_sass/blog/_layout.base.scss +0 -3
- data/_sass/blog/_layout.default.scss +0 -21
- data/_sass/blog/_layout.post.scss +0 -68
- data/_sass/blog/_page.all.scss +0 -35
- data/_sass/blog/_page.index.scss +0 -50
- data/_sass/components/_wrapper.scss +0 -29
- data/_sass/mixins/_link.scss +0 -67
- data/_sass/mixins/_media.scss +0 -12
- data/_sass/mixins/_prefix.scss +0 -14
- data/_sass/mixins/_shape.scss +0 -19
- data/_sass/settings/_base.scss +0 -12
- data/_sass/settings/_colors.scss +0 -9
- data/_sass/settings/_font.scss +0 -32
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{%- if site.chart == true or page.chart == true -%}
|
|
2
|
+
{%- include snippets/get-sources.html -%}
|
|
3
|
+
{%- assign _sources = __return -%}
|
|
4
|
+
<script>
|
|
5
|
+
window.Lazyload.js(['{{ _sources.jquery }}', '{{ _sources.chart }}'], function() {
|
|
6
|
+
var $canvas = null, $this = null, _ctx = null, _text = '';
|
|
7
|
+
$('.language-chart').each(function(){
|
|
8
|
+
$this = $(this);
|
|
9
|
+
$canvas = $('<canvas></canvas>');
|
|
10
|
+
_text = $this.text();
|
|
11
|
+
$this.text('').append($canvas);
|
|
12
|
+
_ctx = $canvas.get(0).getContext('2d');
|
|
13
|
+
(_ctx && _text) && (new Chart(_ctx, JSON.parse(_text)) && $this.attr('data-processed', true));
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
</script>
|
|
17
|
+
{%- endif -%}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
{%- if site.disqus.shortname and page.key -%}
|
|
2
2
|
<div id="disqus_thread"></div>
|
|
3
3
|
<script>
|
|
4
|
-
|
|
5
4
|
/**
|
|
6
5
|
* RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
|
|
7
6
|
* LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
|
|
8
|
-
|
|
9
7
|
var disqus_config = function () {
|
|
10
8
|
this.page.url = '{%- include snippets/page-url.html -%}';
|
|
11
9
|
this.page.identifier = '{{ page.key }}';
|
|
12
10
|
};
|
|
13
|
-
|
|
14
11
|
(function() { // DON'T EDIT BELOW THIS LINE
|
|
15
12
|
var d = document, s = d.createElement('script');
|
|
16
13
|
s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
{%- if site.disqus.shortname == nil and site.gitalk.clientID and site.gitalk.clientSecret and site.gitalk.repository and site.gitalk.owner and site.gitalk.admin and page.key -%}
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
{%- include snippets/get-sources.html -%}
|
|
3
|
+
{%- assign _sources = __return -%}
|
|
4
|
+
<div id="js-gitalk-container"></div>
|
|
5
|
+
{%- assign admin = '' -%}
|
|
6
|
+
{%- for adminId in site.gitalk.admin -%}
|
|
7
|
+
{%- assign admin = admin | append: ", '" | append: adminId | append: "'" -%}
|
|
8
|
+
{%- endfor -%}
|
|
9
|
+
{%- assign last = admin | size | minus: 1 -%}
|
|
10
|
+
{%- assign admin = admin | slice: 2, last -%}
|
|
11
|
+
<script>
|
|
12
|
+
window.Lazyload.css('{{ _sources.gitalk.css }}');
|
|
13
|
+
window.Lazyload.js('{{ _sources.gitalk.js }}', function() {
|
|
12
14
|
var gitalk = new Gitalk({
|
|
13
15
|
clientID: '{{ site.gitalk.clientID }}',
|
|
14
16
|
clientSecret: '{{ site.gitalk.clientSecret }}',
|
|
15
17
|
repo: '{{ site.gitalk.repository }}',
|
|
16
18
|
owner: '{{ site.gitalk.owner }}',
|
|
17
19
|
admin: [{{ admin }}],
|
|
18
|
-
|
|
20
|
+
id: '{{ page.key }}'
|
|
19
21
|
});
|
|
20
22
|
gitalk.render('js-gitalk-container');
|
|
21
|
-
|
|
23
|
+
});
|
|
24
|
+
</script>
|
|
22
25
|
{%- endif -%}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
{%- if site.ga_tracking_id -%}
|
|
2
|
-
<!-- Google Analytics -->
|
|
3
2
|
<script>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
4
|
+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
5
|
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
6
|
+
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
ga('create', '{{ site.ga_tracking_id }}', 'auto');
|
|
9
|
+
ga('send', 'pageview');
|
|
11
10
|
</script>
|
|
12
|
-
<!-- End Google Analytics -->
|
|
13
11
|
{%- endif -%}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
{%- if site.mathjax == true or page.mathjax == true -%}
|
|
2
|
+
{%- include snippets/get-sources.html -%}
|
|
3
|
+
{%- assign _sources = __return -%}
|
|
2
4
|
<script type="text/x-mathjax-config">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
var _config = { tex2jax: {
|
|
6
|
+
inlineMath: [['$','$'], ['\\(','\\)']]
|
|
7
|
+
}};
|
|
8
|
+
{%- if site.mathjax_autoNumber == true or page.mathjax_autoNumber == true -%}
|
|
9
|
+
_config.TeX = { equationNumbers: { autoNumber: "all" } };
|
|
10
|
+
{%- endif -%}
|
|
11
|
+
MathJax.Hub.Config(_config);
|
|
6
12
|
</script>
|
|
7
|
-
<script type="text/javascript"
|
|
13
|
+
<script type="text/javascript" src="{{ _sources.mathjax }}" async></script>
|
|
8
14
|
{%- endif -%}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{%- if site.mermaid == true or page.mermaid == true -%}
|
|
2
|
-
|
|
2
|
+
{%- include snippets/get-sources.html -%}
|
|
3
|
+
{%- assign _sources = __return -%}
|
|
3
4
|
<script>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
window.Lazyload.js('{{ _sources.mermaid }}', function() {
|
|
6
|
+
mermaid.init(undefined, '.language-mermaid');
|
|
7
|
+
mermaid.initialize({ startOnLoad: true });
|
|
7
8
|
});
|
|
8
9
|
</script>
|
|
9
10
|
{%- endif -%}
|
data/_layouts/all.html
CHANGED
|
@@ -1,141 +1,20 @@
|
|
|
1
1
|
---
|
|
2
|
-
layout:
|
|
2
|
+
layout: base
|
|
3
3
|
titles:
|
|
4
4
|
en: All Posts
|
|
5
5
|
zh: 归档
|
|
6
6
|
zh-Hans: 归档
|
|
7
7
|
zh-Hant: 歸檔
|
|
8
8
|
---
|
|
9
|
-
<div class="m-all">
|
|
9
|
+
<div class="m-all js-all">
|
|
10
10
|
<div class="main">
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
<div class="m-search-box js-search-box">
|
|
12
|
+
<div class="icon-search">{%- include icon/search.svg -%}</div>
|
|
13
|
+
<input type="text" />
|
|
14
|
+
<div class="icon-clear">{%- include icon/clear.svg -%}</div>
|
|
15
|
+
</div>
|
|
16
|
+
{%- include components/tags.html -%}
|
|
14
17
|
<!--group by year: http://stackoverflow.com/questions/19086284/jekyll-liquid-templating-how-to-group-blog-posts-by-year-->
|
|
15
|
-
<
|
|
16
|
-
{%- for post in site.posts -%}
|
|
17
|
-
{%- assign currentdate = post.date | date: '%Y' -%}
|
|
18
|
-
{%- if currentdate != date -%}
|
|
19
|
-
{%- unless forloop.first -%}</ul></section>{%- endunless -%}
|
|
20
|
-
<section id="{{ post.date | date: "%Y" }}">
|
|
21
|
-
<h2 class="year-title" id="year-{{ post.date | date: "%Y" }}">{{ currentdate }}</h2>
|
|
22
|
-
<ul class="year-list">
|
|
23
|
-
{%- assign date = currentdate -%}
|
|
24
|
-
{%- endif -%}
|
|
25
|
-
{%- assign _tags = '' -%}
|
|
26
|
-
{%- for tag in post.tags -%}
|
|
27
|
-
{%- assign _tag = tag | strip | url_encode -%}
|
|
28
|
-
{%- assign _tags = _tags | append: ',' | append: _tag -%}
|
|
29
|
-
{%- endfor -%}
|
|
30
|
-
{%- assign last = _tags | size | minus: 1 -%}
|
|
31
|
-
{%- assign _tags = _tags | slice: 1, last -%}
|
|
32
|
-
{%- assign __path = post.url -%}
|
|
33
|
-
{%- include snippets/prepend-baseurl.html -%}
|
|
34
|
-
{%- assign href = __return -%}
|
|
35
|
-
{%- assign __locale = site.data.locale.ARTICLE_LIST_DATE_FORMAT -%}
|
|
36
|
-
{%- include snippets/locale-to-string.html -%}
|
|
37
|
-
<li class="js-post-block" data-tag="{{ _tags }}">
|
|
38
|
-
<span class="post-date">{{ post.date | date: __return }}</span>
|
|
39
|
-
<a class="post-link" href="{{ href }}">{{ post.title }}</a>
|
|
40
|
-
</li>
|
|
41
|
-
{%- if forloop.last -%}</ul></section>{%- endif -%}
|
|
42
|
-
{%- endfor -%}
|
|
43
|
-
</section>
|
|
18
|
+
<div class="js-result m-result"></div>
|
|
44
19
|
</div>
|
|
45
|
-
</div>
|
|
46
|
-
{%- include snippets/page-title.html -%}
|
|
47
|
-
<script type="text/javascript">
|
|
48
|
-
// function queryString is copied from
|
|
49
|
-
// http://stackoverflow.com/questions/979975/how-to-get-the-value-from-url-parameter#answer-979995
|
|
50
|
-
function queryString() {
|
|
51
|
-
// This function is anonymous, is executed immediately and
|
|
52
|
-
// the return value is assigned to QueryString!
|
|
53
|
-
var i = 0,
|
|
54
|
-
queryObj = {},
|
|
55
|
-
pair;
|
|
56
|
-
var queryStr = window.location.search.substring(1);
|
|
57
|
-
var queryArr = queryStr.split('&');
|
|
58
|
-
for (i = 0; i < queryArr.length; i++) {
|
|
59
|
-
pair = queryArr[i].split('=');
|
|
60
|
-
// If first entry with this name
|
|
61
|
-
if (typeof queryObj[pair[0]] === 'undefined') {
|
|
62
|
-
queryObj[pair[0]] = pair[1];
|
|
63
|
-
// If second entry with this name
|
|
64
|
-
} else if (typeof queryObj[pair[0]] === 'string') {
|
|
65
|
-
queryObj[pair[0]] = [queryObj[pair[0]], pair[1]];
|
|
66
|
-
// If third or later entry with this name
|
|
67
|
-
} else {
|
|
68
|
-
queryObj[pair[0]].push(pair[1]);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return queryObj;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
$(function() {
|
|
75
|
-
var $pageHeading = $('.js-page-heading');
|
|
76
|
-
var $articleTag = $('.js-article-tag');
|
|
77
|
-
var $tagShowAll = $('.js-tag-show-all');
|
|
78
|
-
var $postBlock = $('.js-post-block');
|
|
79
|
-
var $yearSection = $('.js-year-wrapper section');
|
|
80
|
-
|
|
81
|
-
window.tagSelect = function(tag) {
|
|
82
|
-
var i = 0,
|
|
83
|
-
flag = false,
|
|
84
|
-
cur, tagStr = '',
|
|
85
|
-
tags = [],
|
|
86
|
-
_tag = '',
|
|
87
|
-
lis = [];
|
|
88
|
-
if (tag === undefined || tag === '') {
|
|
89
|
-
$pageHeading.text('{{ __return }}');
|
|
90
|
-
$tagShowAll.focus();
|
|
91
|
-
$postBlock.show();
|
|
92
|
-
} else {
|
|
93
|
-
tag = tag.trim();
|
|
94
|
-
// $articleTag.filter('.tag-' + tag).focus();
|
|
95
|
-
for (i = 0; i < $articleTag.length; i++) {
|
|
96
|
-
cur = $articleTag.eq(i);
|
|
97
|
-
_tag = cur.data('tag');
|
|
98
|
-
if (typeof _tag === 'string' && _tag.trim() === tag) {
|
|
99
|
-
cur.focus();
|
|
100
|
-
tagStr = cur.children('span').text();
|
|
101
|
-
(typeof tagStr === 'string') && (tagStr = tagStr.trim());
|
|
102
|
-
$pageHeading.text('Tag: ' + tagStr);
|
|
103
|
-
break;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
$postBlock.each(function() {
|
|
107
|
-
flag = false;
|
|
108
|
-
cur = $(this);
|
|
109
|
-
tags = cur.data('tag').split(',');
|
|
110
|
-
for (i = 0; i < tags.length; i++) {
|
|
111
|
-
_tag = tags[i].trim();
|
|
112
|
-
if (_tag === tag) {
|
|
113
|
-
flag = true;
|
|
114
|
-
cur.show();
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
flag || (cur.hide());
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
$yearSection.each(function() {
|
|
122
|
-
flag = false;
|
|
123
|
-
cur = $(this);
|
|
124
|
-
lis = cur.find('li');
|
|
125
|
-
for (i = 0; i < lis.length; i++) {
|
|
126
|
-
if (lis.eq(i).css('display') !== 'none') {
|
|
127
|
-
flag = true;
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
flag ? cur.show() : cur.hide();
|
|
132
|
-
});
|
|
133
|
-
tag === undefined || window.history.replaceState(null, '', window.location.href.split('?')[0] + '?tag=' + tag);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
var query = queryString(),
|
|
137
|
-
tag = undefined;
|
|
138
|
-
query.tag === undefined || (tag = query.tag);
|
|
139
|
-
tagSelect(tag);
|
|
140
|
-
});
|
|
141
|
-
</script>
|
|
20
|
+
</div>
|
data/_layouts/base.html
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
{%- include snippets/get-lang.html -%}
|
|
3
|
+
<html lang="{{ __return }}">
|
|
4
|
+
<head>
|
|
5
|
+
{%- include common-head.html -%}
|
|
6
|
+
{%- include head-icons-rel.html -%}
|
|
7
|
+
{%- assign __path = '/assets/css/blog.css' -%}
|
|
8
|
+
{%- include snippets/prepend-baseurl.html -%}
|
|
9
|
+
<link rel="stylesheet" href="{{ __return }}">
|
|
10
|
+
{%- include scripts/utils.html -%}
|
|
11
|
+
</head>
|
|
12
|
+
<body>
|
|
13
|
+
<div class="m-page-stage js-page-stage">
|
|
14
|
+
<div class="m-page-content">
|
|
15
|
+
{%- include components/header.html -%}
|
|
16
|
+
<div class="m-page-main">{{ content }}</div>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
{%- include components/footer.html -%}
|
|
20
|
+
{%- include scripts/common.html -%}
|
|
21
|
+
{%- if page.layout == "home" -%}
|
|
22
|
+
{%- include scripts/home.html -%}
|
|
23
|
+
{%- elsif page.layout == "page" -%}
|
|
24
|
+
{%- include scripts/page-post.html -%}
|
|
25
|
+
{%- elsif page.layout == "post" -%}
|
|
26
|
+
{%- include scripts/page-post.html -%}
|
|
27
|
+
{%- include scripts/post.html -%}
|
|
28
|
+
{%- elsif page.layout == "all" -%}
|
|
29
|
+
{%- include scripts/all.html -%}
|
|
30
|
+
{%- endif -%}
|
|
31
|
+
{%- include utils/mathjax.html -%}
|
|
32
|
+
{%- include utils/mermaid.html -%}
|
|
33
|
+
{%- include utils/chart.html -%}
|
|
34
|
+
{%- if jekyll.environment != "development" -%}
|
|
35
|
+
{%- include utils/google-analytics.html -%}
|
|
36
|
+
{%- endif -%}
|
|
37
|
+
</body>
|
|
38
|
+
</html>
|
data/_layouts/error-404.html
CHANGED
data/_layouts/home.html
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
layout:
|
|
2
|
+
layout: base
|
|
3
3
|
titles:
|
|
4
4
|
en: Blog
|
|
5
5
|
zh: 博客
|
|
@@ -27,7 +27,7 @@ titles:
|
|
|
27
27
|
{%- assign __locale = site.data.locale.READMORE -%}
|
|
28
28
|
{%- include snippets/locale-to-string.html -%}
|
|
29
29
|
<a href="{{ href }}">{{ __return }}</a>
|
|
30
|
-
{%- include
|
|
30
|
+
{%- include components/article-data.html -%}
|
|
31
31
|
</article>
|
|
32
32
|
{%- endfor -%}
|
|
33
33
|
</div>
|
|
@@ -38,85 +38,98 @@ titles:
|
|
|
38
38
|
{%- assign post_count = site.posts | size -%}
|
|
39
39
|
{%- assign page_count = paginator.total_pages -%}
|
|
40
40
|
<p>{{ __return | replace: '[POST_COUNT]', post_count | replace: '[PAGE_COUNT]', page_count }}</p>
|
|
41
|
-
<ul
|
|
42
|
-
|
|
43
|
-
{%- assign
|
|
44
|
-
{%-
|
|
45
|
-
{%- assign
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
</li>
|
|
59
|
-
{%- elsif page == 1 -%}
|
|
60
|
-
{%- if site.paths.base -%}
|
|
61
|
-
{%- assign __path = site.paths.base -%}
|
|
41
|
+
<ul>
|
|
42
|
+
{%- assign _max_show = 5 -%}
|
|
43
|
+
{%- assign _max_show_modulo_two = _max_show | modulo: 2 -%}
|
|
44
|
+
{%- assign _length = paginator.total_pages -%}
|
|
45
|
+
{%- assign _length_mimus_one = _length | minus: 1 -%}
|
|
46
|
+
{%- assign _cur = paginator.page -%}
|
|
47
|
+
{%- assign _extra = _max_show | minus: 3 -%}
|
|
48
|
+
{%- assign _extra_half = _extra | divided_by: 2 -%}
|
|
49
|
+
{%- if _max_show > 4 and _max_show_modulo_two == 1 and paginator.total_pages > _max_show -%}
|
|
50
|
+
{%- assign _condition0 = _extra | divided_by: 2 | plus: 1 -%}
|
|
51
|
+
{%- assign _condition1 = _length | minus: _extra_half -%}
|
|
52
|
+
{%- if _cur <= _condition0 -%}
|
|
53
|
+
{%- assign _n0 = 2 -%}
|
|
54
|
+
{%- assign _n1 = _extra | plus: 2 -%}
|
|
55
|
+
{%- elsif _cur >= _condition1 -%}
|
|
56
|
+
{%- assign _n0 = _length | minus: _extra | minus: 1 -%}
|
|
57
|
+
{%- assign _n1 = _length | minus: 1 -%}
|
|
62
58
|
{%- else -%}
|
|
63
|
-
{%- assign
|
|
59
|
+
{%- assign _n0 = _cur | minus: _extra_half -%}
|
|
60
|
+
{%- assign _n1 = _cur | plus: _extra_half -%}
|
|
64
61
|
{%- endif -%}
|
|
62
|
+
{%- endif -%}
|
|
63
|
+
{%- if paginator.previous_page -%}
|
|
64
|
+
{%- assign __path = paginator.previous_page_path -%}
|
|
65
65
|
{%- include snippets/prepend-baseurl.html -%}
|
|
66
66
|
{%- assign href = __return -%}
|
|
67
|
-
<li>
|
|
68
|
-
<
|
|
67
|
+
<li><a class="round-button" href="{{ href }}">
|
|
68
|
+
<div class="icon icon--previous">{%- include icon/previous.svg -%}</div></a>
|
|
69
69
|
</li>
|
|
70
70
|
{%- else -%}
|
|
71
|
-
|
|
71
|
+
<li><div class="round-button inactive">
|
|
72
|
+
<div class="icon icon--prrevious">{%- include icon/previous.svg -%}</div></div>
|
|
73
|
+
</li>
|
|
74
|
+
{%- endif -%}
|
|
75
|
+
|
|
76
|
+
{%- for page in (1.._length) -%}
|
|
77
|
+
{%- if page == _cur -%}
|
|
78
|
+
<li>
|
|
79
|
+
<div class="round-button cur"><span>{{ page }}</span></div>
|
|
80
|
+
</li>
|
|
81
|
+
{%- elsif page == 1 -%}
|
|
82
|
+
{%- if site.paths.base -%}
|
|
83
|
+
{%- assign __path = site.paths.base -%}
|
|
84
|
+
{%- else -%}
|
|
85
|
+
{%- assign __path = '/' -%}
|
|
86
|
+
{%- endif -%}
|
|
87
|
+
{%- include snippets/prepend-baseurl.html -%}
|
|
88
|
+
{%- assign href = __return -%}
|
|
89
|
+
<li>
|
|
90
|
+
<a class="round-button" href="{{ href }}"><span>{{ page }}</span></a>
|
|
91
|
+
</li>
|
|
92
|
+
{%- else -%}
|
|
93
|
+
{%- if _n0 and _n1 -%}
|
|
94
|
+
{%- if page > 1 and page < _n0 -%}
|
|
95
|
+
{%- if page == 2 -%}<li><span class="omit">{%- include icon/omit.svg -%}</span></li>{%- endif -%}
|
|
96
|
+
{%- elsif page > _n1 and page < _length -%}
|
|
97
|
+
{%- if page == _length_mimus_one -%}<li><span class="omit">{%- include icon/omit.svg -%}</span></li>{%- endif -%}
|
|
98
|
+
{%- else -%}
|
|
99
|
+
{%- assign __path = site.paginate_path -%}
|
|
100
|
+
{%- include snippets/prepend-baseurl.html -%}
|
|
101
|
+
{%- assign href = __return -%}
|
|
102
|
+
<li>
|
|
103
|
+
<a class="round-button" href="{{ href | replace: ':num', page }}"><span>{{ page }}</span></a>
|
|
104
|
+
</li>
|
|
105
|
+
{%- endif -%}
|
|
106
|
+
{%- else -%}
|
|
107
|
+
{%- assign __path = site.paginate_path -%}
|
|
108
|
+
{%- include snippets/prepend-baseurl.html -%}
|
|
109
|
+
{%- assign href = __return -%}
|
|
110
|
+
<li>
|
|
111
|
+
<a class="round-button" href="{{ href | replace: ':num', page }}"><span>{{ page }}</span></a>
|
|
112
|
+
</li>
|
|
113
|
+
{%- endif -%}
|
|
114
|
+
{%- endif -%}
|
|
115
|
+
{%- endfor -%}
|
|
116
|
+
{%- if paginator.next_page -%}
|
|
117
|
+
{%- assign __path = paginator.next_page_path -%}
|
|
72
118
|
{%- include snippets/prepend-baseurl.html -%}
|
|
73
119
|
{%- assign href = __return -%}
|
|
74
120
|
<li>
|
|
75
|
-
<a class="round-button" href="{{ href
|
|
121
|
+
<a class="round-button" href="{{ href }}">
|
|
122
|
+
<div class="icon icon--next">{%- include icon/next.svg -%}</div>
|
|
123
|
+
</a>
|
|
76
124
|
</li>
|
|
125
|
+
{%- else -%}
|
|
126
|
+
<li><div class="round-button inactive">
|
|
127
|
+
<div class="icon icon--next">{%- include icon/next.svg -%}</div>
|
|
128
|
+
</div>
|
|
129
|
+
</li>
|
|
77
130
|
{%- endif -%}
|
|
78
|
-
{%- endfor -%}
|
|
79
|
-
{%- if paginator.next_page -%}
|
|
80
|
-
{%- assign __path = paginator.next_page_path -%}
|
|
81
|
-
{%- include snippets/prepend-baseurl.html -%}
|
|
82
|
-
{%- assign href = __return -%}
|
|
83
|
-
<li>
|
|
84
|
-
<a class="round-button" href="{{ href }}">
|
|
85
|
-
<div class="icon icon--next">{%- include icon/next.svg -%}</div>
|
|
86
|
-
</a>
|
|
87
|
-
</li>
|
|
88
|
-
{%- else -%}
|
|
89
|
-
<li><div class="round-button inactive">
|
|
90
|
-
<div class="icon icon--next">{%- include icon/next.svg -%}</div>
|
|
91
|
-
</div></li>
|
|
92
|
-
{%- endif -%}
|
|
93
131
|
</ul>
|
|
94
132
|
</nav>
|
|
95
133
|
{%- endif -%}
|
|
96
134
|
</div>
|
|
97
135
|
</div>
|
|
98
|
-
{%- if site.leancloud.app_id and site.leancloud.app_key and site.leancloud.app_class and site.isdebug == false -%}
|
|
99
|
-
<script src="//cdn1.lncld.net/static/js/3.4.1/av-min.js"></script>
|
|
100
|
-
<script>
|
|
101
|
-
$(function() {
|
|
102
|
-
AV.init({
|
|
103
|
-
appId: '{{ site.leancloud.app_id }}',
|
|
104
|
-
appKey: '{{ site.leancloud.app_key }}'
|
|
105
|
-
});
|
|
106
|
-
$(".article-view").each(function() {
|
|
107
|
-
var curId = this.id;
|
|
108
|
-
var query = new AV.Query('{{ site.leancloud.app_class }}');
|
|
109
|
-
query.equalTo('key', curId.substr(9));
|
|
110
|
-
query.first().then(function(result) {
|
|
111
|
-
if (result) {
|
|
112
|
-
$('#' + curId).text(result.attributes.views);
|
|
113
|
-
}
|
|
114
|
-
}, function(error) {
|
|
115
|
-
if (error) {
|
|
116
|
-
throw error;
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
</script>
|
|
122
|
-
{%- endif -%}
|