jekyll-theme-chirpy 4.0.2 → 4.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +66 -33
  3. data/_config.yml +9 -4
  4. data/_data/locales/en.yml +90 -0
  5. data/_data/locales/id-ID.yml +90 -0
  6. data/_data/locales/zh-CN.yml +89 -0
  7. data/_includes/disqus.html +42 -13
  8. data/_includes/footer.html +15 -8
  9. data/_includes/head.html +7 -6
  10. data/_includes/js-selector.html +8 -3
  11. data/_includes/lang.html +8 -0
  12. data/_includes/no-zero-date.html +13 -0
  13. data/_includes/panel.html +5 -3
  14. data/_includes/post-nav.html +4 -4
  15. data/_includes/post-paginator.html +9 -1
  16. data/_includes/post-sharing.html +6 -3
  17. data/_includes/read-time.html +13 -2
  18. data/_includes/refactor-content.html +91 -6
  19. data/_includes/related-posts.html +1 -1
  20. data/_includes/search-loader.html +2 -2
  21. data/_includes/search-results.html +1 -1
  22. data/_includes/sidebar.html +8 -7
  23. data/_includes/timeago.html +12 -16
  24. data/_includes/topbar.html +23 -21
  25. data/_layouts/archives.html +5 -2
  26. data/_layouts/categories.html +16 -17
  27. data/_layouts/category.html +4 -2
  28. data/_layouts/default.html +5 -1
  29. data/_layouts/home.html +5 -4
  30. data/_layouts/page.html +8 -1
  31. data/_layouts/post.html +25 -11
  32. data/_layouts/tag.html +3 -2
  33. data/_sass/addon/commons.scss +54 -25
  34. data/_sass/addon/syntax.scss +96 -36
  35. data/_sass/addon/variables.scss +25 -13
  36. data/_sass/colors/dark-syntax.scss +17 -14
  37. data/_sass/colors/dark-typography.scss +15 -13
  38. data/_sass/colors/light-syntax.scss +4 -1
  39. data/_sass/colors/light-typography.scss +12 -11
  40. data/_sass/jekyll-theme-chirpy.scss +2 -1
  41. data/_sass/layout/home.scss +30 -15
  42. data/_sass/layout/post.scss +2 -23
  43. data/_sass/variables-hook.scss +3 -0
  44. data/assets/404.html +17 -5
  45. data/assets/css/style.scss +7 -2
  46. data/assets/feed.xml +1 -1
  47. data/assets/js/data/search.json +1 -1
  48. data/assets/js/dist/categories.min.js +1 -1
  49. data/assets/js/dist/commons.min.js +1 -1
  50. data/assets/js/dist/home.min.js +2 -2
  51. data/assets/js/dist/page.min.js +2 -2
  52. data/assets/js/dist/post.min.js +2 -2
  53. data/assets/js/dist/pvreport.min.js +1 -1
  54. metadata +8 -6
  55. data/_data/date_format.yml +0 -7
  56. data/_data/label.yml +0 -19
  57. data/_data/rights.yml +0 -11
  58. data/assets/js/lib/jquery.disqusloader.min.js +0 -8
@@ -81,7 +81,7 @@
81
81
  {% if index_list.size > 0 %}
82
82
  <div id="related-posts" class="mt-5 mb-2 mb-sm-4">
83
83
  <h3 class="pt-2 mt-1 mb-4 ml-1"
84
- data-toc-skip>{{ site.data.label.post.relate_posts | default: 'Further Reading' }}</h3>
84
+ data-toc-skip>{{ site.data.locales[lang].post.relate_posts }}</h3>
85
85
  <div class="card-deck mb-4">
86
86
  {% for entry in index_list %}
87
87
  {% assign index = entry | plus: 0 %}
@@ -14,9 +14,9 @@
14
14
  </div>
15
15
  {% endcapture %}
16
16
 
17
- {% capture not_found %}<p class="mt-5">Oops! No result founds.</p>{% endcapture %}
17
+ {% capture not_found %}<p class="mt-5">{{ site.data.locales[lang].search.no_results }}</p>{% endcapture %}
18
18
 
19
- <script src="https://cdn.jsdelivr.net/npm/simple-jekyll-search@1.7.3/dest/simple-jekyll-search.min.js"></script>
19
+ <script src="https://cdn.jsdelivr.net/npm/simple-jekyll-search@1.10.0/dest/simple-jekyll-search.min.js"></script>
20
20
 
21
21
  <script>
22
22
  SimpleJekyllSearch({
@@ -4,7 +4,7 @@
4
4
  <div id="search-result-wrapper" class="d-flex justify-content-center unloaded">
5
5
  <div class="col-12 col-sm-11 post-content">
6
6
  <div id="search-hints">
7
- <h4 class="text-muted mb-4">{{ site.data.label.panel.trending_tags | default: 'Trending Tags' }}</h4>
7
+ <h4 class="text-muted mb-4">{{ site.data.locales[lang].panel.trending_tags }}</h4>
8
8
 
9
9
  {% include trending-tags.html %}
10
10
 
@@ -2,8 +2,7 @@
2
2
  The Side Bar
3
3
  -->
4
4
 
5
- <div id="sidebar" class="d-flex flex-column align-items-end">
6
-
5
+ <div id="sidebar" class="d-flex flex-column align-items-end" lang="{{lang}}">
7
6
  <div class="profile-wrapper text-center">
8
7
  <div id="avatar">
9
8
  <a href="{{ '/' | relative_url }}" alt="avatar" class="mx-auto">
@@ -21,19 +20,19 @@
21
20
  </div>
22
21
 
23
22
  <div class="site-title mt-3">
24
- <a href="{{ '/' | relative_url }}">{{- site.title -}}</a>
23
+ <a href="{{ '/' | relative_url }}">{{ site.title }}</a>
25
24
  </div>
26
-
27
- <div class="site-subtitle font-italic">{{- site.tagline -}}</div>
25
+ <div class="site-subtitle font-italic">{{ site.tagline }}</div>
28
26
 
29
27
  </div><!-- .profile-wrapper -->
30
28
 
31
29
  <ul class="w-100">
30
+
32
31
  <!-- home -->
33
32
  <li class="nav-item{% if page.layout == 'home' %}{{ " active" }}{% endif %}">
34
33
  <a href="{{ '/' | relative_url }}" class="nav-link">
35
34
  <i class="fa-fw fas fa-home ml-xl-3 mr-xl-3 unloaded"></i>
36
- <span>{{ "HOME" }}</span>
35
+ <span>{{ site.data.locales[lang].tabs.home | upcase }}</span>
37
36
  </a>
38
37
  </li>
39
38
  <!-- the real tabs -->
@@ -41,7 +40,9 @@
41
40
  <li class="nav-item{% if tab.url == page.url %}{{ " active" }}{% endif %}">
42
41
  <a href="{{ tab.url | relative_url }}" class="nav-link">
43
42
  <i class="fa-fw {{ tab.icon }} ml-xl-3 mr-xl-3 unloaded"></i>
44
- <span>{{ tab.title | upcase }}</span>
43
+ {% capture tab_name %}{{ tab.url | split: '/' }}{% endcapture %}
44
+
45
+ <span>{{ site.data.locales[lang].tabs.[tab_name] | default: tab.title | upcase }}</span>
45
46
  </a>
46
47
  </li> <!-- .nav-item -->
47
48
  {% endfor %}
@@ -3,29 +3,25 @@
3
3
  See: /assets/js/_utils/timeage.js
4
4
  -->
5
5
 
6
- {% assign tooltip_df = site.data.date_format.tooltip | default: '%a, %b %e, %Y, %l:%M %p %z' %}
7
- {% assign post_long_df = site.data.date_format.post.long | default: '%b %e, %Y' %}
8
- {% assign post_short_df = site.data.date_format.post.short | default: '%b %e' %}
6
+ {% assign tooltip_df = site.data.locales[lang].date_format.tooltip %}
7
+ {% assign post_long_df = site.data.locales[lang].date_format.post.long %}
8
+ {% assign post_short_df = site.data.locales[lang].date_format.post.short %}
9
9
 
10
+ {% if include.preposition %}
11
+ {{ include.preposition }}
12
+ {% endif %}
10
13
  <span class="timeago {% if include.class %}{{ include.class }}{% endif %}"
11
14
  {% if include.tooltip %}
12
15
  data-toggle="tooltip"
13
16
  data-placement="bottom"
14
17
  title="{{ include.date | date: tooltip_df }}"
15
- {% endif %}
16
-
17
- {% if include.prefix %}prefix="{{ include.prefix }} "{% endif%}
18
- {% if include.prep %}prep="{{ include.prep }}"{% endif %} >
19
-
20
- {% assign this_year = site.time | date: "%Y" %}
21
- {% assign post_year = include.date | date: "%Y" %}
22
-
23
- {% if post_year == this_year %}
18
+ {% endif %}>
19
+ {%- assign this_year = site.time | date: "%Y" -%}
20
+ {%- assign post_year = include.date | date: "%Y" -%}
21
+ {%- if post_year == this_year -%}
24
22
  {{ include.date | date: post_short_df }}
25
- {% else %}
23
+ {%- else -%}
26
24
  {{ include.date | date: post_long_df }}
27
- {% endif %}
28
-
25
+ {%- endif -%}
29
26
  <i class="unloaded">{{ include.date | date_to_xmlschema }}</i>
30
-
31
27
  </span>
@@ -8,34 +8,35 @@
8
8
 
9
9
  {% assign paths = page.url | split: '/' %}
10
10
 
11
- {% if paths.size == 0 %}
11
+ {% if paths.size == 0 or page.layout == 'home' %}
12
12
  <!-- index page -->
13
- <span>{{ 'Posts' }}</span>
13
+ <span>{{ site.data.locales[lang].tabs.home | capitalize }}</span>
14
+
14
15
  {% else %}
15
16
 
16
17
  {% for item in paths %}
17
18
 
18
19
  {% if forloop.first %}
19
- {% unless page.layout == 'post' %}
20
20
  <span>
21
- <a href="{{ '/' | relative_url }}">{{ 'Home' }}</a>
21
+ <a href="{{ '/' | relative_url }}">
22
+ {{ site.data.locales[lang].tabs.home | capitalize }}
23
+ </a>
22
24
  </span>
23
- {% endunless %}
24
25
 
25
26
  {% elsif forloop.last %}
26
- <span>{{ page.title }}</span>
27
27
 
28
- {% else %}
29
- <span>
30
- {% assign url = item %}
31
- {% if item == 'posts' and page.layout == 'post' %}
32
- {% assign url = '/' %}
28
+ {% if page.collection == 'tabs' %}
29
+ <span>{{ site.data.locales[lang].tabs[item] | default: page.title }}</span>
30
+ {% else %}
31
+ <span>{{ page.title }}</span>
33
32
  {% endif %}
34
- <a href="{{ url | relative_url }}">
35
- {{ item | capitalize }}
36
- </a>
37
- </span>
38
33
 
34
+ {% elsif page.layout == 'category' or page.layout == 'tag' %}
35
+ <span>
36
+ <a href="{{ item | relative_url }}">
37
+ {{ site.data.locales[lang].tabs[item] | default: page.title }}
38
+ </a>
39
+ </span>
39
40
  {% endif %}
40
41
 
41
42
  {% endfor %}
@@ -48,11 +49,12 @@
48
49
 
49
50
  <div id="topbar-title">
50
51
  {% if page.layout == 'home' %}
51
- {{- site.title -}}
52
- {% elsif page.dynamic_title %}
53
- {{- page.title -}}
52
+ {{- site.data.locales[lang].title | default: site.title -}}
53
+ {% elsif page.collection == 'tabs' %}
54
+ {%- capture tab_key -%}{{ page.url | split: '/' }}{%- endcapture -%}
55
+ {{- site.data.locales[lang].tabs[tab_key] | default: page.title -}}
54
56
  {% else %}
55
- {{- page.layout | capitalize -}}
57
+ {{- site.data.locales[lang].layout[page.layout] | default: page.layout | capitalize -}}
56
58
  {% endif %}
57
59
  </div>
58
60
 
@@ -60,10 +62,10 @@
60
62
  <span id="search-wrapper" class="align-items-center">
61
63
  <i class="fas fa-search fa-fw"></i>
62
64
  <input class="form-control" id="search-input" type="search"
63
- aria-label="search" autocomplete="off" placeholder="{{ site.data.label.search_hint | default: 'Search' }}...">
65
+ aria-label="search" autocomplete="off" placeholder="{{ site.data.locales[lang].search.hint | capitalize }}...">
64
66
  <i class="fa fa-times-circle fa-fw" id="search-cleaner"></i>
65
67
  </span>
66
- <span id="search-cancel" >Cancel</span>
68
+ <span id="search-cancel" >{{ site.data.locales[lang].search.cancel }}</span>
67
69
  </div>
68
70
 
69
71
  </div>
@@ -3,8 +3,10 @@ layout: page
3
3
  # The Archives of posts.
4
4
  ---
5
5
 
6
+ {% include lang.html %}
6
7
 
7
8
  <div id="archives" class="pl-xl-2">
9
+
8
10
  {% for post in site.posts %}
9
11
  {% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %}
10
12
  {% capture pre_year %}{{ post.previous.date | date: "%Y" }}{% endcapture %}
@@ -17,9 +19,10 @@ layout: page
17
19
  <li>
18
20
  <div>
19
21
  {% capture this_day %}{{ post.date | date: "%d" }}{% endcapture %}
20
- {% capture this_month %}{{ post.date | date: "%b" }}{% endcapture %}
22
+ {% capture _mth_df %}{{ site.data.locales[lang].date_format.post.archive_month }}{% endcapture %}
23
+ {% capture this_month %}{{ post.date | date: _mth_df }}{% endcapture %}
21
24
  <span class="date day">{{ this_day }}</span>
22
- <span class="date month small text-muted">{{ this_month }}</span>
25
+ <span class="date month small text-muted">{% include no-zero-date.html date_str=this_month %}</span>
23
26
  <a href="{{ post.url | relative_url }}">{{ post.title }}</a>
24
27
  </div>
25
28
  </li>
@@ -3,6 +3,7 @@ layout: page
3
3
  # All the Categories of posts
4
4
  ---
5
5
 
6
+ {% include lang.html %}
6
7
 
7
8
  {% assign HEAD_PREFIX = "h_" %}
8
9
  {% assign LIST_PREFIX = "l_" %}
@@ -33,28 +34,23 @@ layout: page
33
34
 
34
35
  <div class="card categories">
35
36
  <!-- top-category -->
36
- <div class="card-header d-flex justify-content-between hide-border-bottom"
37
- id="{{ HEAD_PREFIX }}{{ group_index }}">
37
+ <div id="{{ HEAD_PREFIX }}{{ group_index }}"
38
+ class="card-header d-flex justify-content-between hide-border-bottom">
38
39
  <span>
39
- {% if sub_categories_size > 0 %}
40
- <i class="far fa-folder-open fa-fw"></i>
41
- {% else %}
42
- <i class="far fa-folder fa-fw"></i>
43
- {% endif %}
44
- <a href="{{ site.baseurl }}/categories/{{ category_name | slugify | url_encode }}/"
45
- class="ml-1 mr-2">
46
- {{ category_name }}
47
- </a>
40
+ <i class="far fa-folder{% if sub_categories_size > 0 %}-open{% endif %} fa-fw"></i>
41
+
42
+ {% capture _category_url %}/categories/{{ category_name | slugify | url_encode }}/{% endcapture %}
43
+ <a href="{{ _category_url | relative_url }}" class="ml-1 mr-2">{{ category_name }}</a>
48
44
 
49
45
  <!-- content count -->
50
46
  {% assign top_posts_size = site.categories[category_name] | size %}
51
47
  <span class="text-muted small font-weight-light">
52
48
  {% if sub_categories_size > 0 %}
53
49
  {{ sub_categories_size }}
54
- {% if sub_categories_size > 1 %}categories{% else %}category{% endif %},
50
+ {{ site.data.locales[lang].categories.category_measure }},
55
51
  {% endif %}
56
52
  {{ top_posts_size }}
57
- post{% if top_posts_size > 1 %}s{% endif %}
53
+ {{ site.data.locales[lang].categories.post_measure }}
58
54
  </span>
59
55
  </span>
60
56
 
@@ -80,11 +76,14 @@ layout: page
80
76
  {% for sub_category in sub_categories %}
81
77
  <li class="list-group-item">
82
78
  <i class="far fa-folder fa-fw"></i>
83
- <a href="{{ site.baseurl }}/categories/{{ sub_category | slugify | url_encode }}/"
84
- class="ml-1 mr-2">{{ sub_category }}</a>
79
+
80
+ {% capture _sub_ctg_url %}/categories/{{ sub_category | slugify | url_encode }}/{% endcapture %}
81
+ <a href="{{ _sub_ctg_url | relative_url }}" class="ml-1 mr-2">{{ sub_category }}</a>
82
+
85
83
  {% assign posts_size = site.categories[sub_category] | size %}
86
- <span class="text-muted small font-weight-light">{{ posts_size }}
87
- post{% if posts_size > 1 %}s{% endif %}
84
+ <span class="text-muted small font-weight-light">
85
+ {{ posts_size }}
86
+ {{ site.data.locales[lang].categories.post_measure }}
88
87
  </span>
89
88
  </li>
90
89
  {% endfor %}
@@ -3,6 +3,8 @@ layout: page
3
3
  # The Category layout
4
4
  ---
5
5
 
6
+ {% include lang.html %}
7
+
6
8
  <div id="page-category">
7
9
  <h1 class="pl-lg-2">
8
10
  <i class="far fa-folder-open fa-fw text-muted"></i>
@@ -11,13 +13,13 @@ layout: page
11
13
  </h1>
12
14
 
13
15
  <ul class="post-content pl-0">
14
- {% assign post_long_df = site.data.date_format.post.long | default: '%b %e, %Y' %}
16
+ {% assign post_df = site.data.locales[lang].date_format.post.long %}
15
17
 
16
18
  {% for post in page.posts %}
17
19
  <li class="d-flex justify-content-between pl-md-3 pr-md-3">
18
20
  <a href="{{ post.url | relative_url }}">{{ post.title }}</a>
19
21
  <span class="dash flex-grow-1"></span>
20
- <span class="text-muted small">{{ post.date | date: post_long_df }}</span>
22
+ <span class="text-muted small">{{ post.date | date: post_df }}</span>
21
23
  </li>
22
24
  {% endfor %}
23
25
  </ul>
@@ -5,13 +5,15 @@ layout: compress
5
5
 
6
6
  <!DOCTYPE html>
7
7
 
8
+ {% include lang.html %}
9
+
8
10
  {% capture prefer_mode %}
9
11
  {% if site.theme_mode %}
10
12
  mode="{{ site.theme_mode }}"
11
13
  {% endif %}
12
14
  {% endcapture %}
13
15
 
14
- <html lang="{{ site.lang | default: "en-US" }}" {{ prefer_mode }}>
16
+ <html lang="{{ site.lang }}" {{ prefer_mode }}>
15
17
 
16
18
  {% include head.html %}
17
19
 
@@ -46,6 +48,8 @@ layout: compress
46
48
 
47
49
  {% include search-loader.html %}
48
50
 
51
+ {% include js-selector.html %}
52
+
49
53
  </body>
50
54
 
51
55
  </html>
data/_layouts/home.html CHANGED
@@ -3,9 +3,11 @@ layout: page
3
3
  # The Home page layout
4
4
  ---
5
5
 
6
+ {% include lang.html %}
7
+
8
+ {% assign pinned = site.posts | where: "pin", "true" %}
9
+ {% assign default = site.posts | where_exp: "item", "item.pin != true" %}
6
10
 
7
- {% assign pinned = site.posts | where_exp: "item", "item.pin == true" %}
8
- {% assign default = site.posts | where_exp: "item", "item.pin != true" %}
9
11
  {% assign posts = "" | split: "" %}
10
12
 
11
13
  <!-- Get pinned posts -->
@@ -39,7 +41,6 @@ layout: page
39
41
  {% endfor %}
40
42
  {% endif %}
41
43
 
42
-
43
44
  <div id="post-list">
44
45
 
45
46
  {% for post in posts %}
@@ -79,7 +80,7 @@ layout: page
79
80
  {% if post.pin %}
80
81
  <div class="pin">
81
82
  <i class="fas fa-thumbtack fa-fw"></i>
82
- <span>{{ site.data.label.pin_prompt | default: 'Pinned' }}</span>
83
+ <span>{{ site.data.locales[lang].post.pin_prompt }}</span>
83
84
  </div>
84
85
  {% endif %}
85
86
 
data/_layouts/page.html CHANGED
@@ -7,7 +7,14 @@ layout: default
7
7
  <div class="col-12 col-lg-11 col-xl-8">
8
8
  <div id="page" class="post pb-5 pl-1 pr-1 pl-sm-2 pr-sm-2 pl-md-4 pr-md-4 mb-md-4">
9
9
  {% if page.dynamic_title %}
10
- <h1 class="dynamic-title">{{ page.title }}</h1>
10
+ <h1 class="dynamic-title">
11
+ {% if page.collection == 'tabs' %}
12
+ {%- capture tab_key -%}{{ page.url | split: '/' }}{%- endcapture -%}
13
+ {{- site.data.locales[lang].tabs[tab_key] | default: page.title -}}
14
+ {% else %}
15
+ {{- page.title -}}
16
+ {% endif %}
17
+ </h1>
11
18
  <div class="post-content">
12
19
  {{ content }}
13
20
  </div>
data/_layouts/post.html CHANGED
@@ -3,6 +3,8 @@ layout: default
3
3
  # The posts' layout
4
4
  ---
5
5
 
6
+ {% include lang.html %}
7
+
6
8
  <div class="row">
7
9
 
8
10
  <div id="post-wrapper" class="col-12 col-lg-11 col-xl-8">
@@ -17,24 +19,28 @@ layout: default
17
19
  <span class="semi-bold">
18
20
  {{ page.author | default: site.social.name }}
19
21
  </span>
20
- {% include timeago.html date=page.date prep="on" tooltip=true %}
22
+ {% capture _preposition %}{{ site.data.locales[lang].post.published }}{% endcapture %}
23
+ {% include timeago.html date=page.date tooltip=true preposition=_preposition %}
21
24
  </div>
22
25
 
23
26
  <div>
24
27
  <!-- lastmod -->
25
28
  {% if page.last_modified_at %}
26
29
  <span>
27
- {% include timeago.html date=page.last_modified_at
28
- class="lastmod" prefix="Updated" tooltip=true %}
30
+ {{ site.data.locales[lang].post.updated }}
31
+ {% include timeago.html date=page.last_modified_at class="lastmod" tooltip=true %}
29
32
  </span>
30
33
  {% endif %}
31
34
 
32
35
  <!-- read time -->
33
- {% include read-time.html content=content %}
36
+ {% include read-time.html content=content prompt=true %}
34
37
 
35
38
  <!-- page views -->
36
39
  {% if site.google_analytics.pv.proxy_endpoint or site.google_analytics.pv.cache_path %}
37
- <span id="pv" class="pageviews"><i class="fas fa-spinner fa-spin fa-fw"></i></span>
40
+ <span id="pv" class="pageviews">
41
+ <i class="fas fa-spinner fa-spin fa-fw"></i>
42
+ </span>
43
+ {{ site.data.locales[lang].post.pageview_measure }}
38
44
  {% endif %}
39
45
 
40
46
  </div>
@@ -44,7 +50,11 @@ layout: default
44
50
  <div class="post-content">
45
51
 
46
52
  {% if page.image.src %}
47
- <img src="{{ page.image.src }}" class="preview-img" alt="{{ page.image.alt | default: "Preview Image" }}">
53
+ <img src="{{ page.image.src }}"
54
+ class="preview-img"
55
+ alt="{{ page.image.alt | default: "Preview Image" }}"
56
+ {% if page.image.width %}width="{{ page.image.width }}"{% endif %}
57
+ {% if page.image.height %}height="{{ page.image.height }}"{% endif %}>
48
58
  {% endif %}
49
59
 
50
60
  {{ content }}
@@ -55,6 +65,7 @@ layout: default
55
65
 
56
66
  <!-- categories -->
57
67
  {% if page.categories.size > 0 %}
68
+
58
69
  <div class="post-meta mb-3">
59
70
  <i class="far fa-folder-open fa-fw mr-1"></i>
60
71
  {% for category in page.categories %}
@@ -79,13 +90,16 @@ layout: default
79
90
 
80
91
  <div class="post-tail-bottom
81
92
  d-flex justify-content-between align-items-center mt-3 pt-5 pb-2">
82
- {% if site.data.rights.license %}
83
93
  <div class="license-wrapper">
84
- This post is licensed under
85
- <a href="{{ site.data.rights.license.link }}">{{ site.data.rights.license.name }}</a>
86
- by the author.
87
- </div>
94
+ {% if site.data.locales[lang].copyright.license.template %}
95
+ {% capture _replacement %}
96
+ <a href="{{ site.data.locales[lang].copyright.license.link }}">
97
+ {{ site.data.locales[lang].copyright.license.name }}
98
+ </a>
99
+ {% endcapture %}
100
+ {{ site.data.locales[lang].copyright.license.template | replace: ':LICENSE_NAME', _replacement }}
88
101
  {% endif %}
102
+ </div>
89
103
 
90
104
  {% include post-sharing.html %}
91
105