jekyll-theme-endless 0.15.2 → 0.15.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.adoc +25 -7
- data/_includes/aside_navigation.html +16 -9
- data/_includes/function_post-in-list-duplicate-tags.html +40 -0
- data/_includes/function_post-in-list-recent.html +21 -0
- data/_includes/function_tag-cloud.html +2 -2
- data/_includes/function_tag-list.html +10 -14
- data/_includes/function_tag.html +24 -0
- data/_layouts/statistics.html +31 -0
- data/lib/jekyll-theme-endless/generate-tagpages.rb +3 -1
- data/lib/jekyll-theme-endless/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3383d69bf49acfb0cd4677219777a55f6a68c2840074276792ed70f89e1700e3
|
4
|
+
data.tar.gz: 90b8d1d5ffa62dd6e33840ca2615abb8f25a7d1d99e040eb574de8193ac2210f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53ab9e6a8b36460d300d51f92cfa9e0f8ae80760282059cac932600fe08122d21d617ba401b57a5f88e5a3c9a3bee25c95a2ae8a4363f77fc3489f93ebf15dce
|
7
|
+
data.tar.gz: e78303fa54384fe39d521a8bb4abb8ef5b23d69b89c78c7fb3a556f5784caedb5ae1bd353a58c9816f48dcf32c6c4075ccb7722695c8a0688856a80d28817a3b
|
data/README.adoc
CHANGED
@@ -477,7 +477,7 @@ Generates a list containing blog posts.
|
|
477
477
|
|
478
478
|
`_includes/function_post-in-list-long.html`::
|
479
479
|
Generates the code to display a single post in the list of blog posts.
|
480
|
-
An entry consists of the title of the blog post
|
480
|
+
An entry consists of the title of the blog post (linked to the article),
|
481
481
|
a summary, the creation date and a list of tags associates with the post.
|
482
482
|
|
483
483
|
|
@@ -489,11 +489,35 @@ If a permalink is configured for the article, this is indicated by an icon.
|
|
489
489
|
|
490
490
|
|
491
491
|
|
492
|
+
`_includes/function_post-in-list-recent.html`::
|
493
|
+
Generates the code to display a single post in the list of recent blog posts.
|
494
|
+
An entry consists only of the title of the blog post (linked to the article).
|
495
|
+
|
496
|
+
|
497
|
+
|
498
|
+
`_includes/function_post-in-list-duplicate-tags.html`::
|
499
|
+
Generates the code to display a single post in the list of blog posts that have duplicate tags.
|
500
|
+
An entry consists of the blog post title (linked to the article) and a list of tags
|
501
|
+
that are mentioned multiple times in the tag list, along with their frequency.
|
502
|
+
|
503
|
+
|
504
|
+
|
492
505
|
`_includes/function_tag-cloud.html`::
|
493
506
|
Generates a tag cloud.
|
494
507
|
|
495
508
|
|
496
509
|
|
510
|
+
`_includes/function_tag-list.html`::
|
511
|
+
Generates a formatted list of tags.
|
512
|
+
This is e.g. used to display the tags of a blog post.
|
513
|
+
|
514
|
+
|
515
|
+
|
516
|
+
`_includes/function_tag.html`::
|
517
|
+
Generates the code for a tag-"pill" in a `<li>`-Element.
|
518
|
+
|
519
|
+
|
520
|
+
|
497
521
|
`_includes/content_footer-powered-by.html`::
|
498
522
|
|
499
523
|
Contains the information at the very bottom right of the footer, where the powered-by details are displayed.
|
@@ -521,12 +545,6 @@ username_linkedin: XXXX
|
|
521
545
|
|
522
546
|
|
523
547
|
|
524
|
-
`_includes/function_tag-list.html`::
|
525
|
-
Generates a formatted list of tags.
|
526
|
-
This is e.g. used to display the tags of a blog post.
|
527
|
-
|
528
|
-
|
529
|
-
|
530
548
|
`_includes/function_show-dates.html`::
|
531
549
|
+
|
532
550
|
--
|
@@ -11,16 +11,23 @@ It typically includes blog navigation, such as 'Recent Articles' or 'Tag Cloud,'
|
|
11
11
|
</p>
|
12
12
|
|
13
13
|
<!-- Recent Posts -->
|
14
|
+
{% comment %}Create an empty array.{% endcomment %}
|
15
|
+
{% assign postlist = "" | split:"" %}
|
16
|
+
|
17
|
+
{% for post in site.posts offset: 0 limit: 5 %}
|
18
|
+
{% comment %}
|
19
|
+
'title' is not escaped, as the value should already be escaped by the AsciiDoc processor.
|
20
|
+
{% endcomment %}
|
21
|
+
{% assign postlist = postlist | push: post %}
|
22
|
+
{% endfor %}
|
23
|
+
|
14
24
|
<h4>Recent Posts:</h4>
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
<li><a href="{{ post.url | relative_url }}">{{ post.title }}</a></li>
|
22
|
-
{% endfor %}
|
23
|
-
</ul>
|
25
|
+
{% include function_list-posts.html
|
26
|
+
postlist=postlist
|
27
|
+
postlist-css-class="post-list-short"
|
28
|
+
postlist-format-function="function_post-in-list-recent.html"
|
29
|
+
%}
|
30
|
+
|
24
31
|
|
25
32
|
<!-- Tag Cloud -->
|
26
33
|
<h4>Tag Cloud:</h4>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
{% comment %}
|
2
|
+
Processes a single post for display in the list of articles with duplicate tags.
|
3
|
+
Expects a post object as a parameter.
|
4
|
+
|
5
|
+
Call via:
|
6
|
+
----
|
7
|
+
<li>
|
8
|
+
{% include function_post-in-list-duplicate-tags.html
|
9
|
+
post=current_post
|
10
|
+
%}
|
11
|
+
</li>
|
12
|
+
----
|
13
|
+
{% endcomment %}
|
14
|
+
|
15
|
+
|
16
|
+
{% assign post = include.post %}
|
17
|
+
<time itemprop="datePublished" datetime="{{ post.date | date: '%Y-%m-%d' }}">
|
18
|
+
{{ post.date | date: '%Y-%m-%d' }}
|
19
|
+
</time>:
|
20
|
+
|
21
|
+
{% comment %}
|
22
|
+
'title' is not escaped, as the value should already be escaped by the AsciiDoc processor.
|
23
|
+
{% endcomment %}
|
24
|
+
<a href="{{ post.url | relative_url }}" itemprop="url">
|
25
|
+
<span itemprop="headline">{{ post.title }}</span>
|
26
|
+
</a>
|
27
|
+
|
28
|
+
{% assign grouped_tags = include.post.tags | group_by_exp: "x", "x" %}
|
29
|
+
<ul class="list-inline">
|
30
|
+
{% for group in grouped_tags %}
|
31
|
+
{% assign tag_count = group.items | size %}
|
32
|
+
{% if tag_count > 1 %}
|
33
|
+
{% assign additional_string = group.items | size | append: '×' %}
|
34
|
+
{% include function_tag.html
|
35
|
+
tag = group.name
|
36
|
+
add = additional_string
|
37
|
+
%}
|
38
|
+
{% endif %}
|
39
|
+
{% endfor %}
|
40
|
+
</ul>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
{% comment %}
|
2
|
+
Processes a single post for display in the list of recent articles.
|
3
|
+
Expects a post object as a parameter.
|
4
|
+
|
5
|
+
Call via:
|
6
|
+
----
|
7
|
+
<li>
|
8
|
+
{% include function_post-in-list-recent.html
|
9
|
+
post=current_post
|
10
|
+
%}
|
11
|
+
</li>
|
12
|
+
----
|
13
|
+
{% endcomment %}
|
14
|
+
|
15
|
+
{% comment %}
|
16
|
+
'title' is not escaped, as the value should already be escaped by the AsciiDoc processor.
|
17
|
+
{% endcomment %}
|
18
|
+
<a href="{{ include.post.url | relative_url }}" itemprop="url">
|
19
|
+
<span itemprop="headline">{{ include.post.title }}</span>
|
20
|
+
</a>
|
21
|
+
|
@@ -34,7 +34,7 @@ Assumption: Non of the tags occurs more than one million times.
|
|
34
34
|
{% assign max = 0 %}
|
35
35
|
|
36
36
|
{% for tag in tags_sorted %}
|
37
|
-
{% assign postsWithThisTag = site.tags[tag] | size %}
|
37
|
+
{% assign postsWithThisTag = site.tags[tag] | uniq | size %}
|
38
38
|
{% if postsWithThisTag > max %}
|
39
39
|
{% assign max = postsWithThisTag %}
|
40
40
|
{% endif %}
|
@@ -63,7 +63,7 @@ Assumption: Non of the tags occurs more than one million times.
|
|
63
63
|
To be on the safe side, create a float (times: 1.0)
|
64
64
|
{% endcomment %}
|
65
65
|
|
66
|
-
{% assign number = site.tags[tag] | size %}
|
66
|
+
{% assign number = site.tags[tag] | uniq | size %}
|
67
67
|
{% comment %}
|
68
68
|
Tags that only occur once, should be displayed smaller than 100% in the tag cloud.
|
69
69
|
{% endcomment %}
|
@@ -1,24 +1,20 @@
|
|
1
1
|
{% comment %}
|
2
|
-
Generates an unsorted list of tags.
|
2
|
+
Generates an unsorted list of unique tags.
|
3
3
|
Requires an array of tags beeing provided via the parameter `tags`.
|
4
4
|
{% endcomment %}
|
5
|
-
{% assign
|
5
|
+
{% assign tags_uniq = include.tags | uniq %}
|
6
|
+
|
7
|
+
{% assign asize = tags_uniq | size %}
|
6
8
|
{% if asize > 0 %}
|
7
9
|
{% comment %}
|
8
|
-
Generate a comma-separated keyword list from
|
10
|
+
Generate a comma-separated keyword list from tags_uniq for the schema.org annotation of the blog post.
|
9
11
|
{% endcomment %}
|
10
|
-
<meta itemprop="keywords" content="{{
|
12
|
+
<meta itemprop="keywords" content="{{ tags_uniq | join: ', ' | escape }}" />
|
11
13
|
<ul class="list-inline">
|
12
|
-
{% for current_tag in
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
Here 'tag' Is NOT escaped, since the plugin generates
|
17
|
-
files for tag-pages with filenames using the unescaped tag.
|
18
|
-
{% endcomment %}
|
19
|
-
{% assign tag_dir = site.tag_dir | default: 'tags' %}
|
20
|
-
href="{{ '/' | append: tag_dir | append: '/' | append: current_tag | relative_url }}"
|
21
|
-
>{{ current_tag | escape }}</a></li>
|
14
|
+
{% for current_tag in tags_uniq %}
|
15
|
+
{% include function_tag.html
|
16
|
+
tag=current_tag
|
17
|
+
%}
|
22
18
|
{% endfor %}
|
23
19
|
</ul>
|
24
20
|
{% endif %}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
{% comment %}
|
2
|
+
Outputs a linked tag as a pill.
|
3
|
+
|
4
|
+
Call via:
|
5
|
+
----
|
6
|
+
<li>
|
7
|
+
{% include function_tag.html
|
8
|
+
tag=current_tag
|
9
|
+
add="7*"
|
10
|
+
%}
|
11
|
+
</li>
|
12
|
+
----
|
13
|
+
{% endcomment %}
|
14
|
+
<li class="list-inline-item mx-0 my-0">{{ include.add }}<a
|
15
|
+
class="badge badge-pill badge-secondary"
|
16
|
+
{% comment %}
|
17
|
+
Here 'tag' Is NOT escaped, since the plugin generates
|
18
|
+
files for tag-pages with filenames using the unescaped tag.
|
19
|
+
{% endcomment %}
|
20
|
+
{% assign tag_dir = site.tag_dir | default: 'tags' %}
|
21
|
+
href="{{ '/' | append: tag_dir | append: '/' | append: include.tag | relative_url }}"
|
22
|
+
>{{ include.tag | escape }}</a>
|
23
|
+
</li>
|
24
|
+
|
data/_layouts/statistics.html
CHANGED
@@ -23,6 +23,20 @@ layout: page
|
|
23
23
|
|
24
24
|
|
25
25
|
|
26
|
+
{% comment %}Create an empty array.{% endcomment %}
|
27
|
+
{% assign posts_with_duplicate_tags = "" | split:"" %}
|
28
|
+
|
29
|
+
{% for post in site.posts %}
|
30
|
+
{% assign n_tags = post.tags | size %}
|
31
|
+
{% assign n_unique_tags = post.tags | uniq | size %}
|
32
|
+
|
33
|
+
{% if n_tags != n_unique_tags %}
|
34
|
+
{% assign posts_with_duplicate_tags = posts_with_duplicate_tags | push: post %}
|
35
|
+
{% endif %}
|
36
|
+
{% endfor %}
|
37
|
+
|
38
|
+
|
39
|
+
|
26
40
|
{% comment %}Create an empty array.{% endcomment %}
|
27
41
|
{% assign tags_without_description = "" | split:"" %}
|
28
42
|
{% assign number_of_tags_with_description = 0 %}
|
@@ -103,6 +117,23 @@ Bei Änderungen auch den entsprechenden Blog-Eintrag vom 28.10.2020 anpassen!
|
|
103
117
|
|
104
118
|
|
105
119
|
|
120
|
+
{% assign number_pwdt = posts_with_duplicate_tags | size %}
|
121
|
+
{% if number_pwdt > 0 %}
|
122
|
+
<h3>Posts with duplicate tags</h3>
|
123
|
+
<p>
|
124
|
+
<em>This can be useful for debugging purpose, since every tag should occur only once in a post.</em>
|
125
|
+
</p>
|
126
|
+
|
127
|
+
{% include function_list-posts.html
|
128
|
+
postlist=posts_with_duplicate_tags
|
129
|
+
postlist-css-class = "post-list-short"
|
130
|
+
postlist-format-function = "function_post-in-list-duplicate-tags.html"
|
131
|
+
%}
|
132
|
+
|
133
|
+
{% endif %}
|
134
|
+
|
135
|
+
|
136
|
+
|
106
137
|
{% assign number_twd = tags_without_description | size %}
|
107
138
|
{% if number_twd > 0 %}
|
108
139
|
<h3>Tags without description</h3>
|
@@ -85,7 +85,9 @@ module Jekyll
|
|
85
85
|
self.data['tag'] = tag
|
86
86
|
|
87
87
|
# Make `site.tags[tag]` available as `page.postlist` in the layout
|
88
|
-
|
88
|
+
# The use of `uniq` ensures that an entry does not appear twice in the list of "posts tagged with this tag"
|
89
|
+
# if a tag has been accidentally entered twice in the tag list of a post.
|
90
|
+
self.data['postlist'] = (site.tags[tag] || []).uniq
|
89
91
|
|
90
92
|
#puts "[DEBUG] Loaded self.data: #{self.data.inspect}"
|
91
93
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-theme-endless
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sven Boekhoff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-11-
|
11
|
+
date: 2024-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll-asciidoc
|
@@ -112,12 +112,15 @@ files:
|
|
112
112
|
- _includes/content_footer-usernames.html
|
113
113
|
- _includes/function_list-pages.html
|
114
114
|
- _includes/function_list-posts.html
|
115
|
+
- _includes/function_post-in-list-duplicate-tags.html
|
115
116
|
- _includes/function_post-in-list-long.html
|
117
|
+
- _includes/function_post-in-list-recent.html
|
116
118
|
- _includes/function_post-in-list-short.html
|
117
119
|
- _includes/function_show-dates.html
|
118
120
|
- _includes/function_show-prev-next-navigation.html
|
119
121
|
- _includes/function_tag-cloud.html
|
120
122
|
- _includes/function_tag-list.html
|
123
|
+
- _includes/function_tag.html
|
121
124
|
- _layouts/default-minimal.html
|
122
125
|
- _layouts/default.html
|
123
126
|
- _layouts/html.html
|