jekyll-theme-endless 0.11.2 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|