jekyll-theme-endless 0.9.0 → 0.10.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 +99 -5
- data/_data/tag-description.yml +78 -0
- data/_data.yml +48 -0
- data/_includes/function_tag-cloud.html +9 -1
- data/_layouts/page-tag-template.html +26 -0
- data/_layouts/page-tag.html +1 -15
- data/_layouts/statistics.html +95 -0
- data/_sass/adoc-admonition.scss +2 -0
- data/_sass/adoc-code.scss +28 -0
- data/_sass/adoc-images.scss +0 -5
- data/_sass/adoc-tables.scss +24 -0
- data/_sass/adoc-text.scss +12 -0
- data/_sass/adoc.scss +9 -0
- data/_sass/md-lists.scss +5 -0
- data/_sass/md-quote.scss +7 -0
- data/_sass/md-tables.scss +17 -0
- data/assets/css/main.scss +20 -4
- data/lib/jekyll-theme-endless/generate-tagpages.rb +8 -0
- data/lib/jekyll-theme-endless/version.rb +1 -1
- metadata +12 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 560f407df8cb9cda4734f41dad24427aa4c9295c6241b637229eaa0bb49299a3
|
4
|
+
data.tar.gz: c94de1e989a5ed86d33326c99e4a5750c78506e811388e8a4c0f28093edba9ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19d4d7273e2ad8b200eb6d51be9a657b547f343252d356a07b88c055648b8c97a73817f1626da258f11b0079779a3fcdeb534a5dae2e9fa88dc8aa58eccb9890
|
7
|
+
data.tar.gz: 2381c57fe3468e3ba59145d7d5526639f9bac9c232cb60842c19a5ae651020b7f4ac2efab17c225257af3b4040c5f6ac36b91c1ec7e897d3b07e23fc74496a76
|
data/README.adoc
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
`jekyll-theme-endless` is a theme for the static site generator https://jekyllrb.com/[Jekyll].
|
8
8
|
The theme is ready to be used with posts written in https://asciidoctor.org/[AsciiDoc] using the
|
9
9
|
https://github.com/asciidoctor/jekyll-asciidoc[Jekyll AsciiDoc plugin].
|
10
|
+
Moreover, it is shipped with a plugin that generates a *tag cloud*.
|
10
11
|
The syntax of source code is highlighted using https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers[Rouge].
|
11
12
|
|
12
13
|
The repository of this Jekyll theme is located at:
|
@@ -73,7 +74,21 @@ If you want to use Markdown AND have HTML-commands in the title, simply escape t
|
|
73
74
|
|
74
75
|
== Usage
|
75
76
|
|
76
|
-
Here I describe available layouts, includes,
|
77
|
+
Here I describe available layouts, includes, SASS- and other assets.
|
78
|
+
|
79
|
+
To copy all the files of the theme into a folder,
|
80
|
+
you can use the following command (in the root directory of your Jekyll project):
|
81
|
+
|
82
|
+
[source,bash]
|
83
|
+
----
|
84
|
+
cp -r $(bundle show jekyll-theme-endless)/ .
|
85
|
+
----
|
86
|
+
|
87
|
+
This will copy the theme-folder containing all its files into the current directory.
|
88
|
+
From there, you can selectively move files to your project and modify them as needed.
|
89
|
+
Your (modified) copy will afterwards overwrite the contents provided by the theme.
|
90
|
+
|
91
|
+
|
77
92
|
|
78
93
|
=== Layouts
|
79
94
|
|
@@ -167,14 +182,29 @@ Layout of page-content with a list of blog posts at the end.
|
|
167
182
|
Layout of pages containing a list of those posts being tagged with a given tag.
|
168
183
|
This file is required by the `generate-tagpages`-plugin.
|
169
184
|
|
185
|
+
[IMPORTANT]
|
186
|
+
====
|
170
187
|
It seems that plugins cannot read the files provided by themes.
|
171
188
|
Thus, the file has to be created in the `_layouts` folder in every Jekyll project.
|
189
|
+
|
190
|
+
For simplicity, I have designed a basic layout in the file `page-tag-template.html` that you can include.
|
191
|
+
Alternatively, you can copy the content of `page-tag-template.html` into your `page-tags.html`.
|
192
|
+
|
172
193
|
The content can be for example the following:
|
173
194
|
|
174
195
|
[source, liquid]
|
175
196
|
----
|
176
197
|
include::_layouts/page-tag.html[]
|
177
198
|
----
|
199
|
+
====
|
200
|
+
--
|
201
|
+
|
202
|
+
|
203
|
+
`_layouts/page-tag-template.html`::
|
204
|
+
+
|
205
|
+
--
|
206
|
+
Simple page that allows you to define the content of the tag pages.
|
207
|
+
This file is a template layout that can be included in `page-tag.html`.
|
178
208
|
--
|
179
209
|
|
180
210
|
|
@@ -214,6 +244,16 @@ Content
|
|
214
244
|
|
215
245
|
|
216
246
|
|
247
|
+
`_layouts/statistics.html`::
|
248
|
+
+
|
249
|
+
--
|
250
|
+
Simple page that displays statistics about the blog (such as the number of posts, number of tags, etc.),
|
251
|
+
as well as potential issues (e.g., "posts without a tag").
|
252
|
+
I typically use this page as a layout for my "about" page.
|
253
|
+
--
|
254
|
+
|
255
|
+
|
256
|
+
|
217
257
|
=== Includes
|
218
258
|
|
219
259
|
`_includes/container_end-of-document.html`::
|
@@ -233,10 +273,11 @@ The text of the link is the title of the page.
|
|
233
273
|
If the text should be different from the page-title, set the page variable `menu_label`.
|
234
274
|
In AsciiDoc files this could be e.g.: `:page-menu_label: 'AnotherText'`.
|
235
275
|
|
236
|
-
|
276
|
+
By default, the links in the menu are ordered alphabetically.
|
277
|
+
The order of the links can be explicitly determined using the page variable `menu_position`
|
237
278
|
(in AsciiDoc e.g. `:page-menu_position: 100`; in frontmatter e.g. `menu_position: 50`).
|
238
279
|
Pages with higher numbers appear on the left side of the menu.
|
239
|
-
Pages with a negative value for `
|
280
|
+
Pages with a negative value for `menu_position` will be hidden from the menu.
|
240
281
|
This can be useful for your 404 page, which should be generated by Jekyll, but not visible in the menu.
|
241
282
|
--
|
242
283
|
|
@@ -324,9 +365,62 @@ tag_title_prefix: "Posts tagged with: "
|
|
324
365
|
|
325
366
|
=== Styles
|
326
367
|
|
327
|
-
In order to contribute SCSS-code, simply add a file `_sass/user.scss`, containing your
|
368
|
+
In order to contribute SCSS-code, simply add a file `_sass/user.scss`, containing your SCSS-code.
|
328
369
|
This file is included by `assets/css/main.scss`.
|
329
370
|
|
371
|
+
Since version 0.10.0, you can also add stylesheets dynamically to `assets/css/main.scss`
|
372
|
+
using the site-variable `additional-stylesheets` in `_config.yml`.
|
373
|
+
Example
|
374
|
+
|
375
|
+
[source, yml]
|
376
|
+
----
|
377
|
+
# You can dynamically add import statements to assets/css/main.css
|
378
|
+
# Just add the path (relative to the folder `_sass`) to this array
|
379
|
+
# CAUTION: omit the ending ".scss"
|
380
|
+
additional-stylesheets:
|
381
|
+
- "../theme-specific/debug"
|
382
|
+
----
|
383
|
+
|
384
|
+
|
385
|
+
=== Data-files
|
386
|
+
|
387
|
+
`_data/tag-description.yml`::
|
388
|
+
+
|
389
|
+
--
|
390
|
+
You have the option to store descriptions for your tags in a YAML file.
|
391
|
+
This is useful to ensure that everyone has the same understanding of each tag.
|
392
|
+
In the current theme, the descriptions are used in two places:
|
393
|
+
|
394
|
+
* On the tag page, below the page header
|
395
|
+
* As the title of each tag in the tag cloud
|
396
|
+
|
397
|
+
The format of the YAML file is:
|
398
|
+
|
399
|
+
[source, yml]
|
400
|
+
----
|
401
|
+
Tag:
|
402
|
+
short: "Short description for the tag 'Tag'."
|
403
|
+
AsciiDoc:
|
404
|
+
short: "A lightweight but feature-rich markup language used for writing documentation in plain text."
|
405
|
+
Bootstrap:
|
406
|
+
short: "A popular front-end framework for building responsive, mobile-first websites using CSS and JavaScript components."
|
407
|
+
CSS:
|
408
|
+
short: "Cascading Style Sheets, a language used for describing the presentation of a web page, including layout, colors, and fonts."
|
409
|
+
----
|
410
|
+
|
411
|
+
CAUTION: Be aware that the tags are case-sensitive!
|
412
|
+
|
413
|
+
To check if you haven't created a description for a tag, you can simply create a style
|
414
|
+
for the class `no-tag-description` in the `_sass/user.scss` file.
|
415
|
+
I use, for example:
|
416
|
+
|
417
|
+
[source, css]
|
418
|
+
----
|
419
|
+
.no-tag-description {
|
420
|
+
background-color: lightcoral;
|
421
|
+
}
|
422
|
+
----
|
423
|
+
--
|
330
424
|
|
331
425
|
|
332
426
|
== Settings
|
@@ -344,7 +438,7 @@ The default is `en`.
|
|
344
438
|
|
345
439
|
== Contributing
|
346
440
|
|
347
|
-
Bug reports and pull requests are welcome on
|
441
|
+
Bug reports and pull requests are welcome on GitLab at https://gitlab.com/jekyll-theme-endless/jekyll-theme-endless.gitlab.io.
|
348
442
|
This project is intended to be a safe, welcoming space for collaboration,
|
349
443
|
and contributors are expected to adhere to the http://contributor-covenant.org[Contributor Covenant] code of conduct.
|
350
444
|
|
@@ -0,0 +1,78 @@
|
|
1
|
+
statistics:
|
2
|
+
short: "Data or numerical insights gathered from various sources, often used to analyze performance, user behavior, or other measurable factors."
|
3
|
+
bugfixes:
|
4
|
+
short: "Software updates or patches that resolve identified errors or malfunctions, ensuring the application runs as expected."
|
5
|
+
quotes:
|
6
|
+
short: "Text or speech cited from a source, typically used to reference someone's exact words or to highlight a point. Specifically refers to the styling and formatting of quotes in this context."
|
7
|
+
tables:
|
8
|
+
short: "A structured format for organizing data into rows and columns, making it easy to present and interpret information in a grid layout."
|
9
|
+
layout:
|
10
|
+
short: "The structured design and positioning of elements on a webpage or document, such as text and images, to enhance user experience. In Jekyll, layout files are stored in the '_layouts/' directory."
|
11
|
+
CDN:
|
12
|
+
short: "A Content Delivery Network (CDN) is a system of distributed servers that deliver web content to users based on their geographic location, improving load times and performance."
|
13
|
+
jsdelivr:
|
14
|
+
short: "A free, fast, and open-source CDN that hosts JavaScript libraries, CSS files, and other web assets, helping to deliver them efficiently to users."
|
15
|
+
i18n:
|
16
|
+
short: "Short for 'internationalization', i18n refers to the process of designing software to be adaptable to different languages and regions without requiring engineering changes."
|
17
|
+
updates:
|
18
|
+
short: "Changes or improvements applied to software or content, typically to fix bugs, add new features, or enhance security."
|
19
|
+
logging:
|
20
|
+
short: "The practice of recording system events, errors, or user activities, often used for tracking and troubleshooting."
|
21
|
+
debugging:
|
22
|
+
short: "The process of finding and resolving bugs or defects in software to ensure it behaves as expected."
|
23
|
+
Gemfile:
|
24
|
+
short: "A file used in Ruby projects to list the dependencies (gems) required by the project and to manage their installation."
|
25
|
+
_data:
|
26
|
+
short: "A directory in Jekyll where structured data (e.g., YAML, JSON, or CSV files) is stored, which can be accessed and used across the site."
|
27
|
+
|
28
|
+
_config.yml:
|
29
|
+
short: "A configuration file used in Jekyll to customize settings for your site."
|
30
|
+
admonition:
|
31
|
+
short: "A formatted block in documentation that draws attention to important notes or warnings."
|
32
|
+
AsciiDoc:
|
33
|
+
short: "A lightweight but feature-rich markup language used for writing documentation in plain text."
|
34
|
+
Bootstrap:
|
35
|
+
short: "A popular front-end framework for building responsive, mobile-first websites using CSS and JavaScript components."
|
36
|
+
CSS:
|
37
|
+
short: "Cascading Style Sheets, a language used for describing the presentation of a web page, including layout, colors, and fonts."
|
38
|
+
documentation:
|
39
|
+
short: "Written text or resources that explain how a piece of software or technology works."
|
40
|
+
EditorConfig:
|
41
|
+
short: "A file format and collection of text editor plugins for maintaining consistent coding styles across different editors."
|
42
|
+
example:
|
43
|
+
short: "A sample or instance used to demonstrate how something works or can be done."
|
44
|
+
features:
|
45
|
+
short: "A set of distinctive attributes or capabilities that a software or product offers."
|
46
|
+
Font Awesome:
|
47
|
+
short: "A font and icon toolkit used to include scalable vector icons and social logos on websites."
|
48
|
+
footer:
|
49
|
+
short: "The section at the bottom of a webpage or document, usually containing copyright information, links, or branding."
|
50
|
+
function:
|
51
|
+
short: "A block of code designed to perform a specific task and which can be reused in a program."
|
52
|
+
gemspec:
|
53
|
+
short: "A specification file that defines the details of a Ruby gem, including its dependencies and metadata."
|
54
|
+
highlighting:
|
55
|
+
short: "A feature used to apply color to syntax in code examples, making it easier to read and understand."
|
56
|
+
images:
|
57
|
+
short: "Visual elements used in websites or documents, including photos, illustrations, and graphics."
|
58
|
+
lists:
|
59
|
+
short: "A collection of items organized in a sequence, either ordered or unordered."
|
60
|
+
Markdown:
|
61
|
+
short: "A lightweight markup language for formatting text, used widely for creating simple, readable documentation."
|
62
|
+
menu:
|
63
|
+
short: "A navigation element in a webpage that allows users to move between different sections or pages."
|
64
|
+
posts:
|
65
|
+
short: "Multiple blog entries or articles displayed on a site, typically listed in reverse chronological order."
|
66
|
+
Rouge:
|
67
|
+
short: "A syntax highlighter used in Jekyll and other systems to colorize code snippets in various programming languages."
|
68
|
+
SCSS:
|
69
|
+
short: "A preprocessor language that extends CSS with features like variables, nested rules, and functions."
|
70
|
+
styling:
|
71
|
+
short: "The process of applying styles to a webpage or document, often through CSS, to enhance its appearance."
|
72
|
+
table:
|
73
|
+
short: "A structured arrangement of data in rows and columns, often used for displaying information in a grid format."
|
74
|
+
tag-cloud:
|
75
|
+
short: "A visual representation of the tags used in a blog, with more frequently used tags appearing larger."
|
76
|
+
tags:
|
77
|
+
short: "Keywords or labels that categorize and describe blog posts or content to make them easier to find."
|
78
|
+
|
data/_data.yml
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
# Theme specific settings
|
2
|
+
# Language. Is overriden by value of page.lang.
|
3
|
+
lang: en
|
4
|
+
# Brand is not escaped in the layout.
|
5
|
+
# Thus, HTML-commands can be used.
|
6
|
+
brand: '"<i>endless</i>"-Theme'
|
7
|
+
|
8
|
+
# Title and subtile of the page
|
9
|
+
title: jekyll-theme-endless
|
10
|
+
subtitle: A Jekyll theme ready for AsciiDoc
|
11
|
+
|
12
|
+
author: Sven Boekhoff
|
13
|
+
copydate: 2020-2024
|
14
|
+
disclaimer: >- # this means to ignore newlines until the next entry
|
15
|
+
I'm creating this Jekyll theme because I want to use it myself.
|
16
|
+
Therefore, many things (e.g. the support of AsciiDoc) are based on personal requirements.
|
17
|
+
You are welcome to use the theme (at your own risk) and contribute to the development.
|
18
|
+
|
19
|
+
# eMail address
|
20
|
+
email: your-email@example.com
|
21
|
+
# Username on https://gitlab.com/
|
22
|
+
username_gitlab: XXXX
|
23
|
+
# Username on https://github.com/
|
24
|
+
username_github: XXXX
|
25
|
+
# Username on https://www.xing.com/
|
26
|
+
username_xing: XXXX
|
27
|
+
# Username on https://linkedin.com/
|
28
|
+
username_linkedin: XXXX
|
29
|
+
|
30
|
+
# Settings for tag cloud:
|
31
|
+
# The name of the directory in which the files for each tag are created
|
32
|
+
# default: `tags`
|
33
|
+
tag_dir: posts-for-tag
|
34
|
+
# Prefix to be used for the title of the tag-page
|
35
|
+
# default: `Tag: `
|
36
|
+
tag_title_prefix: "Posts tagged with: "
|
37
|
+
|
38
|
+
# Change the plugins directory from `_plugins` to `./lib` to enable the plugins to be used in the theme.
|
39
|
+
# Storing plugins the folder `lib` seems to be a good practice.
|
40
|
+
plugins_dir:
|
41
|
+
- ./lib
|
42
|
+
|
43
|
+
# You can dynamically add import statements to assets/css/main.css
|
44
|
+
# Just add the path (relative to the folder `_sass`) to this array
|
45
|
+
# CAUTION: omit the ending ".scss"
|
46
|
+
additional-stylesheets:
|
47
|
+
- "../theme-specific/debug"
|
48
|
+
|
@@ -78,8 +78,16 @@ Assumption: Non of the tags occurs more than one million times.
|
|
78
78
|
<a
|
79
79
|
href = "/{{ site.tag_dir | default: 'tags' }}/{{ tag }}"
|
80
80
|
style = "font-size: {{ percent }}%"
|
81
|
-
|
81
|
+
|
82
|
+
{% if site.data.tag-description[tag].short %}
|
83
|
+
title = "{{ site.data.tag-description[tag].short }} Number of posts with the tag '{{ tagname }}': {{ number }}"
|
84
|
+
{% else %}
|
85
|
+
class = "no-tag-description"
|
86
|
+
title = "Number of posts with the tag '{{ tagname }}': {{ number }}"
|
87
|
+
{% endif %}
|
88
|
+
|
82
89
|
>{{ tagname }}</a>
|
83
90
|
</li>
|
91
|
+
|
84
92
|
{% endfor %}
|
85
93
|
</ul>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
menu_position: -10
|
4
|
+
---
|
5
|
+
{% comment %}
|
6
|
+
page.tag and page.title are set by the plugin `generate-taglist`.
|
7
|
+
{% endcomment %}
|
8
|
+
{% if page.title %}
|
9
|
+
<h1>{{ page.title }}</h1>
|
10
|
+
{% endif %}
|
11
|
+
|
12
|
+
{% if site.data.tag-description[page.tag].short %}
|
13
|
+
<p>
|
14
|
+
In this blog, the tag <dfn>{{page.tag}}</dfn> is used with the meaning
|
15
|
+
"<em>{{ site.data.tag-description[page.tag].short }}</em>".
|
16
|
+
</p>
|
17
|
+
{% endif %}
|
18
|
+
|
19
|
+
<p>
|
20
|
+
Number of posts tagged with "<em>{{ page.tag }}</em>": <strong>{{ site.tags[ page.tag ] | size }}</strong>
|
21
|
+
</p>
|
22
|
+
|
23
|
+
{% assign tag_posts = site.tags[page.tag] %}
|
24
|
+
{% include function_list-posts.html
|
25
|
+
postlist=tag_posts
|
26
|
+
%}
|
data/_layouts/page-tag.html
CHANGED
@@ -1,19 +1,5 @@
|
|
1
1
|
---
|
2
|
-
layout:
|
2
|
+
layout: page-tag-template
|
3
3
|
menu_position: -10
|
4
4
|
---
|
5
|
-
{% comment %}
|
6
|
-
page.tag and page.title are set by the plugin `generate-taglist`.
|
7
|
-
{% endcomment %}
|
8
|
-
{% if page.title %}
|
9
|
-
<h1>{{ page.title }}</h1>
|
10
|
-
{% endif %}
|
11
5
|
|
12
|
-
<p>
|
13
|
-
Number of posts tagged with "<em>{{ page.tag }}</em>": <strong>{{ site.tags[ page.tag ] | size }}</strong>
|
14
|
-
</p>
|
15
|
-
|
16
|
-
{% assign tag_posts = site.tags[page.tag] %}
|
17
|
-
{% include function_list-posts.html
|
18
|
-
postlist=tag_posts
|
19
|
-
%}
|
@@ -0,0 +1,95 @@
|
|
1
|
+
---
|
2
|
+
layout: default
|
3
|
+
---
|
4
|
+
<h1>{{ page.title }}</h1>
|
5
|
+
|
6
|
+
{{ content }}
|
7
|
+
|
8
|
+
<h2>Blog statistics</h2>
|
9
|
+
|
10
|
+
{% comment %}Create an empty array.{% endcomment %}
|
11
|
+
{% assign posts_without_tags = "" | split:"" %}
|
12
|
+
|
13
|
+
{% for post in site.posts %}
|
14
|
+
{% assign number_of_tags = post.tags | size %}
|
15
|
+
|
16
|
+
{% if number_of_tags > 0 %}
|
17
|
+
{% assign posts_with_tags = posts_with_tags | plus: 1 %}
|
18
|
+
{% assign number_of_tags_total = number_of_tags_total | plus: number_of_tags %}
|
19
|
+
{% else %}
|
20
|
+
{% assign posts_without_tags = posts_without_tags | push: post %}
|
21
|
+
{% endif %}
|
22
|
+
|
23
|
+
{% endfor %}
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
{% comment %}Create an empty array.{% endcomment %}
|
28
|
+
{% assign tags_without_description = "" | split:"" %}
|
29
|
+
{% assign number_of_tags_with_description = 0 %}
|
30
|
+
{% assign number_of_tags_without_description = 0 %}
|
31
|
+
|
32
|
+
{% assign tags = "" | split:"" %}
|
33
|
+
{% for tag in site.tags %}
|
34
|
+
|
35
|
+
{% if site.data.tag-description[tag.first].short %}
|
36
|
+
{% assign number_of_tags_with_description = number_of_tags_with_description | plus: 1 %}
|
37
|
+
{% else %}
|
38
|
+
{% assign number_of_tags_without_description = number_of_tags_without_description | plus: 1 %}
|
39
|
+
{% assign tags_without_description = tags_without_description | push: tag.first %}
|
40
|
+
{% endif %}
|
41
|
+
|
42
|
+
{% endfor %}
|
43
|
+
|
44
|
+
|
45
|
+
<h3>Overview</h3>
|
46
|
+
|
47
|
+
{% comment %}
|
48
|
+
Bei Änderungen auch den entsprechenden Blog-Eintrag vom 28.10.2020 anpassen!
|
49
|
+
{% endcomment %}
|
50
|
+
<ul>
|
51
|
+
<li><strong>Time created</strong>: {{ site.time }}</li>
|
52
|
+
|
53
|
+
<li><strong># pages</strong>: {{ site.pages | size }}</li>
|
54
|
+
<li><strong># HTML-pages</strong>: {{ site.html_pages | size }}</li>
|
55
|
+
|
56
|
+
<li><strong># posts</strong>: {{ site.posts | size }}</li>
|
57
|
+
<li><strong># posts_with_tags</strong>: {{ posts_with_tags }}</li>
|
58
|
+
<li><strong># posts_without_tags</strong>: {{ posts_without_tags | size }}</li>
|
59
|
+
|
60
|
+
<li><strong># number_of_tags_total</strong>: {{ number_of_tags_total }}</li>
|
61
|
+
<li><strong># different tags</strong>: {{ site.tags | size }}</li>
|
62
|
+
<li><strong># Tags with description</strong>: {{ number_of_tags_with_description }}</li>
|
63
|
+
<li><strong># Tags without description</strong>: {{ number_of_tags_without_description }}</li>
|
64
|
+
|
65
|
+
<li><strong># categories</strong>: {{ site.categories | size }}</li>
|
66
|
+
</ul>
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
{% assign number_pwt = posts_without_tags | size %}
|
71
|
+
{% if number_pwt > 0 %}
|
72
|
+
<h3>Posts without tags</h3>
|
73
|
+
<p>
|
74
|
+
<em>This can be useful for debugging purpose, since every post should have at least one tag.</em>
|
75
|
+
</p>
|
76
|
+
|
77
|
+
{% include function_list-posts.html
|
78
|
+
postlist=posts_without_tags
|
79
|
+
%}
|
80
|
+
|
81
|
+
{% endif %}
|
82
|
+
|
83
|
+
|
84
|
+
{% assign number_twd = tags_without_description | size %}
|
85
|
+
{% if number_twd > 0 %}
|
86
|
+
<h3>Tags without description</h3>
|
87
|
+
<p>
|
88
|
+
<em>This can be useful for debugging purposes, as every tag used should have a description from the <code>tag-description.yml</code> data file.</em>
|
89
|
+
</p>
|
90
|
+
|
91
|
+
{% include function_tag-list.html
|
92
|
+
tags=tags_without_description
|
93
|
+
%}
|
94
|
+
|
95
|
+
{% endif %}
|
data/_sass/adoc-admonition.scss
CHANGED
@@ -9,6 +9,7 @@ div.admonitionblock {
|
|
9
9
|
width: 100%;
|
10
10
|
td {
|
11
11
|
padding: .75em .25em;
|
12
|
+
border-width: 0;
|
12
13
|
}
|
13
14
|
}
|
14
15
|
/* See:
|
@@ -19,6 +20,7 @@ span.icon>.fa {
|
|
19
20
|
}
|
20
21
|
.admonitionblock td.icon {
|
21
22
|
text-align: center;
|
23
|
+
vertical-align: top;
|
22
24
|
width: 66px;
|
23
25
|
|
24
26
|
[class^="fa icon-"] {
|
@@ -0,0 +1,28 @@
|
|
1
|
+
/**
|
2
|
+
* Show name of the language highlighted in a code block in the upper right corner.
|
3
|
+
*/
|
4
|
+
.listingblock .content code {
|
5
|
+
position: relative;
|
6
|
+
display: block;
|
7
|
+
}
|
8
|
+
|
9
|
+
.listingblock .content code::before {
|
10
|
+
content: attr(data-lang);
|
11
|
+
position: absolute;
|
12
|
+
top: 0;
|
13
|
+
right: 0;
|
14
|
+
background-color: #f0f0f0;
|
15
|
+
padding: 2px 5px;
|
16
|
+
font-size: 12px;
|
17
|
+
color: #333;
|
18
|
+
border-radius: 3px;
|
19
|
+
border: 1px solid #ccc;
|
20
|
+
}
|
21
|
+
|
22
|
+
/* If data-lang is empty or not set, ::before will be hidden. */
|
23
|
+
.listingblock .content code[data-lang=""]::before,
|
24
|
+
.listingblock .content code:not([data-lang])::before {
|
25
|
+
display: none;
|
26
|
+
}
|
27
|
+
|
28
|
+
|
data/_sass/adoc-images.scss
CHANGED
data/_sass/adoc-tables.scss
CHANGED
@@ -20,6 +20,30 @@ table.tableblock {
|
|
20
20
|
caption-side: top;
|
21
21
|
}
|
22
22
|
|
23
|
+
|
24
|
+
.halign-left {
|
25
|
+
text-align: left;
|
26
|
+
}
|
27
|
+
.halign-center {
|
28
|
+
text-align: center;
|
29
|
+
}
|
30
|
+
.halign-right {
|
31
|
+
text-align: right;
|
32
|
+
}
|
33
|
+
.valign-top {
|
34
|
+
vertical-align: top;
|
35
|
+
}
|
36
|
+
.valign-middle {
|
37
|
+
vertical-align: middle;
|
38
|
+
}
|
39
|
+
.valign-bottom {
|
40
|
+
vertical-align: bottom;
|
41
|
+
}
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
|
23
47
|
}
|
24
48
|
|
25
49
|
p.tableblock {
|
data/_sass/adoc.scss
CHANGED
data/_sass/md-lists.scss
ADDED
data/_sass/md-quote.scss
ADDED
data/assets/css/main.scss
CHANGED
@@ -14,12 +14,19 @@
|
|
14
14
|
@import "structure";
|
15
15
|
|
16
16
|
/*
|
17
|
-
*
|
17
|
+
* Import styles for highlighting source code that was annotated using rouge.
|
18
18
|
*/
|
19
19
|
@import "rouge-highlight";
|
20
20
|
|
21
21
|
/*
|
22
|
-
*
|
22
|
+
* Import styles for Markdown.
|
23
|
+
*/
|
24
|
+
@import "md-quote";
|
25
|
+
@import "md-lists";
|
26
|
+
@import "md-tables";
|
27
|
+
|
28
|
+
/*
|
29
|
+
* Import styles for AsciiDoc.
|
23
30
|
*/
|
24
31
|
@import "adoc";
|
25
32
|
@import "adoc-admonition";
|
@@ -27,11 +34,20 @@
|
|
27
34
|
@import "adoc-lists";
|
28
35
|
@import "adoc-quote";
|
29
36
|
@import "adoc-images";
|
37
|
+
@import "adoc-code";
|
38
|
+
@import "adoc-text";
|
39
|
+
|
40
|
+
/*
|
41
|
+
* Dynamically add stylesheets as configured by the user in `_config.yml`
|
42
|
+
*/
|
43
|
+
{% for stylesheet in site.additional-stylesheets %}
|
44
|
+
@import "{{ stylesheet }}";
|
45
|
+
{% endfor %}
|
30
46
|
|
31
47
|
/*
|
32
|
-
*
|
48
|
+
* Import SCSS-Code contributed by the user of the theme.
|
33
49
|
* imports from _scss/background.scss
|
34
50
|
*/
|
35
|
-
@import "user";
|
51
|
+
@import "user";
|
36
52
|
|
37
53
|
|
@@ -33,19 +33,27 @@ module Jekyll
|
|
33
33
|
safe true
|
34
34
|
# A Generator needs to implement the generate method
|
35
35
|
def generate(site)
|
36
|
+
puts "[INFO] Starting TagPage generation"
|
36
37
|
# If a layout with the name `page-tag` exists
|
37
38
|
if site.layouts.key? 'page-tag'
|
39
|
+
puts "[INFO] 'page-tag' layout found"
|
38
40
|
# The directory in which the files are to be created is configured in `site.tag_dir`.
|
39
41
|
# If not, the directory `tags/` is used.
|
40
42
|
dir = site.config['tag_dir'] || 'tags'
|
43
|
+
puts "[INFO] Using tag directory: #{dir}"
|
41
44
|
|
42
45
|
# For each tag in the tag-list:
|
43
46
|
site.tags.each_key do |tag|
|
44
47
|
# Create a page-object using TagPage and add it to the `site.pages` array
|
45
48
|
site.pages << TagPage.new(site, site.source, File.join(dir, tag), tag)
|
49
|
+
puts "[INFO] TagPage created for tag: #{tag}"
|
46
50
|
end
|
47
51
|
|
52
|
+
puts "[INFO] All tags processed successfully"
|
53
|
+
else
|
54
|
+
puts "[ERROR] Could not find the layout 'page-tag'. Create a file '_layouts/page-tag.html' to fix this error. Skipping TagPage generation for now."
|
48
55
|
end
|
56
|
+
puts "[INFO] TagPage generation finished"
|
49
57
|
end
|
50
58
|
end
|
51
59
|
|
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.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sven Boekhoff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-10-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -34,6 +34,8 @@ files:
|
|
34
34
|
- LICENSE.txt
|
35
35
|
- README.adoc
|
36
36
|
- _config.yml
|
37
|
+
- _data.yml
|
38
|
+
- _data/tag-description.yml
|
37
39
|
- _includes/container_end-of-document.html
|
38
40
|
- _includes/content_footer-usernames.html
|
39
41
|
- _includes/function_list-pages.html
|
@@ -46,17 +48,24 @@ files:
|
|
46
48
|
- _layouts/default.html
|
47
49
|
- _layouts/html.html
|
48
50
|
- _layouts/page-postlist.html
|
51
|
+
- _layouts/page-tag-template.html
|
49
52
|
- _layouts/page-tag.html
|
50
53
|
- _layouts/page.html
|
51
54
|
- _layouts/post.html
|
55
|
+
- _layouts/statistics.html
|
52
56
|
- _sass/address.scss
|
53
57
|
- _sass/adoc-admonition.scss
|
58
|
+
- _sass/adoc-code.scss
|
54
59
|
- _sass/adoc-images.scss
|
55
60
|
- _sass/adoc-lists.scss
|
56
61
|
- _sass/adoc-quote.scss
|
57
62
|
- _sass/adoc-tables.scss
|
63
|
+
- _sass/adoc-text.scss
|
58
64
|
- _sass/adoc.scss
|
59
65
|
- _sass/background.scss
|
66
|
+
- _sass/md-lists.scss
|
67
|
+
- _sass/md-quote.scss
|
68
|
+
- _sass/md-tables.scss
|
60
69
|
- _sass/posts.scss
|
61
70
|
- _sass/rouge-highlight.scss
|
62
71
|
- _sass/structure.scss
|
@@ -86,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
86
95
|
- !ruby/object:Gem::Version
|
87
96
|
version: '0'
|
88
97
|
requirements: []
|
89
|
-
rubygems_version: 3.
|
98
|
+
rubygems_version: 3.5.16
|
90
99
|
signing_key:
|
91
100
|
specification_version: 4
|
92
101
|
summary: A Jekyll theme that was started from scratch. View it on https://jekyll-theme-endless.gitlab.io/.
|