jekyll-theme-endless 0.11.2 → 0.12.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.
- checksums.yaml +4 -4
- data/README.adoc +142 -3
- data/_config.yml +4 -3
- data/_data/tag-description.yml +31 -0
- data/_data.yml +14 -6
- data/_includes/aside_info.html +13 -0
- data/_includes/aside_more.html +14 -0
- data/_includes/aside_navigation.html +30 -0
- data/_includes/container_end-of-main.html +14 -0
- data/_includes/container_end-of-page.html +14 -0
- data/_includes/container_end-of-post.html +14 -0
- data/_includes/container_start-of-main.html +14 -0
- data/_includes/container_start-of-page.html +14 -0
- data/_includes/container_start-of-post.html +14 -0
- data/_includes/content_footer-powered-by.html +7 -0
- data/_includes/content_footer-usernames.html +5 -5
- data/_includes/function_list-pages.html +4 -1
- data/_includes/function_post-in-list-short.html +4 -1
- data/_includes/function_show-dates.html +2 -2
- data/_includes/function_show-prev-next-navigation.html +47 -16
- data/_includes/function_tag-cloud.html +34 -4
- data/_includes/function_tag-list.html +11 -3
- data/_layouts/default.html +32 -14
- data/_layouts/html.html +27 -1
- data/_layouts/page-tag-template.html +17 -9
- data/_layouts/page.html +14 -1
- data/_layouts/post.html +31 -11
- data/_layouts/statistics.html +22 -3
- data/_sass/adoc-code.scss +26 -0
- data/_sass/posts.scss +12 -0
- data/_sass/rouge-highlight.scss +3 -1
- data/_sass/structure.scss +40 -2
- data/assets/css/main.scss +1 -0
- data/lib/jekyll-theme-endless/generate-tagpages.rb +7 -1
- data/lib/jekyll-theme-endless/version.rb +1 -1
- metadata +26 -2
@@ -1,13 +1,13 @@
|
|
1
1
|
<div class="text-right">
|
2
2
|
|
3
|
-
<time class="created" datetime="{{ include.created | date_to_xmlschema }}">
|
3
|
+
<time class="created" datetime="{{ include.created | date_to_xmlschema }}" itemprop="datePublished">
|
4
4
|
<span class="sr-only sr-only-focusable">created:</span>
|
5
5
|
<strong title="date of creation">{{ include.created | date: "%b %-d, %Y" }}</strong>
|
6
6
|
</time>
|
7
7
|
|
8
8
|
{% if include.edited != "" and include.edited %}
|
9
9
|
/
|
10
|
-
<time class="edited" datetime="{{ include.edited | date_to_xmlschema }}">
|
10
|
+
<time class="edited" datetime="{{ include.edited | date_to_xmlschema }}" itemprop="dateModified">
|
11
11
|
<span class="sr-only sr-only-focusable">edited:</span>
|
12
12
|
<strong title="date of last edit">{{ include.edited | date: "%b %-d, %Y" }}</strong>
|
13
13
|
</time>
|
@@ -1,19 +1,50 @@
|
|
1
|
-
<div class="row
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
1
|
+
<div class="row">
|
2
|
+
|
3
|
+
<div class="col text-left">
|
4
|
+
{% if page.next %}
|
5
|
+
<div class="btn-group" role="group">
|
6
|
+
<!-- Arrow Button (always visible) -->
|
7
|
+
<a href="{{ page.next.url | relative_url }}" class="btn btn-secondary">
|
8
|
+
<i class="fa fa-arrow-left"></i>
|
9
|
+
</a>
|
10
|
+
|
11
|
+
<!-- Text Button -->
|
12
|
+
<a href="{{ page.next.url | relative_url }}" class="btn btn-light border-secondary text-left">
|
13
|
+
<!-- Short text on small screens -->
|
14
|
+
<span class="d-inline d-md-none">Newer Posts</span>
|
15
|
+
<!-- Full title on larger screens -->
|
16
|
+
{% comment %}
|
17
|
+
'title' is not escaped, as the value should already be escaped by AsciiDoc through asciidocify.
|
18
|
+
{% endcomment %}
|
19
|
+
<span class="d-none d-md-inline">{{ page.next.title }}</span>
|
20
|
+
</a>
|
21
|
+
</div>
|
22
|
+
{% endif %}
|
23
|
+
</div>
|
24
|
+
|
25
|
+
|
26
|
+
|
10
27
|
<div class="col text-right">
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
<
|
15
|
-
|
16
|
-
|
17
|
-
|
28
|
+
{% if page.previous %}
|
29
|
+
<div class="btn-group" role="group">
|
30
|
+
<!-- Text Button -->
|
31
|
+
<a href="{{ page.previous.url | relative_url }}" class="btn btn-light border-secondary text-right">
|
32
|
+
<!-- Short text on small screens -->
|
33
|
+
<span class="d-inline d-md-none">Older Posts</span>
|
34
|
+
<!-- Full title on larger screens -->
|
35
|
+
{% comment %}
|
36
|
+
'title' is not escaped, as the value should already be escaped by AsciiDoc through asciidocify.
|
37
|
+
{% endcomment %}
|
38
|
+
<span class="d-none d-md-inline">{{ page.previous.title }}</span>
|
39
|
+
</a>
|
40
|
+
|
41
|
+
<!-- Arrow Button (always visible) -->
|
42
|
+
<a href="{{ page.previous.url | relative_url }}" class="btn btn-secondary">
|
43
|
+
<i class="fa fa-arrow-right"></i>
|
44
|
+
</a>
|
45
|
+
</div>
|
46
|
+
{% endif %}
|
47
|
+
</div>
|
48
|
+
|
18
49
|
</div>
|
19
50
|
|
@@ -76,17 +76,47 @@ Assumption: Non of the tags occurs more than one million times.
|
|
76
76
|
{% assign tagname = tag %}
|
77
77
|
|
78
78
|
<a
|
79
|
-
|
79
|
+
{% comment %}
|
80
|
+
Here 'tag' Is NOT escaped, since the plugin generates
|
81
|
+
files for tag-pages using filenames with the unescaped tag.
|
82
|
+
{% endcomment %}
|
83
|
+
{% assign tag_dir = site.tag_dir | default: 'tags' %}
|
84
|
+
href="{{ '/' | append: tag_dir | append: '/' | append: tag | relative_url }}"
|
80
85
|
style = "font-size: {{ percent }}%"
|
81
86
|
|
82
87
|
{% if site.data.tag-description[tag].short %}
|
83
|
-
|
88
|
+
{% if site.tag_show_description_in_tagcloud %}
|
89
|
+
{% comment %}
|
90
|
+
'tagname' is escaped, assuming it does not contain special characters
|
91
|
+
that were already escaped by AsciiDocify, or, if special characters are present,
|
92
|
+
the tags were set unescaped through the Jekyll front matter.
|
93
|
+
'tag-description' is escaped, since it is set in a data-file.
|
94
|
+
{% endcomment %}
|
95
|
+
title = "{{ site.data.tag-description[tag].short | escape }} Number of posts with the tag '{{ tagname | escape }}': {{ number }}"
|
96
|
+
{% else %}
|
97
|
+
{% comment %}
|
98
|
+
'tagname' is escaped, assuming it does not contain special characters
|
99
|
+
that were already escaped by AsciiDocify, or, if special characters are present,
|
100
|
+
the tags were set unescaped through the Jekyll front matter.
|
101
|
+
{% endcomment %}
|
102
|
+
title = "Number of posts with the tag '{{ tagname | escape }}': {{ number }}"
|
103
|
+
{% endif %}
|
84
104
|
{% else %}
|
85
105
|
class = "no-tag-description"
|
86
|
-
|
106
|
+
{% comment %}
|
107
|
+
'tagname' is escaped, assuming it does not contain special characters
|
108
|
+
that were already escaped by AsciiDocify, or, if special characters are present,
|
109
|
+
the tags were set unescaped through the Jekyll front matter.
|
110
|
+
{% endcomment %}
|
111
|
+
title = "Number of posts with the tag '{{ tagname | escape }}': {{ number }}"
|
87
112
|
{% endif %}
|
88
113
|
|
89
|
-
|
114
|
+
{% comment %}
|
115
|
+
'tagname' is escaped, assuming it does not contain special characters
|
116
|
+
that were already escaped by AsciiDocify, or, if special characters are present,
|
117
|
+
the tags were set unescaped through the Jekyll front matter.
|
118
|
+
{% endcomment %}
|
119
|
+
>{{ tagname |escape }}</a>
|
90
120
|
</li>
|
91
121
|
|
92
122
|
{% endfor %}
|
@@ -4,12 +4,20 @@ Requires an array of tags beeing provided via the parameter `tags`.
|
|
4
4
|
{% endcomment %}
|
5
5
|
{% assign asize = include.tags | size %}
|
6
6
|
{% if asize > 0 %}
|
7
|
+
{% comment %}
|
8
|
+
Generate a comma-separated keyword list from page.tags for the schema.org annotation of the blog post.
|
9
|
+
{% endcomment %}
|
10
|
+
<meta itemprop="keywords" content="{{ page.tags | join: ', ' | escape }}" />
|
7
11
|
<ul class="list-inline">
|
8
12
|
{% for current_tag in include.tags %}
|
9
|
-
<li class="list-inline-item"><a
|
13
|
+
<li class="list-inline-item mx-0 my-0"><a
|
10
14
|
class="badge badge-pill badge-secondary"
|
11
|
-
|
12
|
-
|
15
|
+
{% comment %}
|
16
|
+
Here 'tag' Is NOT escaped, since the plugin generates
|
17
|
+
files for tag-pages with filenames using the unescaped tag.
|
18
|
+
{% endcomment %}
|
19
|
+
href="{{ '/' | append: site.tag_dir | default: 'tags' | append: '/' | append: current_tag | relative_url }}"
|
20
|
+
>{{ current_tag | escape }}</a></li>
|
13
21
|
{% endfor %}
|
14
22
|
</ul>
|
15
23
|
{% endif %}
|
data/_layouts/default.html
CHANGED
@@ -33,14 +33,20 @@ layout: html
|
|
33
33
|
|
34
34
|
<!-- Page title -->
|
35
35
|
{% if site.title or site.subtitle %}
|
36
|
-
<div class="jumbotron
|
36
|
+
<div class="jumbotron bg-light py-4">
|
37
37
|
<div class="container">
|
38
38
|
|
39
39
|
{% if site.title %}
|
40
|
+
{% comment %}
|
41
|
+
'site.title' is intentionally not escaped to allow formatting with HTML.
|
42
|
+
{% endcomment %}
|
40
43
|
<div class="h1">{{ site.title }}</div>
|
41
44
|
{% endif %}
|
42
45
|
|
43
46
|
{% if site.subtitle %}
|
47
|
+
{% comment %}
|
48
|
+
'site.subtitle' is intentionally not escaped to allow formatting with HTML.
|
49
|
+
{% endcomment %}
|
44
50
|
<div class="h2">{{ site.subtitle }}</div>
|
45
51
|
{% endif %}
|
46
52
|
|
@@ -50,6 +56,13 @@ layout: html
|
|
50
56
|
|
51
57
|
|
52
58
|
|
59
|
+
<!-- Add specific content above the content secion. -->
|
60
|
+
<div class="container">
|
61
|
+
{% include container_start-of-main.html %}
|
62
|
+
</div>
|
63
|
+
|
64
|
+
|
65
|
+
|
53
66
|
<!-- Page content -->
|
54
67
|
<main class="container pt-4" style="flex-grow: 1;" aria-label="Content">
|
55
68
|
|
@@ -60,13 +73,9 @@ layout: html
|
|
60
73
|
</div>
|
61
74
|
|
62
75
|
<div class="col-lg-4 pb-5">
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
<!-- Tag-cloud -->
|
67
|
-
{% include function_tag-cloud.html %}
|
68
|
-
|
69
|
-
</aside>
|
76
|
+
{% include aside_navigation.html %}
|
77
|
+
{% include aside_info.html %}
|
78
|
+
{% include aside_more.html %}
|
70
79
|
</div>
|
71
80
|
|
72
81
|
</div>
|
@@ -75,8 +84,15 @@ layout: html
|
|
75
84
|
|
76
85
|
|
77
86
|
|
87
|
+
<!-- Add specific content below the content secion. -->
|
88
|
+
<div class="container">
|
89
|
+
{% include container_end-of-main.html %}
|
90
|
+
</div>
|
91
|
+
|
92
|
+
|
93
|
+
|
78
94
|
<!-- Footer -->
|
79
|
-
<footer class="footer
|
95
|
+
<footer class="footer bg-light">
|
80
96
|
<div class="container">
|
81
97
|
|
82
98
|
<div class="row">
|
@@ -84,14 +100,16 @@ layout: html
|
|
84
100
|
<div class="col-lg-3 col-md-4 text-left py-3">
|
85
101
|
<address>
|
86
102
|
<div class="h4">Contact me:</div>
|
103
|
+
|
87
104
|
{% include content_footer-usernames.html %}
|
105
|
+
|
88
106
|
</address>
|
89
107
|
</div>
|
90
108
|
|
91
109
|
<div class="col-lg-6 col-md-5 text-left py-3">
|
92
110
|
{% if site.disclaimer %}
|
93
111
|
<h4>Disclaimer:</h4>
|
94
|
-
|
112
|
+
{{ site.disclaimer | escape }}
|
95
113
|
{% endif %}
|
96
114
|
</div>
|
97
115
|
|
@@ -99,12 +117,12 @@ layout: html
|
|
99
117
|
<h4>Note:</h4>
|
100
118
|
{% if site.copydate and site.author %}
|
101
119
|
<p>
|
102
|
-
© {{ site.copydate }} by <em>{{ site.author }}</em>
|
120
|
+
© {{ site.copydate | escape }} by <em>{{ site.author | escape }}</em>
|
103
121
|
</p>
|
104
122
|
{% endif %}
|
105
|
-
|
106
|
-
|
107
|
-
|
123
|
+
|
124
|
+
{% include content_footer-powered-by.html %}
|
125
|
+
|
108
126
|
</div>
|
109
127
|
|
110
128
|
</div>
|
data/_layouts/html.html
CHANGED
@@ -7,25 +7,51 @@
|
|
7
7
|
<head>
|
8
8
|
<meta charset="utf-8">
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
10
|
+
|
11
|
+
{% if page.summary and page.summary != '' %}
|
12
|
+
<meta name="description" content="{{ page.summary | strip_html | normalize_whitespace | truncate: 160 }}">
|
13
|
+
{% endif %}
|
14
|
+
{% if site.author %}
|
15
|
+
<meta name="author" content="{{ site.author | escape_once }}">
|
16
|
+
{% endif %}
|
17
|
+
{% if page.tags %}
|
18
|
+
<meta name="keywords" lang="en" content="{{ page.tags | join: ', ' | escape }}">
|
19
|
+
{% endif %}
|
20
|
+
|
10
21
|
<title>
|
22
|
+
{% comment %}
|
23
|
+
'title' is not escaped, as the value should already be escaped by AsciiDoc through asciidocify.
|
24
|
+
HTML commands are removed because they have no effect in the title and
|
25
|
+
would otherwise be displayed as the commands themselves.
|
26
|
+
{% endcomment %}
|
11
27
|
{{ page.title | default: page.menu_label | strip_html }}
|
12
28
|
</title>
|
13
29
|
|
30
|
+
{% if site.use-cdn == true or site.use-cdn == nil %}
|
31
|
+
<!-- Load from CDN -->
|
14
32
|
<!-- Font-awesome CSS: https://www.bootstrapcdn.com/fontawesome/ -->
|
15
33
|
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
|
16
34
|
<!-- Bootstrap CSS -->
|
17
35
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha256-93wNFzm2GO3EoByj9rKZCwGjAJAwr0nujPaOgwUt8ZQ=" crossorigin="anonymous">
|
36
|
+
{% else %}
|
37
|
+
<!-- Load local versions -->
|
38
|
+
{% endif %}
|
18
39
|
|
19
40
|
<!-- Theme CSS -->
|
20
|
-
<link rel="stylesheet" href="/assets/css/main.css">
|
41
|
+
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
|
21
42
|
|
22
43
|
</head>
|
23
44
|
<body>
|
24
45
|
|
25
46
|
{{ content }}
|
26
47
|
|
48
|
+
{% if site.use-cdn == true or site.use-cdn == nil %}
|
49
|
+
<!-- Load from CDN -->
|
27
50
|
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
|
28
51
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js" integrity="sha256-jXCJJT3KKcnNjZ3rfsabCj1EX4j2omR4xxm+H5CtywE=" crossorigin="anonymous"></script>
|
52
|
+
{% else %}
|
53
|
+
<!-- Load local versions -->
|
54
|
+
{% endif %}
|
29
55
|
|
30
56
|
{% include container_end-of-document.html %}
|
31
57
|
|
@@ -1,23 +1,31 @@
|
|
1
1
|
---
|
2
|
-
layout:
|
2
|
+
layout: page
|
3
3
|
menu_position: -10
|
4
4
|
---
|
5
5
|
{% comment %}
|
6
6
|
page.tag and page.title are set by the plugin `generate-taglist`.
|
7
7
|
{% endcomment %}
|
8
|
-
{% if page.title %}
|
9
|
-
<h1>{{ page.title }}</h1>
|
10
|
-
{% endif %}
|
11
8
|
|
12
9
|
{% if site.data.tag-description[page.tag].short %}
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
10
|
+
<p>
|
11
|
+
{% comment %}
|
12
|
+
'tag' is escaped, assuming it does not contain special characters
|
13
|
+
that were already escaped by AsciiDocify, or, if special characters are present,
|
14
|
+
the tags were set unescaped through the Jekyll front matter.
|
15
|
+
'tag-description' is escaped, since it is set in a data-file.
|
16
|
+
{% endcomment %}
|
17
|
+
In this blog, the tag <dfn>{{ page.tag | escape }}</dfn> is used with the meaning
|
18
|
+
"<em>{{ site.data.tag-description[page.tag].short | escape }}</em>".
|
19
|
+
</p>
|
17
20
|
{% endif %}
|
18
21
|
|
19
22
|
<p>
|
20
|
-
|
23
|
+
{% comment %}
|
24
|
+
'tag' is escaped, assuming it does not contain special characters
|
25
|
+
that were already escaped by AsciiDocify, or, if special characters are present,
|
26
|
+
the tags were set unescaped through the Jekyll front matter.
|
27
|
+
{% endcomment %}
|
28
|
+
Number of posts tagged with "<em>{{ page.tag | escape }}</em>": <strong>{{ site.tags[ page.tag ] | size }}</strong>
|
21
29
|
</p>
|
22
30
|
|
23
31
|
{% assign tag_posts = site.tags[page.tag] %}
|
data/_layouts/page.html
CHANGED
@@ -1,12 +1,25 @@
|
|
1
1
|
---
|
2
2
|
layout: default
|
3
3
|
---
|
4
|
+
<section>
|
5
|
+
|
4
6
|
{% comment %}
|
5
7
|
In Markdown pages, page.title is not filled.
|
6
8
|
Either set `title` in the frontmater, or use a `# Heading` on the page.
|
7
9
|
{% endcomment %}
|
8
10
|
{% if page.title %}
|
9
|
-
|
11
|
+
{% comment %}
|
12
|
+
'title' is not escaped, as the value should already be escaped by AsciiDoc through asciidocify.
|
13
|
+
{% endcomment %}
|
14
|
+
<h1>{{ page.title }}</h1>
|
10
15
|
{% endif %}
|
11
16
|
|
17
|
+
<!-- Add specific content at the start of each page. -->
|
18
|
+
{% include container_start-of-page.html %}
|
19
|
+
|
12
20
|
{{ content }}
|
21
|
+
|
22
|
+
<!-- Add specific content at the end of each page. -->
|
23
|
+
{% include container_end-of-page.html %}
|
24
|
+
|
25
|
+
</section>
|
data/_layouts/post.html
CHANGED
@@ -1,24 +1,36 @@
|
|
1
1
|
---
|
2
2
|
layout: default
|
3
3
|
---
|
4
|
-
<article>
|
4
|
+
<article itemscope itemtype="http://schema.org/BlogPosting">
|
5
5
|
<header>
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
<div class="post-navigation-top">
|
8
|
+
{% comment %}Show link to previous/next post.{% endcomment %}
|
9
|
+
{% include function_show-prev-next-navigation.html %}
|
10
|
+
</div>
|
9
11
|
|
10
|
-
{% comment %}
|
12
|
+
{% comment %}
|
13
|
+
Assign the edited date with fallback logic.
|
14
|
+
"page.lastedit" was the value used between version 0.4.0 und 0.12.0.
|
15
|
+
{% endcomment %}
|
16
|
+
{% assign edited_date = page.last_modified_at | default: page.lastedit | default: "" %}
|
17
|
+
{% comment %}
|
18
|
+
Show dates of the post.
|
19
|
+
{% endcomment %}
|
11
20
|
{% include function_show-dates.html
|
12
21
|
created = page.date
|
13
|
-
edited =
|
22
|
+
edited = edited_date
|
14
23
|
%}
|
15
24
|
|
16
25
|
{% comment %}
|
17
|
-
|
18
|
-
|
26
|
+
In Markdown posts, page.title defaults to parts of the filename.
|
27
|
+
Thus, do not use `# Heading` in Blog posts, otherwise two H1-heading will appear.
|
19
28
|
{% endcomment %}
|
20
29
|
{% if page.title %}
|
21
|
-
|
30
|
+
{% comment %}
|
31
|
+
'title' is not escaped, as the value should already be escaped by AsciiDoc through asciidocify.
|
32
|
+
{% endcomment %}
|
33
|
+
<h1 itemprop="headline">{{ page.title }}</h1>
|
22
34
|
{% endif %}
|
23
35
|
|
24
36
|
{% comment %}Show tags of the post.{% endcomment %}
|
@@ -28,12 +40,20 @@ layout: default
|
|
28
40
|
|
29
41
|
</header>
|
30
42
|
|
31
|
-
|
43
|
+
<!-- Add specific content at the start of each post. -->
|
44
|
+
{% include container_start-of-post.html %}
|
45
|
+
|
46
|
+
<div class="post-content" itemprop="articleBody">
|
32
47
|
{{ content }}
|
33
48
|
</div>
|
34
49
|
|
35
|
-
|
36
|
-
|
50
|
+
<div class="post-navigation-bottom">
|
51
|
+
{% comment %}Show link to previous/next post.{% endcomment %}
|
52
|
+
{% include function_show-prev-next-navigation.html %}
|
53
|
+
</div>
|
54
|
+
|
55
|
+
<!-- Add specific content at the end of each post. -->
|
56
|
+
{% include container_end-of-post.html %}
|
37
57
|
|
38
58
|
</article>
|
39
59
|
|
data/_layouts/statistics.html
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
---
|
2
|
-
layout:
|
2
|
+
layout: page
|
3
3
|
---
|
4
|
-
<h1>{{ page.title }}</h1>
|
5
4
|
|
6
5
|
{{ content }}
|
7
6
|
|
@@ -42,7 +41,26 @@ layout: default
|
|
42
41
|
{% endfor %}
|
43
42
|
|
44
43
|
|
45
|
-
|
44
|
+
|
45
|
+
<h3>Versions</h3>
|
46
|
+
<ul>
|
47
|
+
<li>Built with <a href ="https://jekyllrb.com">Jekyll</a> {{ jekyll.version }}.</li>
|
48
|
+
{% comment %}
|
49
|
+
|
50
|
+
https://jekyllrb.com/docs/variables/#theme-variables
|
51
|
+
|
52
|
+
<li>Theme version: {{ theme.version }}</li>
|
53
|
+
|
54
|
+
theme.version does not seem to be available
|
55
|
+
|
56
|
+
<li>Theme version: {{ theme.version | inspect }}</li>
|
57
|
+
|
58
|
+
{% endcomment %}
|
59
|
+
</ul>
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
<h3>Content statistics</h3>
|
46
64
|
|
47
65
|
{% comment %}
|
48
66
|
Bei Änderungen auch den entsprechenden Blog-Eintrag vom 28.10.2020 anpassen!
|
@@ -81,6 +99,7 @@ Bei Änderungen auch den entsprechenden Blog-Eintrag vom 28.10.2020 anpassen!
|
|
81
99
|
{% endif %}
|
82
100
|
|
83
101
|
|
102
|
+
|
84
103
|
{% assign number_twd = tags_without_description | size %}
|
85
104
|
{% if number_twd > 0 %}
|
86
105
|
<h3>Tags without description</h3>
|
data/_sass/adoc-code.scss
CHANGED
@@ -25,4 +25,30 @@
|
|
25
25
|
display: none;
|
26
26
|
}
|
27
27
|
|
28
|
+
/*
|
29
|
+
* Ensure that code annotation symbols are not selected along with the code.
|
30
|
+
*/
|
31
|
+
i.conum, i.conum + b {
|
32
|
+
user-select: none;
|
33
|
+
}
|
34
|
+
|
35
|
+
i.conum + b {
|
36
|
+
display: none; // Hides the <b> element
|
37
|
+
}
|
38
|
+
|
39
|
+
i.conum::after {
|
40
|
+
content: attr(data-value); // Displays the value of data-value in the <i> element
|
41
|
+
font-weight: bold; // Optional: for bold styling if desired
|
42
|
+
|
43
|
+
display: inline-block; // Enables circular styling
|
44
|
+
background-color: #f0f0f0; // Light gray background
|
45
|
+
border: 1px solid #555; // Thin dark gray border
|
46
|
+
border-radius: 50%; // Rounds the element into a circle
|
47
|
+
padding: 2px 6px; // Adjusts spacing for a circular shape
|
48
|
+
text-align: center; // Centers the text in the circle
|
49
|
+
line-height: 1; // Ensures the character is vertically centered
|
50
|
+
margin: 0 .5em;
|
51
|
+
}
|
52
|
+
|
53
|
+
|
28
54
|
|
data/_sass/posts.scss
CHANGED
@@ -14,3 +14,15 @@ time {
|
|
14
14
|
}
|
15
15
|
}
|
16
16
|
}
|
17
|
+
|
18
|
+
div.post-navigation-top {
|
19
|
+
border-bottom: 3px dotted #dee2e6;
|
20
|
+
padding-bottom: 1em;
|
21
|
+
margin-bottom: 1em;
|
22
|
+
}
|
23
|
+
|
24
|
+
div.post-navigation-bottom {
|
25
|
+
border-top: 3px dotted #dee2e6;
|
26
|
+
padding-top: 1em;
|
27
|
+
margin-top: 5em;
|
28
|
+
}
|
data/_sass/rouge-highlight.scss
CHANGED
@@ -6,8 +6,10 @@
|
|
6
6
|
@at-root pre#{&} {
|
7
7
|
-moz-tab-size: 2;
|
8
8
|
tab-size: 2;
|
9
|
-
background-color:
|
9
|
+
background-color: white;
|
10
10
|
padding: .5em 1em;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-radius: 4px;
|
11
13
|
}
|
12
14
|
.hll { background-color: #ffffcc }
|
13
15
|
.c { color: #080; font-style: italic } /* Comment */
|
data/_sass/structure.scss
CHANGED
@@ -1,8 +1,46 @@
|
|
1
1
|
/*
|
2
2
|
* Styles of structuring elements.
|
3
3
|
*/
|
4
|
-
|
5
|
-
|
4
|
+
article, section {
|
5
|
+
h2, h3 {
|
6
|
+
padding-top: 1.5em;
|
7
|
+
}
|
6
8
|
}
|
7
9
|
|
10
|
+
/*
|
11
|
+
* Main elements (boxes for content):
|
12
|
+
* * <section> for pages
|
13
|
+
* * <article> for posts
|
14
|
+
* * <aside> for blog navigation
|
15
|
+
*/
|
16
|
+
aside, article, section {
|
17
|
+
color: #111;
|
18
|
+
padding: 1.3em;
|
19
|
+
margin-bottom: 3em;
|
20
|
+
border-radius: 10px;
|
21
|
+
|
22
|
+
background-color: #f8f9fa;
|
23
|
+
border: 1px solid #dee2e6;
|
24
|
+
box-shadow: 5px 5px 2px #6b6b6b82;
|
25
|
+
|
26
|
+
h3 {
|
27
|
+
margin-top: 0;
|
28
|
+
}
|
29
|
+
h4 {
|
30
|
+
margin-top: 1.5em;
|
31
|
+
margin-bottom: 0.25em;
|
32
|
+
~ ul {
|
33
|
+
padding-left: 1.5em;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
|
39
|
+
footer {
|
40
|
+
border-top: 4px solid #dee2e6;
|
41
|
+
padding: .5em 0 2em 0;
|
42
|
+
}
|
43
|
+
div.jumbotron {
|
44
|
+
border-bottom: 4px solid #dee2e6;
|
45
|
+
}
|
8
46
|
|
data/assets/css/main.scss
CHANGED
@@ -24,6 +24,9 @@
|
|
24
24
|
# See also: https://jekyllrb.com/docs/plugins/
|
25
25
|
# See also: https://jekyllrb.com/docs/plugins/generators/
|
26
26
|
|
27
|
+
# Required to escape strings
|
28
|
+
require 'cgi'
|
29
|
+
|
27
30
|
module Jekyll
|
28
31
|
|
29
32
|
module Endless
|
@@ -69,12 +72,15 @@ module Jekyll
|
|
69
72
|
@name = 'index.html'
|
70
73
|
|
71
74
|
self.process(@name)
|
75
|
+
#puts "[DEBUG] Generating file in folder: #{dir}"
|
72
76
|
self.read_yaml(File.join(base, '_layouts'), 'page-tag.html')
|
73
77
|
|
74
78
|
# The prefix for the generated title is set via `tag_title_prefix` in `_config.yml` and defaults to `Tag: `
|
75
79
|
tag_title_prefix = site.config['tag_title_prefix'] || 'Tag: '
|
76
80
|
# Generates the title for the tag page and makes it available in the layout file as `page.title`
|
77
|
-
|
81
|
+
# Since AsciiDoc escapes the title, the plugin must also escape the content of the title (otherwise the tag would be unescaped).
|
82
|
+
self.data['title'] = CGI.escapeHTML("#{tag_title_prefix}#{tag}")
|
83
|
+
#puts "[DEBUG] Generating title for tag page: #{self.data['title']}"
|
78
84
|
# Makes `page.tag` available in the layout file
|
79
85
|
self.data['tag'] = tag
|
80
86
|
|