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.
Files changed (149) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +29 -17
  3. data/README.md +7 -4
  4. data/_data/locale.yml +138 -93
  5. data/_data/navigation.yml +47 -10
  6. data/_data/variables.yml +4 -2
  7. data/_includes/analytics-providers/custom.html +3 -0
  8. data/_includes/article-footer.html +55 -0
  9. data/_includes/article-header.html +1 -1
  10. data/_includes/article-info.html +2 -2
  11. data/_includes/article-list.html +11 -7
  12. data/_includes/article-section-navigator.html +2 -2
  13. data/_includes/{article-footer → article/footer}/author-profile.html +0 -0
  14. data/_includes/article/footer/custom.html +3 -0
  15. data/_includes/{article-footer → article/footer}/license.html +1 -1
  16. data/_includes/article/footer/subscribe.html +6 -0
  17. data/_includes/article/top/custom.html +3 -0
  18. data/_includes/author-links.html +59 -31
  19. data/_includes/comments-providers/custom.html +3 -0
  20. data/_includes/comments-providers/gitalk.html +8 -1
  21. data/_includes/comments-providers/valine.html +15 -2
  22. data/_includes/footer.html +15 -18
  23. data/_includes/head.html +3 -25
  24. data/_includes/head/custom.html +3 -0
  25. data/_includes/head/favicon.html +26 -0
  26. data/_includes/header.html +10 -6
  27. data/_includes/main/bottom/custom.html +3 -0
  28. data/_includes/main/top/custom.html +3 -0
  29. data/_includes/pageview-providers/custom/home.html +3 -0
  30. data/_includes/pageview-providers/custom/post.html +3 -0
  31. data/_includes/pageview-providers/leancloud/leancloud.js +3 -2
  32. data/_includes/pageview-providers/leancloud/post.html +1 -1
  33. data/_includes/paginator.html +1 -1
  34. data/_includes/scripts/article.js +1 -1
  35. data/_includes/scripts/aside/affix.js +1 -1
  36. data/_includes/scripts/aside/toc.js +1 -1
  37. data/_includes/scripts/common.js +1 -1
  38. data/_includes/scripts/components/search.js +86 -0
  39. data/_includes/scripts/components/sidebar.js +1 -2
  40. data/_includes/scripts/home.js +1 -1
  41. data/_includes/scripts/lib/affix.js +1 -1
  42. data/_includes/scripts/lib/gallery.js +123 -20
  43. data/_includes/scripts/lib/lazyload.js +1 -1
  44. data/_includes/scripts/lib/modal.js +9 -7
  45. data/_includes/scripts/lib/scroll-to.js +1 -1
  46. data/_includes/scripts/lib/swiper.js +28 -6
  47. data/_includes/scripts/lib/throttle.js +1 -1
  48. data/_includes/scripts/lib/toc.js +1 -1
  49. data/_includes/scripts/page.js +1 -1
  50. data/_includes/scripts/utils/imagesLoad.js +1 -1
  51. data/_includes/scripts/utils/utils.js +1 -5
  52. data/_includes/scripts/variables.html +1 -1
  53. data/_includes/search-providers/custom/search.html +3 -0
  54. data/_includes/{scripts/components/search → search-providers/default}/search-data.js +2 -2
  55. data/_includes/search-providers/default/search.html +18 -0
  56. data/_includes/{scripts/components/search → search-providers/default}/search.js +13 -69
  57. data/_includes/search-providers/google-custom-search-engine/search.html +21 -0
  58. data/_includes/search-providers/google-custom-search-engine/search.js +33 -0
  59. data/_includes/search.html +17 -19
  60. data/_includes/sharing-providers/custom.html +3 -0
  61. data/_includes/sharing.html +2 -0
  62. data/_includes/snippets/get-article-title.html +1 -1
  63. data/_includes/snippets/get-locale-string.html +12 -0
  64. data/_includes/snippets/{locale-to-string.html → get-string-from-locale-config.html} +0 -0
  65. data/_includes/svg/icon/social/medium.svg +3 -0
  66. data/_layouts/archive.html +22 -4
  67. data/_layouts/article.html +4 -51
  68. data/_layouts/home.html +23 -5
  69. data/_layouts/landing.html +22 -1
  70. data/_layouts/page.html +3 -7
  71. data/_sass/additional/_alert.scss +1 -1
  72. data/_sass/additional/_photo-frame.scss +1 -1
  73. data/_sass/additional/_tag.scss +1 -1
  74. data/_sass/animate/_fade-in-down.scss +1 -1
  75. data/_sass/animate/_fade-in-up.scss +1 -1
  76. data/_sass/animate/_fade-in.scss +1 -1
  77. data/_sass/common/_classes.scss +7 -5
  78. data/_sass/common/_function.scss +1 -1
  79. data/_sass/common/_print.scss +1 -1
  80. data/_sass/common/_reset.scss +18 -14
  81. data/_sass/common/_variables.scss +5 -8
  82. data/_sass/common/classes/_animation.scss +1 -1
  83. data/_sass/common/classes/_clearfix.scss +1 -1
  84. data/_sass/common/classes/_clickable.scss +10 -1
  85. data/_sass/common/classes/_grid.scss +1 -1
  86. data/_sass/common/classes/_horizontal-rules.scss +1 -1
  87. data/_sass/common/classes/_link.scss +10 -1
  88. data/_sass/common/classes/_media.scss +1 -1
  89. data/_sass/common/classes/_overflow.scss +1 -1
  90. data/_sass/common/classes/_pseudo.scss +1 -1
  91. data/_sass/common/classes/_shadow.scss +1 -1
  92. data/_sass/common/classes/_spacing.scss +1 -1
  93. data/_sass/common/classes/_split-line.scss +1 -1
  94. data/_sass/common/classes/_text.scss +1 -1
  95. data/_sass/common/classes/_transform.scss +1 -1
  96. data/_sass/common/classes/_transition.scss +1 -1
  97. data/_sass/common/classes/_user-select.scss +1 -1
  98. data/_sass/common/components/_button.scss +3 -7
  99. data/_sass/common/components/_card.scss +2 -2
  100. data/_sass/common/components/_gallery.scss +8 -8
  101. data/_sass/common/components/_hero.scss +1 -1
  102. data/_sass/common/components/_image.scss +1 -1
  103. data/_sass/common/components/_item.scss +2 -2
  104. data/_sass/common/components/_menu.scss +1 -1
  105. data/_sass/common/components/_modal.scss +1 -1
  106. data/_sass/common/components/_swiper.scss +1 -1
  107. data/_sass/common/components/_toc.scss +61 -53
  108. data/_sass/components/_article-footer.scss +17 -0
  109. data/_sass/components/_article-header.scss +4 -1
  110. data/_sass/components/_article-list.scss +8 -1
  111. data/_sass/components/_author-links.scss +16 -10
  112. data/_sass/components/_author-profile.scss +2 -1
  113. data/_sass/components/_extensions.scss +1 -1
  114. data/_sass/components/_footer.scss +2 -7
  115. data/_sass/components/_header.scss +34 -18
  116. data/_sass/components/_lightbox.scss +2 -2
  117. data/_sass/components/_main.scss +1 -1
  118. data/_sass/components/_search.scss +22 -2
  119. data/_sass/components/_tags.scss +1 -1
  120. data/_sass/custom.scss +3 -0
  121. data/_sass/layout/_404.scss +1 -1
  122. data/_sass/layout/_article.scss +26 -41
  123. data/_sass/layout/_articles.scss +1 -1
  124. data/_sass/layout/_base.scss +1 -1
  125. data/_sass/layout/_home.scss +1 -1
  126. data/_sass/layout/_landing.scss +1 -1
  127. data/_sass/layout/_page.scss +120 -122
  128. data/_sass/skins/_chocolate.scss +7 -5
  129. data/_sass/skins/_dark.scss +7 -5
  130. data/_sass/skins/_default.scss +7 -5
  131. data/_sass/skins/_forest.scss +7 -5
  132. data/_sass/skins/_ocean.scss +7 -5
  133. data/_sass/skins/_orange.scss +7 -5
  134. data/_sass/skins/highlight/_tomorrow-night-blue.scss +1 -1
  135. data/_sass/skins/highlight/_tomorrow-night-bright.scss +1 -1
  136. data/_sass/skins/highlight/_tomorrow-night-eighties.scss +1 -1
  137. data/_sass/skins/highlight/_tomorrow-night.scss +1 -1
  138. data/_sass/skins/highlight/_tomorrow.scss +1 -1
  139. data/_sass/skins/highlight/tomorrow/_default.scss +1 -1
  140. data/_sass/skins/highlight/tomorrow/_highlight.scss +1 -1
  141. data/_sass/skins/highlight/tomorrow/_night-blue.scss +1 -1
  142. data/_sass/skins/highlight/tomorrow/_night-bright.scss +1 -1
  143. data/_sass/skins/highlight/tomorrow/_night-eighties.scss +1 -1
  144. data/_sass/skins/highlight/tomorrow/_night.scss +1 -1
  145. data/assets/css/main.scss +2 -3
  146. data/assets/search.js +1 -1
  147. metadata +42 -21
  148. data/_includes/article-footer/custom.html +0 -1
  149. data/_includes/pageview-providers/custom.html +0 -0
@@ -31,17 +31,19 @@ default:
31
31
  show_date: true
32
32
  show_tags: true
33
33
  show_author_profile: false
34
+ show_subscribe: false
34
35
  full_width: false
35
36
  sharing: false
36
37
  comment: true
37
38
  license: false
38
39
  pageview: false
40
+ search: default
39
41
 
40
42
  sources:
41
43
  bootcdn:
42
44
  font_awesome: 'https://use.fontawesome.com/releases/v5.0.13/css/all.css'
43
45
  jquery: 'https://cdn.bootcss.com/jquery/3.1.1/jquery.min.js'
44
- leancloud_js_sdk: '//cdn1.lncld.net/static/js/3.4.1/av-min.js'
46
+ leancloud_js_sdk: '//cdn.jsdelivr.net/npm/leancloud-storage@3.13.2/dist/av-min.js'
45
47
  chart: 'https://cdn.bootcss.com/Chart.js/2.7.2/Chart.bundle.min.js'
46
48
  gitalk:
47
49
  js: 'https://cdn.bootcss.com/gitalk/1.2.2/gitalk.min.js'
@@ -52,7 +54,7 @@ sources:
52
54
  unpkg:
53
55
  font_awesome: 'https://use.fontawesome.com/releases/v5.0.13/css/all.css'
54
56
  jquery: 'https://unpkg.com/jquery@3.3.1/dist/jquery.min.js'
55
- leancloud_js_sdk: '//cdn1.lncld.net/static/js/3.4.1/av-min.js'
57
+ leancloud_js_sdk: '//cdn.jsdelivr.net/npm/leancloud-storage@3.13.2/dist/av-min.js'
56
58
  chart: 'https://unpkg.com/chart.js@2.7.2/dist/Chart.min.js'
57
59
  gitalk:
58
60
  js: 'https://unpkg.com/gitalk@1.2.2/dist/gitalk.min.js'
@@ -0,0 +1,3 @@
1
+ <!-- start custom analytics snippet -->
2
+
3
+ <!-- end custom analytics snippet -->
@@ -0,0 +1,55 @@
1
+ {%- include snippets/assign.html
2
+ target=site.data.variables.default.page.show_author_profile
3
+ source0=layout.show_author_profile source1=page.show_author_profile -%}
4
+ {%- assign _show_author_profile = __return -%}
5
+
6
+ {%- include snippets/assign.html
7
+ target=site.data.variables.default.page.show_subscribe
8
+ source0=layout.show_subscribe source1=page.show_subscribe -%}
9
+ {%- assign _show_subscribe = __return -%}
10
+
11
+ {%- include snippets/assign.html
12
+ target=site.data.variables.default.page.license
13
+ source0=layout.license source1=page.license -%}
14
+ {%- assign _license = __return -%}
15
+
16
+ <footer class="article__footer">
17
+ {%- if page.modify_date -%}
18
+ {%- include snippets/get-locale-string.html key='ARTICLE_DATE_FORMAT' -%}
19
+ {%- assign _locale_date_format = __return -%}
20
+
21
+ {%- include snippets/get-locale-string.html key='LAST_UPDATED' -%}
22
+ {%- assign _locale_last_update = __return -%}
23
+ <span>{{ _locale_last_update }}
24
+ <time itemprop="dateModified" datetime="{{ page.modify_date | date_to_xmlschema }}">{{ page.modify_date | date: _locale_date_format }}</time>
25
+ </span>
26
+ {%- elsif page.date -%}
27
+ <meta itemprop="dateModified" content="{{ page.date | date_to_xmlschema }}">
28
+ {%- endif -%}
29
+
30
+ {%- include article/footer/custom.html -%}
31
+
32
+ {%- if _show_author_profile -%}
33
+ {%- if page.author -%}
34
+ {%- assign _author = site.data.authors[page.author] -%}
35
+ {%- else -%}
36
+ {%- assign _author = site.author -%}
37
+ {%- endif -%}
38
+ {%- include article/footer/author-profile.html author=_author -%}
39
+ {%- endif -%}
40
+
41
+ {%- if _show_subscribe -%}
42
+ <div class="article__subscribe">{%- include article/footer/subscribe.html -%}</div>
43
+ {%- endif -%}
44
+
45
+ {%- if _license != false -%}
46
+ {%- assign _data_license = site.data.licenses-%}
47
+ {%- if site.license -%}
48
+ {%- assign _license_data = _data_license[site.license] -%}
49
+ {%- endif -%}
50
+ {%- if _license != true -%}
51
+ {%- assign _license_data = _data_license[_license] -%}
52
+ {%- endif -%}
53
+ <div class="article__license">{%- include article/footer/license.html license=_license_data -%}</div>
54
+ {%- endif -%}
55
+ </footer>
@@ -22,7 +22,7 @@
22
22
  {%- if site.repository and site.repository_tree -%}
23
23
  {%- include snippets/is_collection.html page=include.article -%}
24
24
  {%- assign _is_article_collection = __return -%}
25
- {%- include snippets/locale-to-string.html locale=site.data.locale.POST_ON_GITHUB -%}
25
+ {%- include snippets/get-locale-string.html key='POST_ON_GITHUB' -%}
26
26
  {%- assign _locale_post_on_github = __return -%}
27
27
  {%- if _is_article_collection -%}
28
28
  {%- include snippets/prepend-path.html path=include.article.path prepend_path=site.collections_dir -%}
@@ -62,14 +62,14 @@
62
62
 
63
63
  {%- if _show_date -%}
64
64
  <li>
65
- {%- include snippets/locale-to-string.html locale=site.data.locale.ARTICLE_DATE_FORMAT -%}
65
+ {%- include snippets/get-locale-string.html key='ARTICLE_DATE_FORMAT' -%}
66
66
  <i class="far fa-calendar-alt"></i> <span>{{ include.article.date | date: __return }}</span>
67
67
  </li>
68
68
  {%- endif -%}
69
69
 
70
70
  {%- if _pageview -%}
71
71
  {%- if site.pageview.provider -%}
72
- {%- include snippets/locale-to-string.html locale=site.data.locale.VIEWS -%}
72
+ {%- include snippets/get-locale-string.html key='VIEWS' -%}
73
73
  {%- assign _locale_views = __return -%}
74
74
  <li><i class="far fa-eye"></i> <span class="js-pageview" data-page-key="{{ include.article.key }}">0</span> {{ _locale_views }}</li>
75
75
  {%- endif -%}
@@ -2,7 +2,7 @@
2
2
 
3
3
  {%- assign _excerpt_type = include.excerpt_type -%}
4
4
 
5
- {%- include snippets/locale-to-string.html locale=site.data.locale.READMORE -%}
5
+ {%- include snippets/get-locale-string.html key='READMORE' -%}
6
6
  {%- assign _locale_readmore = __return -%}
7
7
 
8
8
  {%- assign _sorted_list = include.articles -%}
@@ -18,7 +18,11 @@
18
18
  {%- elsif include.type == 'brief' -%}
19
19
  <div class="article-list items">
20
20
  {%- elsif include.type == 'grid' -%}
21
- <div class="article-list grid grid--p-3">
21
+ {%- if include.size == 'sm' -%}
22
+ <div class="article-list grid gird--sm grid--p-3">
23
+ {%- else -%}
24
+ <div class="article-list grid grid--p-3">
25
+ {%- endif -%}
22
26
  {%- endif -%}
23
27
 
24
28
  {%- for _article in _sorted_list -%}
@@ -51,7 +55,7 @@
51
55
  </div>
52
56
  {%- endif -%}
53
57
  <div class="item__content">
54
- <header><h2 itemprop="headline" class="item__header"><a href="{{ _article_url }}">{{ _article.title }}</a></h2></header>
58
+ <header><a href="{{ _article_url }}"><h2 itemprop="headline" class="item__header">{{ _article.title }}</h2></a></header>
55
59
  <div class="item__description">
56
60
  {%- if _article.excerpt and include.show_excerpt -%}
57
61
  <div class="article__content" itemprop="description articleBody">
@@ -94,7 +98,7 @@
94
98
  {%- assign _date = _currentdate -%}
95
99
  {%- endif -%}
96
100
  {%- endif -%}
97
- {%- include snippets/locale-to-string.html locale=site.data.locale.ARTICLE_LIST_DATE_FORMAT -%}
101
+ {%- include snippets/get-locale-string.html key='ARTICLE_LIST_DATE_FORMAT' -%}
98
102
  <li class="item" itemscope itemtype="http://schema.org/BlogPosting" data-tags="{{ _tags }}">
99
103
  <div class="item__content">
100
104
  {%- if include.show_info -%}
@@ -106,13 +110,13 @@
106
110
  {%- elsif include.type == 'grid' -%}
107
111
  {%- if include.size == 'sm' -%}
108
112
  <div class="cell cell--12 cell--md-4 cell--lg-3">
109
- <div class="card">
113
+ <div class="card card--flat">
110
114
  {%- if _article.cover -%}
111
115
  <div class="card__image">
112
116
  <img class="image" src="{{ _article_cover }}" />
113
117
  <div class="overlay overlay--bottom">
114
118
  <header>
115
- <a class="card__header" href="{{ _article_url }}">{{ _article.title }}</a>
119
+ <a href="{{ _article_url }}"><h2 class="card__header">{{ _article.title }}</h2></a>
116
120
  </header>
117
121
  </div>
118
122
  </div>
@@ -128,7 +132,7 @@
128
132
  {%- endif -%}
129
133
  <div class="card__content">
130
134
  <header>
131
- <h2 class="card__header"><a href="{{ _article_url }}">{{ _article.title }}</a></h2>
135
+ <a href="{{ _article_url }}"><h2 class="card__header">{{ _article.title }}</h2></a>
132
136
  </header>
133
137
  </div>
134
138
  </div>
@@ -39,14 +39,14 @@
39
39
  {%- if _previous -%}
40
40
  {%- include snippets/prepend-baseurl.html path=_previous.url -%}
41
41
  {%- assign _href = __return -%}
42
- {%- include snippets/locale-to-string.html locale=site.data.locale.PREVIOUS -%}
42
+ {%- include snippets/get-locale-string.html key='PREVIOUS' -%}
43
43
  {%- assign _locale_previous = __return -%}
44
44
  <div class="previous"><span>{{ _locale_previous }}</span><a href="{{ _href }}">{{ _previous.title }}</a></div>
45
45
  {%- endif -%}
46
46
  {%- if _next -%}
47
47
  {%- include snippets/prepend-baseurl.html path=_next.url -%}
48
48
  {%- assign _href = __return -%}
49
- {%- include snippets/locale-to-string.html locale=site.data.locale.NEXT -%}
49
+ {%- include snippets/get-locale-string.html key='NEXT' -%}
50
50
  {%- assign _locale_next = __return -%}
51
51
  <div class="next"><span>{{ _locale_next }}</span><a href="{{ _href }}">{{ _next.title }}</a></div>
52
52
  {%- endif -%}
@@ -0,0 +1,3 @@
1
+ <!-- start custom article footer snippet -->
2
+
3
+ <!-- end custom article footer snippet -->
@@ -1,4 +1,4 @@
1
- {%- include snippets/locale-to-string.html locale=site.data.locale.LICENSE_ANNOUNCE -%}
1
+ {%- include snippets/get-locale-string.html key='LICENSE_ANNOUNCE' -%}
2
2
  {%- assign _license_announce = __return -%}
3
3
 
4
4
  {%- if include.license -%}
@@ -0,0 +1,6 @@
1
+ {%- assign _paths_rss = site.paths.rss | default: site.data.variables.default.paths.rss -%}
2
+ {%- include snippets/get-nav-url.html path=_paths_rss -%}
3
+ {%- assign _paths_rss = __return -%}
4
+ {%- include snippets/get-locale-string.html key='SUBSCRIBE' -%}
5
+ {%- assign _locale_nav_subscribe = __return -%}
6
+ <div class="subscribe"><i class="fas fa-rss"></i> <a type="application/rss+xml" href="{{ _paths_rss }}">{{ _locale_nav_subscribe }}</a></div>
@@ -0,0 +1,3 @@
1
+ <!-- start custom article top snippet -->
2
+
3
+ <!-- end custom article top snippet -->
@@ -7,26 +7,29 @@
7
7
  <link itemprop="url" href="{{ _author.url }}">
8
8
  {%- endif -%}
9
9
 
10
- {%- include snippets/locale-to-string.html locale=site.data.locale.EMAIL_ME -%}
10
+ {%- if _author.type == 'organization' -%}
11
+ {%- include snippets/get-locale-string.html key='EMAIL_US' -%}
12
+ {%- assign _locale_string_email = __return -%}
13
+ {%- include snippets/get-locale-string.html key='FOLLOW_US' -%}
14
+ {%- assign _locale_string_follow = __return -%}
15
+ {%- else -%}
16
+ {%- include snippets/get-locale-string.html key='EMAIL_ME' -%}
17
+ {%- assign _locale_string_email = __return -%}
18
+ {%- include snippets/get-locale-string.html key='FOLLOW_ME' -%}
19
+ {%- assign _locale_string_follow = __return -%}
20
+ {%- endif -%}
21
+
22
+ {%- include snippets/get-locale-string.html key='EMAIL_ME' -%}
11
23
  {%- if _author.email -%}
12
- <li title="{{ __return }}">
24
+ <li title="{{ _locale_string_email }}">
13
25
  <a class="button button--circle mail-button" itemprop="email" href="mailto:{{ _author.email }}" target="_blank">
14
26
  <i class="fas fa-envelope"></i>
15
27
  </a>
16
28
  {%- endif -%}
17
29
 
18
- {%- include snippets/locale-to-string.html locale=site.data.locale.FOLLOW_ME -%}
19
-
20
- {%- if _author.weibo -%}
21
- <li title="{{ __return | replace: '[NAME]', 'Weibo' }}">
22
- <a class="button button--circle weibo-button" itemprop="sameAs" href="https://weibo.com/{{ _author.weibo }}" target="_blank">
23
- <div class="icon">{%- include svg/icon/social/weibo.svg -%}</div>
24
- </a>
25
- </li>
26
- {%- endif -%}
27
30
 
28
31
  {%- if _author.facebook -%}
29
- <li title="{{ __return | replace: '[NAME]', 'Facebook' }}">
32
+ <li title="{{ _locale_string_follow | replace: '[NAME]', 'Facebook' }}">
30
33
  <a class="button button--circle facebook-button" itemprop="sameAs" href="https://www.facebook.com/{{ _author.facebook }}" target="_blank">
31
34
  <div class="icon">{%- include svg/icon/social/facebook.svg -%}</div>
32
35
  </a>
@@ -34,59 +37,84 @@
34
37
  {%- endif -%}
35
38
 
36
39
  {%- if _author.twitter -%}
37
- <li title="{{ __return | replace: '[NAME]', 'Twitter' }}">
40
+ <li title="{{ _locale_string_follow | replace: '[NAME]', 'Twitter' }}">
38
41
  <a class="button button--circle twitter-button" itemprop="sameAs" href="https://twitter.com/{{ _author.twitter }}" target="_blank">
39
42
  <div class="icon">{%- include svg/icon/social/twitter.svg -%}</div>
40
43
  </a>
41
44
  </li>
42
45
  {%- endif -%}
43
46
 
47
+ {%- if _author.weibo -%}
48
+ <li title="{{ _locale_string_follow | replace: '[NAME]', 'Weibo' }}">
49
+ <a class="button button--circle weibo-button" itemprop="sameAs" href="https://weibo.com/{{ _author.weibo }}" target="_blank">
50
+ <div class="icon">{%- include svg/icon/social/weibo.svg -%}</div>
51
+ </a>
52
+ </li>
53
+ {%- endif -%}
54
+
44
55
  {%- if _author.googleplus -%}
45
- <li title="{{ __return | replace: '[NAME]', 'Google+' }}">
56
+ <li title="{{ _locale_string_follow | replace: '[NAME]', 'Google+' }}">
46
57
  <a class="button button--circle googlepluse-button" itemprop="sameAs" href="https://plus.google.com/u/0/{{ _author.googleplus }}" target="_blank">
47
58
  <div class="icon">{%- include svg/icon/social/googleplus.svg -%}</div>
48
59
  </a>
49
60
  </li>
50
61
  {%- endif -%}
51
62
 
52
- {%- if _author.github -%}
53
- <li title="{{ __return | replace: '[NAME]', 'Github' }}">
54
- <a class="button button--circle github-button" itemprop="sameAs" href="https://github.com/{{ _author.github }}" target="_blank">
55
- <div class="icon">{%- include svg/icon/social/github.svg -%}</div>
63
+ {%- if _author.telegram -%}
64
+ <li title="{{ _locale_string_follow | replace: '[NAME]', 'Telegram' }}">
65
+ <a class="button button--circle telegram-button" itemprop="sameAs" href="https://t.me/{{ _author.telegram }}" target="_blank">
66
+ <div class="icon">{%- include svg/icon/social/telegram.svg -%}</div>
56
67
  </a>
57
68
  </li>
58
69
  {%- endif -%}
59
70
 
60
- {%- if _author.linkedin -%}
61
- <li title="{{ __return | replace: '[NAME]', 'Linkedin' }}">
62
- <a class="button button--circle linkedin-button" itemprop="sameAs" href="https://www.linkedin.com/in/{{ _author.linkedin }}" target="_blank">
63
- <div class="icon">{%- include svg/icon/social/linkedin.svg -%}</div>
71
+ {%- if _author.medium -%}
72
+ <li title="{{ _locale_string_follow | replace: '[NAME]', 'Medium' }}">
73
+ <a class="button button--circle medium-button" itemprop="sameAs" href="https://medium.com/{{ _author.medium }}" target="_blank">
74
+ <div class="icon">{%- include svg/icon/social/medium.svg -%}</div>
75
+ </a>
76
+ </li>
77
+ {%- endif -%}
78
+
79
+ {%- if _author.zhihu -%}
80
+ <li title="{{ _locale_string_follow | replace: '[NAME]', 'Zhihu' }}">
81
+ <a class="button button--circle zhihu-button" itemprop="sameAs" href="https://www.zhihu.com/people/{{ _author.zhihu }}" target="_blank">
82
+ <div class="icon">{%- include svg/icon/social/zhihu.svg -%}</div>
64
83
  </a>
65
84
  </li>
66
85
  {%- endif -%}
67
86
 
68
87
  {%- if _author.douban -%}
69
- <li title="{{ __return | replace: '[NAME]', 'Douban' }}">
88
+ <li title="{{ _locale_string_follow | replace: '[NAME]', 'Douban' }}">
70
89
  <a class="button button--circle douban-button" itemprop="sameAs" href="https://www.douban.com/people/{{ _author.douban }}" target="_blank">
71
90
  <div class="icon">{%- include svg/icon/social/douban.svg -%}</div>
72
91
  </a>
73
92
  </li>
74
93
  {%- endif -%}
75
94
 
76
- {%- if _author.npm -%}
77
- <li title="{{ __return | replace: '[NAME]', 'npm' }}">
78
- <a class="button button--circle npm-button" itemprop="sameAs" href="https://www.npmjs.com/~{{ _author.npm }}" target="_blank">
79
- <div class="icon">{%- include svg/icon/social/npm.svg -%}</div>
95
+ {%- if _author.linkedin -%}
96
+ <li title="{{ _locale_string_follow | replace: '[NAME]', 'Linkedin' }}">
97
+ <a class="button button--circle linkedin-button" itemprop="sameAs" href="https://www.linkedin.com/in/{{ _author.linkedin }}" target="_blank">
98
+ <div class="icon">{%- include svg/icon/social/linkedin.svg -%}</div>
80
99
  </a>
81
100
  </li>
82
101
  {%- endif -%}
83
102
 
84
- {%- if _author.telegram -%}
85
- <li title="{{ __return | replace: '[NAME]', 'Telegram' }}">
86
- <a class="button button--circle telegram-button" itemprop="sameAs" href="https://t.me/{{ _author.telegram }}" target="_blank">
87
- <div class="icon">{%- include svg/icon/social/telegram.svg -%}</div>
103
+ {%- if _author.github -%}
104
+ <li title="{{ _locale_string_follow | replace: '[NAME]', 'Github' }}">
105
+ <a class="button button--circle github-button" itemprop="sameAs" href="https://github.com/{{ _author.github }}" target="_blank">
106
+ <div class="icon">{%- include svg/icon/social/github.svg -%}</div>
107
+ </a>
108
+ </li>
109
+ {%- endif -%}
110
+
111
+ {%- if _author.npm -%}
112
+ <li title="{{ _locale_string_follow | replace: '[NAME]', 'npm' }}">
113
+ <a class="button button--circle npm-button" itemprop="sameAs" href="https://www.npmjs.com/~{{ _author.npm }}" target="_blank">
114
+ <div class="icon">{%- include svg/icon/social/npm.svg -%}</div>
88
115
  </a>
89
116
  </li>
90
117
  {%- endif -%}
118
+
91
119
  </ul>
92
120
  </div>
@@ -0,0 +1,3 @@
1
+ <!-- start custom comments snippet -->
2
+
3
+ <!-- end custom comments snippet -->
@@ -5,9 +5,16 @@
5
5
  site.comments.gitalk.owner and
6
6
  site.comments.gitalk.admin -%}
7
7
 
8
+ <!-- fix text color in the input textarea of gitalk -->
9
+ <style type="text/css">
10
+ .gitalk-wrapper .gt-header-textarea {
11
+ color: #333 !important;
12
+ }
13
+ </style>
14
+
8
15
  {%- include snippets/get-sources.html -%}
9
16
  {%- assign _sources = __return -%}
10
- <div id="js-gitalk-container"></div>
17
+ <div class="gitalk-wrapper" id="js-gitalk-container"></div>
11
18
  {%- assign _admin = '' -%}
12
19
  {%- for _admin_id in site.comments.gitalk.admin -%}
13
20
  {%- assign _admin = _admin | append: ", '" | append: _admin_id | append: "'" -%}
@@ -4,13 +4,20 @@
4
4
  {%- assign _VALINE_APP_ID = site.comments.valine.app_id -%}
5
5
  {%- assign _VALINE_APP_KEY = site.comments.valine.app_key -%}
6
6
  {%- assign _VALINE_PLACEHOLDER = site.comments.valine.placeholder -%}
7
+ {%- assign _VALINE_VISITOR = site.comments.valine.visitor -%}
8
+ {%- assign _VALINE_META = site.comments.valine.meta -%}
7
9
 
8
10
 
9
- {%- if page.key and
10
- _VALINE_APP_ID and
11
+ {%- if _VALINE_APP_ID and
11
12
  _VALINE_APP_KEY -%}
12
13
 
13
14
  <div id="vcomments"></div>
15
+
16
+ {%- if _VALINE_VISITOR -%}
17
+ <span id="{{page.url}}" class="leancloud-visitors" data-flag-title={{page.title}}>
18
+ </span>
19
+ {%- endif -%}
20
+
14
21
  <script>
15
22
  window.Lazyload.js(['{{ _sources.leancloud_js_sdk}}', '{{ _sources.valine }}'], function() {
16
23
  var _config = {
@@ -25,6 +32,12 @@
25
32
  {%- assign _page_lang_slice = page.lang | slice: 0, 2 -%}
26
33
  {%- if _page_lang_slice != 'zh' -%}
27
34
  _config.lang = 'en';
35
+ {%- endif -%}
36
+ {%- if _VALINE_VISITOR -%}
37
+ _config.visitor = 'true';
38
+ {%- endif -%}
39
+ {%- if _VALINE_META -%}
40
+ _config.meta = {{ _VALINE_META}};
28
41
  {%- endif -%}
29
42
  new Valine(_config);
30
43
  });
@@ -1,5 +1,5 @@
1
1
 
2
- <div class="footer js-page-footer">
2
+ <footer class="footer py-4 js-page-footer">
3
3
  <div class="main">
4
4
 
5
5
  {%- assign _site_author = site.author -%}
@@ -9,7 +9,7 @@
9
9
  {%- assign _site_author_itemtype = 'http://schema.org/Person' -%}
10
10
  {%- endif -%}
11
11
 
12
- <aside itemscope itemtype="{{ _site_author_itemtype }}">
12
+ <div itemscope itemtype="{{ _site_author_itemtype }}">
13
13
  <meta itemprop="name" content="{{ _site_author.name }}">
14
14
  {%- assign _site_author_url = _site_author.url | default: '/'-%}
15
15
  {%- include snippets/get-nav-url.html path=_site_author_url -%}
@@ -21,20 +21,17 @@
21
21
  <div class="footer__author-links">
22
22
  {%- include author-links.html author=_site_author -%}
23
23
  </div>
24
- </aside>
25
- <footer class="site-info">
26
- {%- assign _paths_rss = site.paths.rss | default: site.data.variables.default.paths.rss -%}
27
- {%- include snippets/get-nav-url.html path=_paths_rss -%}
28
- {%- assign _paths_rss = __return -%}
29
- {%- include snippets/locale-to-string.html locale=site.data.locale.NAV.RSS -%}
30
- {%- assign _locale_nav_rss = __return -%}
31
- <p class="menu menu--center">
32
- <span>© {{ site.title }} {{ site.data.locale.COPYRIGHT_DATES }}</span>
33
- <a type="application/rss+xml" href="{{ _paths_rss }}">{{ _locale_nav_rss }}</a>
34
- </p>
35
- <p>Powered by <a title="Jekyll is a simple, blog-aware, static site generator." href="http://jekyllrb.com/">Jekyll</a> & <a
36
- title="TeXt is a succinct theme for blogging." href="https://github.com/kitian616/jekyll-TeXt-theme">TeXt Theme</a>.
37
- </p>
38
- </footer>
24
+ </div>
25
+ {%- include snippets/get-locale-string.html key='COPYRIGHT_DATES' -%}
26
+ {%- assign _locale_copyright_dates = __return -%}
27
+ <div class="site-info mt-2">
28
+ <div>
29
+ {%- include snippets/get-locale-string.html key='COPYRIGHT_DATES' -%}
30
+ {%- assign _locale_copyright_dates = __return -%}
31
+ © {{ site.title }} {{ _locale_copyright_dates }},
32
+ Powered by <a title="Jekyll is a simple, blog-aware, static site generator." href="http://jekyllrb.com/">Jekyll</a> & <a
33
+ title="TeXt is a super customizable Jekyll theme." href="https://github.com/kitian616/jekyll-TeXt-theme">TeXt Theme</a>.
34
+ </div>
35
+ </div>
39
36
  </div>
40
- </div>
37
+ </footer>