jekyll-text-theme 2.0.1 → 2.0.2

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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -3
  3. data/_data/locale.yml +4 -4
  4. data/_data/variables.yml +1 -0
  5. data/_includes/article-footer/author-profile.html +2 -7
  6. data/_includes/article-footer/license.html +1 -2
  7. data/_includes/article-info.html +6 -13
  8. data/_includes/article-section-navigator.html +54 -0
  9. data/_includes/{follow-me.html → author-links.html} +4 -10
  10. data/_includes/footer.html +20 -21
  11. data/_includes/head.html +10 -18
  12. data/_includes/header.html +5 -8
  13. data/_includes/markdown-enhancements.html +6 -18
  14. data/_includes/markdown-enhancements/mathjax.html +4 -8
  15. data/_includes/markdown-enhancements/mermaid.html +3 -1
  16. data/_includes/pageview.html +1 -3
  17. data/_includes/paginator.html +97 -0
  18. data/_includes/scripts/archieve.js +4 -4
  19. data/_includes/scripts/article-list.html +2 -4
  20. data/_includes/scripts/aside/affix.js +7 -9
  21. data/_includes/scripts/aside/toc.js +7 -9
  22. data/_includes/scripts/{sidebar.js → components/sidebar.js} +0 -0
  23. data/_includes/scripts/lib/affix.js +35 -26
  24. data/_includes/scripts/lib/toc.js +7 -5
  25. data/_includes/sidebar/toc.html +2 -4
  26. data/_includes/snippets/assign.html +7 -3
  27. data/_includes/snippets/get-nav-url.html +4 -4
  28. data/_includes/snippets/get-sources.html +1 -4
  29. data/_includes/snippets/locale-to-string.html +4 -4
  30. data/_includes/snippets/page-title.html +2 -4
  31. data/_includes/snippets/page-url.html +1 -2
  32. data/_includes/snippets/prepend-baseurl.html +1 -1
  33. data/_includes/tags.html +1 -1
  34. data/_layouts/article.html +8 -38
  35. data/_layouts/home.html +4 -108
  36. data/_layouts/landing.html +6 -12
  37. data/_layouts/page.html +16 -28
  38. data/_sass/additional/_alert.scss +4 -4
  39. data/_sass/animate/_fade-in-up.scss +10 -0
  40. data/_sass/common/_classes.scss +2 -1
  41. data/_sass/common/_reset.scss +0 -13
  42. data/_sass/common/_variables.scss +1 -1
  43. data/_sass/common/classes/_clickable.scss +1 -1
  44. data/_sass/common/classes/_link.scss +0 -62
  45. data/_sass/common/components/_menu.scss +21 -1
  46. data/_sass/common/components/_toc.scss +9 -10
  47. data/_sass/components/{_article.content.scss → _article-content.scss} +3 -5
  48. data/_sass/components/{_article.info.scss → _article-info.scss} +3 -3
  49. data/_sass/components/{_follow-me.scss → _author-links.scss} +1 -1
  50. data/_sass/components/_author-profile.scss +1 -1
  51. data/_sass/components/_footer.scss +14 -12
  52. data/_sass/components/_header.scss +2 -1
  53. data/_sass/components/_tags.scss +1 -0
  54. data/_sass/layout/_archive.scss +7 -4
  55. data/_sass/layout/_article.scss +1 -1
  56. data/_sass/layout/_base.scss +10 -0
  57. data/_sass/layout/_home.scss +3 -0
  58. data/_sass/layout/_page.scss +5 -1
  59. data/_sass/skins/_chocolate.scss +25 -14
  60. data/_sass/skins/_dark.scss +19 -8
  61. data/_sass/skins/_default.scss +16 -5
  62. data/_sass/skins/_forest.scss +17 -6
  63. data/_sass/skins/_ocean.scss +23 -12
  64. data/_sass/skins/_orange.scss +26 -14
  65. data/_sass/skins/highlight/_default.scss +0 -0
  66. data/_sass/skins/highlight/_tomorrow-night-blue.scss +2 -0
  67. data/_sass/skins/highlight/_tomorrow-night-bright.scss +2 -0
  68. data/_sass/skins/highlight/_tomorrow-night-eighties.scss +2 -0
  69. data/_sass/skins/highlight/_tomorrow-night.scss +2 -0
  70. data/_sass/skins/highlight/_tomorrow.scss +2 -0
  71. data/_sass/skins/highlight/tomorrow/_default.scss +10 -0
  72. data/_sass/skins/highlight/tomorrow/_highlight.scss +74 -0
  73. data/_sass/skins/highlight/tomorrow/_night-blue.scss +10 -0
  74. data/_sass/skins/highlight/tomorrow/_night-bright.scss +10 -0
  75. data/_sass/skins/highlight/tomorrow/_night-eighties.scss +10 -0
  76. data/_sass/skins/highlight/tomorrow/_night.scss +10 -0
  77. data/assets/css/main.scss +20 -9
  78. metadata +23 -9
  79. data/_includes/snippets/to-boolean.html +0 -7
  80. data/_sass/common/_highlighting.scss +0 -65
@@ -2,7 +2,9 @@
2
2
  {%- assign _sources = __return -%}
3
3
  <script>
4
4
  window.Lazyload.js('{{ _sources.mermaid }}', function() {
5
+ mermaid.initialize({
6
+ startOnLoad: true
7
+ });
5
8
  mermaid.init(undefined, '.language-mermaid');
6
- mermaid.initialize({ startOnLoad: true });
7
9
  });
8
10
  </script>
@@ -1,6 +1,4 @@
1
- {%- assign __source = page.pageview -%}
2
- {%- assign __target = site.data.variables.default.pageview -%}
3
- {%- include snippets/assign.html -%}
1
+ {%- include snippets/assign.html target=site.data.variables.default.pageview source0=page.pageview -%}
4
2
  {%- assign _pageview = __return -%}
5
3
 
6
4
 
@@ -0,0 +1,97 @@
1
+ {%- if paginator.total_pages > 1 -%}
2
+ <nav class="pagination">
3
+
4
+ {%- include snippets/locale-to-string.html locale=site.data.locale.STATISTICS -%}
5
+ {%- assign _locale_statistics = __return -%}
6
+
7
+ {%- assign _post_count = site.posts | size -%}
8
+ {%- assign _page_count = paginator.total_pages -%}
9
+ <p>{{ _locale_statistics | replace: '[POST_COUNT]', _post_count | replace: '[PAGE_COUNT]', _page_count }}</p>
10
+
11
+ <ul class="menu menu--nowrap">
12
+ {%- assign _max_show = 5 -%}
13
+ {%- assign _max_show_modulo_two = _max_show | modulo: 2 -%}
14
+ {%- assign _length = paginator.total_pages -%}
15
+ {%- assign _length_mimus_one = _length | minus: 1 -%}
16
+ {%- assign _cur = paginator.page -%}
17
+ {%- assign _extra = _max_show | minus: 3 -%}
18
+ {%- assign _extra_half = _extra | divided_by: 2 -%}
19
+
20
+ {%- if _max_show > 4 and _max_show_modulo_two == 1 and paginator.total_pages > _max_show -%}
21
+ {%- assign _condition0 = _extra | divided_by: 2 | plus: 1 -%}
22
+ {%- assign _condition1 = _length | minus: _extra_half -%}
23
+ {%- if _cur <= _condition0 -%}
24
+ {%- assign _n0 = 2 -%}
25
+ {%- assign _n1 = _extra | plus: 2 -%}
26
+ {%- elsif _cur >= _condition1 -%}
27
+ {%- assign _n0 = _length | minus: _extra | minus: 1 -%}
28
+ {%- assign _n1 = _length | minus: 1 -%}
29
+ {%- else -%}
30
+ {%- assign _n0 = _cur | minus: _extra_half -%}
31
+ {%- assign _n1 = _cur | plus: _extra_half -%}
32
+ {%- endif -%}
33
+ {%- endif -%}
34
+
35
+ {%- if paginator.previous_page -%}
36
+ {%- include snippets/prepend-baseurl.html path=paginator.previous_page_path -%}
37
+ {%- assign _href = __return -%}
38
+ <li><a class="button button--secondary button--circle" href="{{ _href }}">
39
+ <i class="fas fa-angle-left"></i>
40
+ </a></li>
41
+ {%- else -%}
42
+ <li><div class="button button--secondary button--circle disabled">
43
+ <i class="fas fa-angle-left"></i>
44
+ </div></li>
45
+ {%- endif -%}
46
+
47
+ {%- for page in (1.._length) -%}
48
+ {%- if page == _cur -%}
49
+ <li>
50
+ <div class="button button--primary button--circle focus"><span>{{ page }}</span></div>
51
+ </li>
52
+
53
+ {%- elsif page == 1 -%}
54
+ {%- assign _home_path = site.paths.home | default: site.data.variables.default.paths.home -%}
55
+ {%- include snippets/prepend-baseurl.html path=_home_path -%}
56
+ {%- assign _href = __return -%}
57
+ <li>
58
+ <a class="button button--secondary button--circle" href="{{ _href }}"><span>{{ page }}</span></a>
59
+ </li>
60
+
61
+ {%- else -%}
62
+ {%- if _n0 and _n1 -%}
63
+ {%- if page > 1 and page < _n0 -%}
64
+ {%- if page == 2 -%}<li><span class="pagination__omit"><i class="fas fa-ellipsis-h"></i></span></li>{%- endif -%}
65
+ {%- elsif page > _n1 and page < _length -%}
66
+ {%- if page == _length_mimus_one -%}<li><span class="omit"><i class="fas fa-ellipsis-h"></i></span></li>{%- endif -%}
67
+ {%- else -%}
68
+ {%- include snippets/prepend-baseurl.html path=site.paginate_path -%}
69
+ {%- assign _href = __return -%}
70
+ <li>
71
+ <a class="button button--secondary button--circle" href="{{ _href | replace: ':num', page }}"><span>{{ page }}</span></a>
72
+ </li>
73
+ {%- endif -%}
74
+ {%- else -%}
75
+ {%- include snippets/prepend-baseurl.html path=site.paginate_path -%}
76
+ {%- assign _href = __return -%}
77
+ <li>
78
+ <a class="button button--secondary button--circle" href="{{ _href | replace: ':num', page }}"><span>{{ page }}</span></a>
79
+ </li>
80
+ {%- endif -%}
81
+ {%- endif -%}
82
+ {%- endfor -%}
83
+
84
+ {%- if paginator.next_page -%}
85
+ {%- include snippets/prepend-baseurl.html path=paginator.next_page_path -%}
86
+ {%- assign _href = __return -%}
87
+ <li><a class="button button--secondary button--circle" href="{{ _href }}">
88
+ <i class="fas fa-angle-right"></i>
89
+ </a></li>
90
+ {%- else -%}
91
+ <li><div class="button button--secondary button--circle disabled">
92
+ <i class="fas fa-angle-right"></i>
93
+ </div></li>
94
+ {%- endif -%}
95
+ </ul>
96
+ </nav>
97
+ {%- endif -%}
@@ -146,7 +146,7 @@
146
146
  }
147
147
  return _buttons;
148
148
  }
149
- function buttonFoucs(target) {
149
+ function buttonFocus(target) {
150
150
  if (target) {
151
151
  addClass(target, 'focus');
152
152
  $lastFocusButton && !$lastFocusButton.is(target) && removeClass($lastFocusButton, 'focus');
@@ -174,7 +174,7 @@
174
174
  }
175
175
 
176
176
  function showAll() {
177
- setNotSearch(); setIsEmpty(); buttonFoucs($tagShowAll); setUrlQuery();
177
+ setNotSearch(); setIsEmpty(); buttonFocus($tagShowAll); setUrlQuery();
178
178
  $result.html(render(data));
179
179
  }
180
180
  function tagSelect(tag/*decode tag*/, target) {
@@ -185,7 +185,7 @@
185
185
  $result.html(render(searchByTag(tag)));
186
186
  }
187
187
  if (target) {
188
- buttonFoucs(target);
188
+ buttonFocus(target);
189
189
  _tag = target.attr('data-encode');
190
190
  if (_tag === '' || typeof _tag !== 'string') {
191
191
  setUrlQuery();
@@ -209,7 +209,7 @@
209
209
  if (_tag !== undefined) {
210
210
  query.tag === undefined || (_tag = query.tag);
211
211
  tagSelect(window.decodeUrl(_tag));
212
- buttonFoucs(searchButtonsByTag(_tag));
212
+ buttonFocus(searchButtonsByTag(_tag));
213
213
  } else if (_q !== undefined) {
214
214
  _q = window.decodeUrl(_q);
215
215
  queryInput(_q); setSearchBoxVal(_q);
@@ -1,5 +1,4 @@
1
- {%- assign __locale = site.data.locale.ARTICLE_LIST_DATE_FORMAT -%}
2
- {%- include snippets/locale-to-string.html -%}
1
+ {%- include snippets/locale-to-string.html locale=site.data.locale.ARTICLE_LIST_DATE_FORMAT -%}
3
2
  {%- assign _format = __return -%}
4
3
  {%- assign _post_count = site.posts | size -%}
5
4
  {%- if _post_count < 1 -%}
@@ -18,8 +17,7 @@
18
17
  {%- for _tag in _post.tags -%}
19
18
  "{{ _tag | url_encode }}" {%- unless forloop.last -%},{%- endunless -%}
20
19
  {%- endfor -%}
21
- {%- assign __path = _post.url -%}
22
- {%- include snippets/prepend-baseurl.html -%}
20
+ {%- include snippets/prepend-baseurl.html path=_post.url -%}
23
21
  {%- assign _url = __return -%}
24
22
  ],"url":"{{ _url | url_encode }}","date":"{{ _post.date | date: _format }}"}
25
23
  {%- endfor -%}
@@ -7,15 +7,13 @@
7
7
  var tocDisabled = false;
8
8
  var hasSidebar = $('.js-page-root').hasClass('layout--page--sidebar');
9
9
 
10
- setTimeout(function() {
11
- affix = $pageAside.affix({
12
- offsetBottom: $pageFooter.outerHeight(),
13
- scrollTarget: hasSidebar ? '.js-page-main' : null,
14
- scroller: hasSidebar ? '.js-page-main' : null,
15
- scroll: hasSidebar ? $('.js-page-main').children() : null,
16
- disabled: tocDisabled
17
- });
18
- }, 1000);
10
+ affix = $pageAside.affix({
11
+ offsetBottom: $pageFooter.outerHeight(),
12
+ scrollTarget: hasSidebar ? '.js-page-main' : null,
13
+ scroller: hasSidebar ? '.js-page-main' : null,
14
+ scroll: hasSidebar ? $('.js-page-main').children() : null,
15
+ disabled: tocDisabled
16
+ });
19
17
 
20
18
  $window.on('resize', window.throttle(function() {
21
19
  affix && affix.setOptions({
@@ -16,15 +16,13 @@
16
16
 
17
17
  tocDisabled = disabled();
18
18
 
19
- setTimeout(function() {
20
- toc = $tocRoot.toc({
21
- selectors: TOC_SELECTOR,
22
- container: $articleContent,
23
- scrollTarget: hasSidebar ? '.js-page-main' : null,
24
- scroller: hasSidebar ? '.js-page-main' : null,
25
- disabled: tocDisabled
26
- });
27
- }, 1000);
19
+ toc = $tocRoot.toc({
20
+ selectors: TOC_SELECTOR,
21
+ container: $articleContent,
22
+ scrollTarget: hasSidebar ? '.js-page-main' : null,
23
+ scroller: hasSidebar ? '.js-page-main' : null,
24
+ disabled: tocDisabled
25
+ });
28
26
 
29
27
  $window.on('resize', window.throttle(function() {
30
28
  tocDisabled = disabled();
@@ -2,9 +2,9 @@
2
2
  var SOURCES = window.TEXT_VARIABLES.sources;
3
3
  window.Lazyload.js(SOURCES.jquery, function() {
4
4
  var $window = $(window), $root, $scrollTarget, $scroller, $scroll;
5
- var rootTop, rootLeft, rootHeight, scrollBottom, rootBottomTop, lastScrollTop;
5
+ var rootTop, rootLeft, rootHeight, scrollBottom, rootBottomTop;
6
6
  var offsetBottom = 0, disabled = false, scrollTarget = window, scroller = 'html, body', scroll = window.document;
7
- var hasInit = false, isOverallScroller = true;
7
+ var hasInit = false, isOverallScroller = true, curState;
8
8
 
9
9
  function setOptions(options) {
10
10
  var _options = options || {};
@@ -31,55 +31,64 @@
31
31
  rootBottomTop = scrollBottom - rootTop;
32
32
  }
33
33
  function top() {
34
- $root.removeClass('fixed').css({
35
- left: 0,
36
- top: 0
37
- });
34
+ if (curState !== 'top') {
35
+ $root.removeClass('fixed').css({
36
+ left: 0,
37
+ top: 0
38
+ });
39
+ curState = 'top';
40
+ }
38
41
  }
39
42
  function fixed() {
40
- $root.addClass('fixed').css({
41
- left: rootLeft + 'px',
42
- top: 0
43
- });
43
+ if (curState !== 'fixed') {
44
+ $root.addClass('fixed').css({
45
+ left: rootLeft + 'px',
46
+ top: 0
47
+ });
48
+ curState = 'fixed';
49
+ }
44
50
  }
45
51
  function bottom() {
46
- $root.removeClass('fixed').css({
47
- left: 0,
48
- top: rootBottomTop + 'px'
49
- });
52
+ if (curState !== 'bottom') {
53
+ $root.removeClass('fixed').css({
54
+ left: 0,
55
+ top: rootBottomTop + 'px'
56
+ });
57
+ curState = 'bottom';
58
+ }
50
59
  }
51
- function setState(force) {
52
- force !== true && (force = false);
60
+ function setState() {
53
61
  var scrollTop = $scrollTarget.scrollTop();
54
62
  if (scrollTop >= rootTop && scrollTop <= scrollBottom) {
55
- (!force && lastScrollTop >= rootTop && lastScrollTop <= scrollBottom) || fixed();
63
+ fixed();
56
64
  } else if (scrollTop < rootTop) {
57
- (!force && lastScrollTop < rootTop) || top();
65
+ top();
58
66
  } else {
59
- (!force && lastScrollTop > scrollBottom) || bottom();
67
+ bottom();
60
68
  }
61
- lastScrollTop = scrollTop;
62
69
  }
63
70
  function init() {
64
71
  if(!hasInit) {
65
72
  var interval, timeout;
66
73
  calc(true); setState();
67
- // run calc every 1.5 seconds
74
+ // run calc every 100 millisecond
68
75
  interval = setInterval(function() {
69
76
  calc();
70
- }, 1500);
77
+ }, 100);
71
78
  timeout = setTimeout(function() {
72
79
  clearInterval(interval);
73
- }, 50000);
80
+ }, 60000);
74
81
  window.pageLoad.then(function() {
75
- clearInterval(interval);
76
- clearTimeout(timeout);
82
+ setTimeout(function() {
83
+ clearInterval(interval);
84
+ clearTimeout(timeout);
85
+ }, 1500);
77
86
  });
78
87
  $scrollTarget.on('scroll', function() {
79
88
  disabled || setState();
80
89
  });
81
90
  $window.on('resize', window.throttle(function() {
82
- disabled || (calc(true), setState(true));
91
+ disabled || (calc(true), setState());
83
92
  }, 100));
84
93
  hasInit = true;
85
94
  }
@@ -65,16 +65,18 @@
65
65
  var interval, timeout;
66
66
  if(!hasInit) {
67
67
  render(); calc(); setState(null, scrolling);
68
- // run calc every 1.5 seconds
68
+ // run calc every 100 millisecond
69
69
  interval = setInterval(function() {
70
70
  calc();
71
- }, 1500);
71
+ }, 100);
72
72
  timeout = setTimeout(function() {
73
73
  clearInterval(interval);
74
- }, 50000);
74
+ }, 60000);
75
75
  window.pageLoad.then(function() {
76
- clearInterval(interval);
77
- clearTimeout(timeout);
76
+ setTimeout(function() {
77
+ clearInterval(interval);
78
+ clearTimeout(timeout);
79
+ }, 1500);
78
80
  });
79
81
  $scrollTarget.on('scroll', function() {
80
82
  disabled || setState(null, scrolling);
@@ -7,11 +7,9 @@
7
7
  <li class="toc-h1">{{ _item.title }}</li>
8
8
  {%- if _item.children -%}
9
9
  {%- for _child in _item.children -%}
10
- {%- assign __path = _child.url -%}
11
- {%- include snippets/get-nav-url.html -%}
10
+ {%- include snippets/get-nav-url.html path=_child.url -%}
12
11
  {%- assign _nav_url = __return -%}
13
- {%- assign __path = page.url -%}
14
- {%- include snippets/get-nav-url.html -%}
12
+ {%- include snippets/get-nav-url.html path=page.url -%}
15
13
  {%- assign _page_url = __return -%}
16
14
  {%- if _nav_url == _page_url -%}
17
15
  <li class="toc-h2 active"><a href="{{ _nav_url }}">{{ _child.title }}</a></li>
@@ -1,5 +1,9 @@
1
- {%- if __source == nil -%}
2
- {%- assign __return = __target -%}
1
+ {%- if include.source1 == nil -%}
2
+ {%- if include.source0 == nil -%}
3
+ {%- assign __return = include.target -%}
4
+ {%- else -%}
5
+ {%- assign __return = include.source0 -%}
6
+ {%- endif -%}
3
7
  {%- else -%}
4
- {%- assign __return = __source -%}
8
+ {%- assign __return = include.source1 -%}
5
9
  {%- endif -%}
@@ -1,8 +1,8 @@
1
- {%- assign _pre7 = __path | slice: 0, 7 -%}
2
- {%- assign _pre8 = __path | slice: 0, 8 -%}
1
+ {%- assign _pre7 = include.path | slice: 0, 7 -%}
2
+ {%- assign _pre8 = include.path | slice: 0, 8 -%}
3
3
  {%- if _pre7 == 'http://' or _pre8 == 'https://' -%}
4
- {%- assign __return = __path -%}
4
+ {%- assign __return = include.path -%}
5
5
  {%- else -%}
6
- {%- include snippets/prepend-baseurl.html -%}
6
+ {%- include snippets/prepend-baseurl.html path=include.path -%}
7
7
  {%- assign __return = __return -%}
8
8
  {%- endif -%}
@@ -1,5 +1,2 @@
1
- {%- assign _sources = site.data.variables.default.sources -%}
2
- {%- if site.sources -%}
3
- {%- assign _sources = site.sources -%}
4
- {%- endif -%}
1
+ {%- assign _sources = site.sources | default: site.data.variables.default.sources -%}
5
2
  {%- assign __return = site.data.variables.sources[_sources] -%}
@@ -1,7 +1,7 @@
1
1
  {%- include snippets/get-lang.html -%}
2
- {%- assign __lang = __return -%}
3
- {%- if __locale[__lang] -%}
4
- {%- assign __return = __locale[__lang] -%}
2
+ {%- assign _lang = __return -%}
3
+ {%- if include.locale[_lang] -%}
4
+ {%- assign __return = include.locale[_lang] -%}
5
5
  {%- else -%}
6
- {%- assign __return = __locale.en -%}
6
+ {%- assign __return = include.locale.en -%}
7
7
  {%- endif -%}
@@ -4,10 +4,8 @@
4
4
  {%- if _title -%}
5
5
  {%- assign __return = _title -%}
6
6
  {%- elsif _titles -%}
7
- {%- assign __locale = _titles -%}
8
- {%- include snippets/locale-to-string.html -%}
9
- {%- assign __localeTitle = __return -%}
10
- {%- assign __return = __localeTitle -%}
7
+ {%- include snippets/locale-to-string.html locale=_titles -%}
8
+ {%- assign __return = __return -%}
11
9
  {%- else -%}
12
10
  {%- assign __return = nil -%}
13
11
  {%- endif -%}
@@ -1,3 +1,2 @@
1
- {%- assign __path = page.url -%}
2
- {%- include snippets/prepend-baseurl.html -%}
1
+ {%- include snippets/prepend-baseurl.html path=page.url -%}
3
2
  {{ __return | prepend: site.url }}
@@ -1 +1 @@
1
- {%- assign __return = __path | replace:'index.html','' | prepend: site.baseurl | replace:'//','/' -%}
1
+ {%- assign __return = include.path | replace:'index.html','' | prepend: site.baseurl | replace:'//','/' -%}
data/_includes/tags.html CHANGED
@@ -18,7 +18,7 @@
18
18
  <div class="site-tags js-tags">
19
19
  <ul class="menu">
20
20
  <li>
21
- <button type="button" class="button button--secondary button--pill tag-button js-article-tag " data-encode="">
21
+ <button type="button" class="button button--secondary button--pill tag-button js-article-tag js-tag-show-all" data-encode="">
22
22
  Show All<div class="tag-button__count">{{ site.posts | size }}</div>
23
23
  </button>
24
24
  </li>