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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c44a8b0b77f57bf3ef8c3107d45d5993590b951bafe7123b7a3d43aff1755e0f
4
- data.tar.gz: ec822eb3c232ed9e4bceae9459c9ec6d0dc93c366269bf88ce046a61bc17d49e
3
+ metadata.gz: 560f407df8cb9cda4734f41dad24427aa4c9295c6241b637229eaa0bb49299a3
4
+ data.tar.gz: c94de1e989a5ed86d33326c99e4a5750c78506e811388e8a4c0f28093edba9ed
5
5
  SHA512:
6
- metadata.gz: 2eb544cacc56b869f3d57935b580d824b11116649541ae2c4b508bd30f245a8e4a933719946f8c46fdcde7cc782e61a4fbaa6ab52f59b016202696d41a484e7e
7
- data.tar.gz: 3a4fd8c1fa675898414c9618d0f4f91dded12bde8bb51e91525a96291b34452fe84f09573dc9c216fd29b1341c54661f3e4ad27916e7693797e0644905b5a938
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, sass and/or assets here.
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
- The order of the links can be determined with the help of the page variable `menu_label`
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 `menu_label` will be hidden from the menu.
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 SCCS-code.
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 GitHub at https://gitlab.com/jekyll-theme-endless/jekyll-theme-endless.gitlab.io.
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
- title = "Number of posts with the tag '{{ tagname }}': {{ number }}"
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
+ %}
@@ -1,19 +1,5 @@
1
1
  ---
2
- layout: default
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 %}
@@ -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
+
@@ -13,11 +13,6 @@ div.imageblock {
13
13
  padding: 10px 10px;
14
14
  border-radius: 5px;
15
15
  }
16
- .title {
17
- padding-top: .75rem;
18
- padding-bottom: .75rem;
19
- color: #6c757d;
20
- }
21
16
 
22
17
  }
23
18
 
@@ -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 {
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Text formatting.
3
+ */
4
+ .line-through {
5
+ text-decoration: line-through;
6
+ }
7
+
8
+
9
+ .underline{
10
+ text-decoration: underline;
11
+ }
12
+
data/_sass/adoc.scss CHANGED
@@ -12,3 +12,12 @@ table tr:nth-of-type(even) {
12
12
  background: #f8f8f7;
13
13
  }
14
14
 
15
+ /**
16
+ * Captions of images, tables, code-blocks, ...
17
+ */
18
+ .title {
19
+ padding-top: .75rem;
20
+ padding-bottom: .75rem;
21
+ color: #6c757d;
22
+ }
23
+
@@ -0,0 +1,5 @@
1
+ .task-list-item {
2
+ input.task-list-item-checkbox {
3
+ margin-right: .5em;
4
+ }
5
+ }
@@ -0,0 +1,7 @@
1
+ blockquote {
2
+ text-align: center;
3
+ background-color: #f8f8f8;
4
+ margin: 1em 1.5em;
5
+ font-style: italic;
6
+ color: rgba(0,0,0,.6);
7
+ }
@@ -0,0 +1,17 @@
1
+ table {
2
+
3
+ th, td {
4
+ border: 0 solid #f00;
5
+ border: 0 solid #dedede;
6
+ padding: .5em .625em;
7
+ border-width: 1px;
8
+ }
9
+
10
+ thead,
11
+ tfoot {
12
+ background: #e7e8e7;
13
+ font-weight: bold;
14
+ }
15
+
16
+ }
17
+
data/assets/css/main.scss CHANGED
@@ -14,12 +14,19 @@
14
14
  @import "structure";
15
15
 
16
16
  /*
17
- * import styles for highlighting source code that was annotated using rouge.
17
+ * Import styles for highlighting source code that was annotated using rouge.
18
18
  */
19
19
  @import "rouge-highlight";
20
20
 
21
21
  /*
22
- * import styles for AsciiDoc.
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
- * import SCSS-Code contributed by the user of the theme.
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
 
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module Endless
3
- VERSION = '0.9.0'
3
+ VERSION = '0.10.0'
4
4
  end
5
5
  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.9.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: 2020-12-09 00:00:00.000000000 Z
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.1.2
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/.