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.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -6
  3. data/_data/locale.yml +21 -3
  4. data/_data/variables.yml +31 -0
  5. data/_includes/{blog → components}/article-data.html +4 -2
  6. data/_includes/{info → components}/follow-me.html +1 -1
  7. data/_includes/{blog → components}/footer.html +1 -1
  8. data/_includes/components/header.html +42 -0
  9. data/_includes/{blog → components}/license.html +0 -0
  10. data/_includes/{blog → components}/tags.html +5 -6
  11. data/_includes/icon/clear.svg +3 -0
  12. data/_includes/icon/link.svg +1 -0
  13. data/_includes/icon/omit.svg +1 -0
  14. data/_includes/icon/search.svg +3 -0
  15. data/_includes/icon/{mail.svg → social/mail.svg} +0 -0
  16. data/_includes/scripts/all.html +244 -0
  17. data/_includes/scripts/common.html +30 -0
  18. data/_includes/scripts/data.html +27 -0
  19. data/_includes/scripts/home.html +26 -0
  20. data/_includes/scripts/page-post.html +32 -0
  21. data/_includes/scripts/post.html +183 -0
  22. data/_includes/scripts/utils.html +180 -0
  23. data/_includes/snippets/get-lang.html +2 -2
  24. data/_includes/snippets/get-sources.html +5 -0
  25. data/_includes/utils/chart.html +17 -0
  26. data/_includes/utils/comment-disqus.html +0 -3
  27. data/_includes/utils/comment-gitalk.html +15 -12
  28. data/_includes/utils/google-analytics.html +6 -8
  29. data/_includes/utils/mathjax.html +10 -4
  30. data/_includes/utils/mermaid.html +5 -4
  31. data/_layouts/all.html +10 -131
  32. data/_layouts/base.html +38 -0
  33. data/_layouts/error-404.html +1 -1
  34. data/_layouts/home.html +81 -68
  35. data/_layouts/page.html +3 -3
  36. data/_layouts/post.html +32 -172
  37. data/_sass/animate/_fade-in-down.scss +10 -0
  38. data/_sass/animate/_fade-in.scss +8 -0
  39. data/_sass/colors/{_colors.chocolate.scss → _chocolate.scss} +9 -3
  40. data/_sass/colors/{_colors.dark.scss → _dark.scss} +10 -3
  41. data/_sass/colors/{_colors.default.scss → _default.scss} +10 -4
  42. data/_sass/colors/{_colors.forest.scss → _forest.scss} +9 -3
  43. data/_sass/colors/{_colors.ocean.scss → _ocean.scss} +9 -3
  44. data/_sass/colors/{_colors.orange.scss → _orange.scss} +9 -3
  45. data/_sass/common/_classes.scss +15 -0
  46. data/_sass/{settings → common}/_highlighting.scss +0 -12
  47. data/_sass/common/_reset.scss +171 -0
  48. data/_sass/common/_variables.scss +64 -0
  49. data/_sass/common/classes/_animation.scss +4 -0
  50. data/_sass/common/classes/_clearfix.scss +7 -0
  51. data/_sass/{mixins → common/classes}/_flex.scss +0 -0
  52. data/_sass/common/classes/_link.scss +161 -0
  53. data/_sass/common/classes/_media.scss +18 -0
  54. data/_sass/common/classes/_shadow.scss +14 -0
  55. data/_sass/common/classes/_shape.scss +19 -0
  56. data/_sass/common/classes/_space.scss +40 -0
  57. data/_sass/common/classes/_split-line.scss +24 -0
  58. data/_sass/common/classes/_transform.scss +4 -0
  59. data/_sass/common/classes/_transition.scss +4 -0
  60. data/_sass/common/classes/_user-select.scss +6 -0
  61. data/_sass/common/components/_button.scss +72 -0
  62. data/_sass/components/_article.content.extra.scss +41 -0
  63. data/_sass/components/_article.content.scss +127 -69
  64. data/_sass/components/_article.data.scss +11 -11
  65. data/_sass/components/_follow-me.scss +27 -34
  66. data/_sass/components/_footer.scss +4 -4
  67. data/_sass/components/_header.scss +35 -22
  68. data/_sass/components/_license.scss +7 -7
  69. data/_sass/components/_main.scss +23 -0
  70. data/_sass/components/_pagination.scss +12 -0
  71. data/_sass/components/_tags.scss +30 -15
  72. data/_sass/components/_toc.scss +32 -19
  73. data/_sass/layout/_all.scss +82 -0
  74. data/_sass/layout/_default.scss +19 -0
  75. data/_sass/{blog/_page.error-404.scss → layout/_error-404.scss} +1 -1
  76. data/_sass/layout/_home.scss +61 -0
  77. data/_sass/layout/_post.scss +80 -0
  78. data/assets/css/blog.scss +29 -34
  79. data/assets/images/logo/logo.svg +1 -1
  80. metadata +56 -38
  81. data/_includes/blog/header.html +0 -56
  82. data/_layouts/blog-base.html +0 -36
  83. data/_layouts/blog-default.html +0 -7
  84. data/_sass/base/_animate.scss +0 -19
  85. data/_sass/base/_base.scss +0 -83
  86. data/_sass/base/_image&icon.scss +0 -23
  87. data/_sass/base/_links.scss +0 -73
  88. data/_sass/base/_text.scss +0 -56
  89. data/_sass/blog/_layout.base.scss +0 -3
  90. data/_sass/blog/_layout.default.scss +0 -21
  91. data/_sass/blog/_layout.post.scss +0 -68
  92. data/_sass/blog/_page.all.scss +0 -35
  93. data/_sass/blog/_page.index.scss +0 -50
  94. data/_sass/components/_wrapper.scss +0 -29
  95. data/_sass/mixins/_link.scss +0 -67
  96. data/_sass/mixins/_media.scss +0 -12
  97. data/_sass/mixins/_prefix.scss +0 -14
  98. data/_sass/mixins/_shape.scss +0 -19
  99. data/_sass/settings/_base.scss +0 -12
  100. data/_sass/settings/_colors.scss +0 -9
  101. data/_sass/settings/_font.scss +0 -32
data/_layouts/page.html CHANGED
@@ -1,12 +1,12 @@
1
1
  ---
2
- layout: blog-default
2
+ layout: base
3
3
  ---
4
4
  <div class="m-page">
5
5
  <article class="main">
6
6
  {%- include snippets/page-title.html -%}
7
- <h1>{{ __return }}</h1>
7
+ <div class="main-header"><h1>{{ __return }}</h1></div>
8
8
  <div class="m-article-content" itemprop="articleBody">{{ content }}</div>
9
- {%- if page.comment != false -%}
9
+ {%- if jekyll.environment != "development" and page.comment != false -%}
10
10
  <section>{%- include utils/comment-disqus.html -%}</section>
11
11
  <section>{%- include utils/comment-gitalk.html -%}</section>
12
12
  {%- endif -%}
data/_layouts/post.html CHANGED
@@ -1,15 +1,18 @@
1
1
  ---
2
- layout: blog-default
2
+ layout: base
3
3
  ---
4
4
  <div class="m-post">
5
- <div class="main js-main">
5
+ <div class="main clearfix js-main">
6
+ <div class="col-2 js-col-2">
7
+ <aside class="js-article-aside"><div class="m-toc js-toc"></div></aside>
8
+ </div>
6
9
  <div class="col-1">
7
- <article itemscope itemtype="http://schema.org/BlogPosting">
10
+ <article class="js-article" itemscope itemtype="http://schema.org/BlogPosting">
8
11
  <meta itemprop="mainEntityOfPage" itemscope itemType="https://schema.org/WebPage"/>
9
- <header class="article-header">
12
+ <header class="main-header">
10
13
  {%- include snippets/page-title.html -%}
11
14
  <h1 itemprop="headline" itemprop="name headline">{{ __return }}</h1>
12
- {%- include blog/article-data.html -%}
15
+ {%- include components/article-data.html -%}
13
16
  </header>
14
17
  <div class="m-article-content js-article-content" itemprop="articleBody">{{ content }}</div>
15
18
  <footer>
@@ -26,175 +29,32 @@ layout: blog-default
26
29
  <meta itemprop="dateModified" content="{{ page.date | date_to_xmlschema }}">
27
30
  {%- endif -%}
28
31
  <div class="article-license">
29
- {%- include blog/license.html -%}
32
+ {%- include components/license.html -%}
30
33
  </div>
31
34
  </footer>
32
- {%- if page.comment != false -%}
33
- <section>{%- include utils/comment-disqus.html -%}</section>
34
- <section>{%- include utils/comment-gitalk.html -%}</section>
35
- {%- endif -%}
36
35
  </article>
37
- </div>
38
- <div class="col-2">
39
- <aside class="js-article-aside"><div class="m-toc js-toc"></div></aside>
36
+ <div class="article-previous-next clearfix">
37
+ {%- if page.next -%}
38
+ {%- assign __path = page.next.url -%}
39
+ {%- include snippets/prepend-baseurl.html -%}
40
+ {%- assign href = __return -%}
41
+ {%- assign __locale = site.data.locale.PREVIOUS -%}
42
+ {%- include snippets/locale-to-string.html -%}
43
+ <div class="article-previous"><span>{{ __return }}</span><a href="{{ href }}">{{ page.next.title }}</a></div>
44
+ {%- endif -%}
45
+ {%- if page.previous -%}
46
+ {%- assign __path = page.previous.url -%}
47
+ {%- include snippets/prepend-baseurl.html -%}
48
+ {%- assign href = __return -%}
49
+ {%- assign __locale = site.data.locale.NEXT -%}
50
+ {%- include snippets/locale-to-string.html -%}
51
+ <div class="article-next"><span>{{ __return }}</span><a href="{{ href }}">{{ page.previous.title }}</a></div>
52
+ {%- endif -%}
53
+ </div>
54
+ {%- if jekyll.environment != "development" and page.comment != false -%}
55
+ <section>{%- include utils/comment-disqus.html -%}</section>
56
+ <section>{%- include utils/comment-gitalk.html -%}</section>
57
+ {%- endif -%}
40
58
  </div>
41
59
  </div>
42
- </div>
43
-
44
- <script src="//cdn.bootcss.com/toc/0.3.2/toc.min.js"></script>
45
- <script type="text/javascript">
46
- window.throttle = function(func, wait) {
47
- var args, result, thisArg, timeoutId, lastCalled = 0;
48
-
49
- function trailingCall() {
50
- lastCalled = new Date;
51
- timeoutId = null;
52
- result = func.apply(thisArg, args);
53
- }
54
- return function() {
55
- var now = new Date,
56
- remaining = wait - (now - lastCalled);
57
-
58
- args = arguments;
59
- thisArg = this;
60
-
61
- if (remaining <= 0) {
62
- clearTimeout(timeoutId);
63
- timeoutId = null;
64
- lastCalled = now;
65
- result = func.apply(thisArg, args);
66
- } else if (!timeoutId) {
67
- timeoutId = setTimeout(trailingCall, remaining);
68
- }
69
- return result;
70
- };
71
- }
72
- $(function() {
73
- var $window = $(window);
74
- var $pageStage = $('.js-page-stage');
75
- var $pageMain = $('.js-main');
76
- var $pageFooter = $('.js-page-footer');
77
- var $articleContent = $('.js-article-content');
78
- var $articleAside = $('.js-article-aside');
79
- var $toc = $('.js-toc');
80
- var hasTitle = $articleContent.find('h1, h2, h3').length > 0;
81
-
82
- function asideSticky() {
83
- return $window.outerWidth() > 1150 && $pageStage.hasClass('has-toc');
84
- }
85
-
86
- function setTocClass() {
87
- if (hasTitle) {
88
- !$pageStage.hasClass('has-toc') && $pageStage.addClass('has-toc');
89
- }
90
- }
91
-
92
- setTocClass();
93
-
94
- function setAsideTOC() {
95
- var asideTop, asideLeft, scrollBottom, asideBottomTop, lastScrollTop;
96
-
97
- function init() {
98
- var asideOffset = $articleAside.offset();
99
- var footerOffset = $pageFooter.offset();
100
- var mainOffset = $pageMain.offset();
101
- asideTop = mainOffset.top;
102
- asideHeight = $toc.outerHeight() + parseInt($articleAside.css('padding-top'), 10) + parseInt($articleAside.css('padding-bottom'), 10);
103
- asideLeft = mainOffset.left + $pageMain.outerWidth() - $articleAside.outerWidth() - parseInt($pageMain.css('padding-right'), 10);
104
- scrollBottom = footerOffset.top - asideHeight;
105
- asideBottomTop = scrollBottom - mainOffset.top;
106
- }
107
-
108
- function setAside(force) {
109
- force !== true && (force = false);
110
- var scrollTop = $window.scrollTop();
111
- if (scrollTop >= asideTop && scrollTop <= scrollBottom) {
112
- (!force && lastScrollTop >= asideTop && lastScrollTop <= scrollBottom) ||
113
- $articleAside.addClass('fixed').css({
114
- left: asideLeft + 'px',
115
- top: 0
116
- });
117
- } else if (scrollTop < asideTop) {
118
- (!force && lastScrollTop < asideTop) ||
119
- $articleAside.removeClass('fixed').css({
120
- left: 0,
121
- top: 0
122
- });
123
- } else {
124
- (!force && lastScrollTop > scrollBottom) ||
125
- $articleAside.removeClass('fixed').css({
126
- left: 0,
127
- top: asideBottomTop + 'px'
128
- });
129
- }
130
- lastScrollTop = scrollTop;
131
- }
132
- asideSticky() && (init(), setAside());
133
- $window.on('scroll', function() {
134
- asideSticky() && setAside();
135
- });
136
- $window.on('resize', throttle(function() {
137
- setTocClass();
138
- asideSticky() && (init(), setAside(true));
139
- }, 100));
140
- setTimeout(init, 4000);
141
- }
142
- setTimeout(setAsideTOC, 1000);
143
-
144
- $toc.toc({
145
- 'selectors': 'h1,h2,h3',
146
- 'container': '.js-article-content',
147
- });
148
- });
149
- </script>
150
- {%- if page.key and site.leancloud.app_id and site.leancloud.app_key and site.leancloud.app_class and site.isdebug == false -%}
151
- <script src="//cdn1.lncld.net/static/js/3.4.1/av-min.js"></script>
152
- <script type="text/javascript">
153
- $(function() {
154
- // 初始化
155
- AV.init({
156
- appId: '{{ site.leancloud.app_id }}',
157
- appKey: '{{ site.leancloud.app_key }}'
158
- });
159
- // 查询
160
- var query = new AV.Query('{{ site.leancloud.app_class }}');
161
- query.equalTo('key', '{{ page.key }}');
162
- query.first().then(function(result) {
163
- if (result) {
164
- addOne(result)
165
- } else {
166
- //新建
167
- var Blog = AV.Object.extend('{{ site.leancloud.app_class }}');
168
- var blog = new Blog();
169
- blog.set('title', '{{ page.title }}');
170
- blog.set('key', '{{ page.key }}');
171
- blog.set('views', 0);
172
- blog.save().then(function(page) {
173
- addOne(page)
174
- }, function(error) {
175
- if (error) {
176
- throw error;
177
- }
178
- });
179
- }
180
-
181
- function addOne(page) {
182
- page.increment('views', 1);
183
- page.save(null, {
184
- fetchWhenSave: true
185
- }).then(function(page) {
186
- $("#post-key-{{ page.key }}").text(page.attributes.views);
187
- }, function(error) {
188
- if (error) {
189
- throw error;
190
- }
191
- });
192
- }
193
- }, function(error) {
194
- if (error) {
195
- throw error;
196
- }
197
- });
198
- });
199
- </script>
200
- {%- endif -%}
60
+ </div>
@@ -0,0 +1,10 @@
1
+ @keyframes fade-in-down {
2
+ from {
3
+ opacity: 0;
4
+ @include transform(translateY(-2rem));
5
+ }
6
+ to {
7
+ opacity: 1;
8
+ @include transform(translateY(0));
9
+ }
10
+ }
@@ -0,0 +1,8 @@
1
+ @keyframes fade-in {
2
+ from {
3
+ opacity: 0;
4
+ }
5
+ to {
6
+ opacity: 1;
7
+ }
8
+ }
@@ -20,13 +20,19 @@ $background-color: #f2ebe6;
20
20
  $text-color-d: #251914;
21
21
  $text-color: #3f2a21;
22
22
  $text-color-l: #724c3c;
23
- $text-background-color:#e3d1ca;
23
+ $text-background-color: rgba(#000, .05);
24
24
 
25
25
  // border and shadow colors
26
- $border-color: #dcc6bd;
26
+ $border-color: mix(#000, $background-color, 20%);
27
+ $border-color-l: mix(#000, $background-color, 10%);
27
28
  $select-color: rgba($main-color-3, .5);
28
29
  $decorate-color: rgba(#000, .1);
29
- $shadow-color: rgba(#000, .15);
30
+
31
+ // function colors
32
+ $green: #57c22d;
33
+ $blue: #2593fc;
34
+ $yellow: #f8ac30;
35
+ $red: #f22635;
30
36
 
31
37
  // logo colors
32
38
  $mail-color: #0072c5;
@@ -10,6 +10,7 @@ $text-color-1: #dedede;
10
10
 
11
11
  $main-color-2: #ff3366;
12
12
  $text-color-2: #dedede;
13
+
13
14
  $main-color-3: #21252b;
14
15
  $text-color-3: #dedede;
15
16
 
@@ -19,13 +20,19 @@ $background-color: #2e3744;
19
20
  $text-color-d: #f1f3f6;
20
21
  $text-color: #dadfe6;
21
22
  $text-color-l: #acb0b4;
22
- $text-background-color:#1e242d;
23
+ $text-background-color: rgba(#fff, .05);
23
24
 
24
25
  // border and shadow colors
25
- $border-color: #161b21;
26
+ $border-color: mix(#fff, $background-color, 20%);
27
+ $border-color-l: mix(#fff, $background-color, 10%);
26
28
  $select-color: rgba($main-color-1, .5);
27
29
  $decorate-color: rgba(#fff, .1);
28
- $shadow-color: rgba(#000, .1);
30
+
31
+ // function colors
32
+ $green: #98c379;
33
+ $blue: #56b6c2;
34
+ $yellow: #e5c07b;
35
+ $red: #e06c75;
29
36
 
30
37
  // logo colors
31
38
  $mail-color: #0072c5;
@@ -12,7 +12,7 @@ $main-color-2: #fca24d;
12
12
  $text-color-2: #fff;
13
13
 
14
14
  $main-color-3: #f2f2f2;
15
- $text-color-3: #666;
15
+ $text-color-3: #333;
16
16
 
17
17
  // background colors
18
18
  $background-color: #fff;
@@ -20,13 +20,19 @@ $background-color: #fff;
20
20
  $text-color-d: #111;
21
21
  $text-color: #333;
22
22
  $text-color-l: #9c9c9c;
23
- $text-background-color:#f2f2f2;
23
+ $text-background-color: rgba(#000, .05);
24
24
 
25
25
  // border and shadow colors
26
- $border-color: #aeaeae;
26
+ $border-color: mix(#000, $background-color, 20%);
27
+ $border-color-l: mix(#000, $background-color, 10%);
27
28
  $select-color: rgba($main-color-1, .5);
28
29
  $decorate-color: rgba(#000, .1);
29
- $shadow-color: rgba(#000, .15);
30
+
31
+ // function colors
32
+ $green: #57c22d;
33
+ $blue: #2593fc;
34
+ $yellow: #f8ac30;
35
+ $red: #f22635;
30
36
 
31
37
  // logo colors
32
38
  $mail-color: #0072c5;
@@ -20,13 +20,19 @@ $background-color: #f8fcfb;
20
20
  $text-color-d: #325f74;
21
21
  $text-color: #3e758f;
22
22
  $text-color-l: #619dbb;
23
- $text-background-color:#f2f2f2;
23
+ $text-background-color: rgba(#000, .05);
24
24
 
25
25
  // border and shadow colors
26
- $border-color: #eacfd3;
26
+ $border-color: mix(#000, $background-color, 20%);
27
+ $border-color-l: mix(#000, $background-color, 10%);
27
28
  $select-color: rgba($main-color-1, .5);
28
29
  $decorate-color: rgba(#bb6170, .15);
29
- $shadow-color: rgba(#000, .15);
30
+
31
+ // function colors
32
+ $green: #57c22d;
33
+ $blue: #2593fc;
34
+ $yellow: #f8ac30;
35
+ $red: #f22635;
30
36
 
31
37
  // logo colors
32
38
  $mail-color: #0072c5;
@@ -20,13 +20,19 @@ $background-color: #f5fcff;
20
20
  $text-color-d: #32434c;
21
21
  $text-color: #00537f;
22
22
  $text-color-l: #0079ba;
23
- $text-background-color:#f2f2f2;
23
+ $text-background-color: rgba(#000, .05);
24
24
 
25
25
  // border and shadow colors
26
- $border-color: #aeaeae;
26
+ $border-color: mix(#000, $background-color, 20%);
27
+ $border-color-l: mix(#000, $background-color, 10%);
27
28
  $select-color: rgba($main-color-1, .5);
28
29
  $decorate-color: rgba(#000, .1);
29
- $shadow-color: rgba(#000, .15);
30
+
31
+ // function colors
32
+ $green: #57c22d;
33
+ $blue: #2593fc;
34
+ $yellow: #f8ac30;
35
+ $red: #f22635;
30
36
 
31
37
  // logo colors
32
38
  $mail-color: #0072c5;
@@ -20,13 +20,19 @@ $background-color: #fff1eb;
20
20
  $text-color-d: rgba(#000, .95);
21
21
  $text-color: rgba(#000, .85);
22
22
  $text-color-l: rgba(#000, .5);
23
- $text-background-color:rgba(#000, .05);
23
+ $text-background-color: rgba(#000, .05);
24
24
 
25
25
  // border and shadow colors
26
- $border-color: rgba(#000, .2);
26
+ $border-color: mix(#000, $background-color, 20%);
27
+ $border-color-l: mix(#000, $background-color, 10%);
27
28
  $select-color: rgba($main-color-3, .5);
28
29
  $decorate-color: rgba(#000, .1);
29
- $shadow-color: rgba(#000, .15);
30
+
31
+ // function colors
32
+ $green: #57c22d;
33
+ $blue: #2593fc;
34
+ $yellow: #f8ac30;
35
+ $red: #f22635;
30
36
 
31
37
  // logo colors
32
38
  $mail-color: #0072c5;
@@ -0,0 +1,15 @@
1
+ @charset "utf-8";
2
+
3
+ @import
4
+ "common/classes/animation",
5
+ "common/classes/clearfix",
6
+ "common/classes/flex",
7
+ "common/classes/link",
8
+ "common/classes/media",
9
+ "common/classes/shadow",
10
+ "common/classes/shape",
11
+ "common/classes/split-line",
12
+ "common/classes/transform",
13
+ "common/classes/transition",
14
+ "common/classes/user-select",
15
+ "common/classes/space"
@@ -1,18 +1,6 @@
1
1
  /**
2
2
  * Syntax highlighting styles
3
3
  */
4
- .m-article-content {
5
- figure:before {
6
- background-color: $text-background-color;
7
- }
8
- code, pre {
9
- background-color: $text-background-color;
10
- }
11
- pre>code {
12
- background-color: transparent;
13
- color: $text-color;
14
- }
15
- }
16
4
 
17
5
  .highlight {
18
6
  .c { color: #998; font-style: italic } // Comment