jekyll-theme-endless 0.21.1 → 0.22.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c1c7a839fe610b31bb919935df249af3e751d9156df0ff9f1a30da1cd4d0a15
4
- data.tar.gz: 1f46a59790e4a4dede8c24de6cc71c473b9bf401afc73f9009625e4374900c16
3
+ metadata.gz: 9750ed9f60becdda6ce0bd03dc188976b12b42a6b78ae796624a9f28ea2392c5
4
+ data.tar.gz: 22dca4d273ef0c8f13022b67ef0c4c4903a7ae45bdce70e4088cae6b3d66640a
5
5
  SHA512:
6
- metadata.gz: d239cb6327f68f9c3c069bbd272c1b61ed9b7a5afca9b3f8d3e89cecb7d45fc70ead4c4a3467f9d00d1ea12597e4788a27ad51336a30eee4ba8de453593a5669
7
- data.tar.gz: f3bf8b99218570321c9da9bbc6f4c90b87b61034f9610c5786233378f437f1712118602c881d207ab322a3b13ab0a8ff03ced4859038a7267696a75465a1cb87
6
+ metadata.gz: a9297aeb85d719f9207ccc6358ab415f965e21e7295f0e29667bd476730afbb93456cc8e98e4e2c349d9d9a5d3e47f7ecc380a4fbe3faf3d3444b8d1c02be104
7
+ data.tar.gz: e2d30bc5a9f1fe829801f3e8aacaa3fbb5a3de0ddef098caabc60b0da010da1cc7208bc61cff442ccd0ee74cc2118b80da1e83418668b816e6004760c5af34fb
data/README.adoc CHANGED
@@ -99,6 +99,135 @@ The reason is, that Jekyll-AsciiDoc (in contrast to Markdown) escapes HTML by de
99
99
  Thus, using (unescaped) HTML-commands e.g. in titles of Markdown posts/pages might break the layout.
100
100
  If you want to use Markdown AND have HTML-commands in the title, simply escape them (e.g. use `\&lt;` instead of `<`).
101
101
 
102
+ This repository consists out of 4 different kinds of files producing 3 different artifacts:
103
+
104
+ 1. A *Ruby gem* (the Jekyll theme, you can use in your Jekyll project; besides the (1) layout files, it also includes the (2) plugin for the tag cloud, and the (3) filter for regex-matching in Liquid)
105
+ 2. A *Docker image* (that contains all tools needed to build a Jekyll site using this theme)
106
+ 3. The *website* you are currently viewing (https://jekyll-theme-endless.gitlab.io/)
107
+
108
+ The website, the Docker image, and the content of the Ruby gem could all be split into different repositories - and even the the filter, the plugin and the theme files could be in separate repositories. However, I decided to keep everything in one repository to make it easier to manage and develop footnote:[Nevertheless, this has the disadvantage that with every commit, both the website and a new Docker image are rebuilt. I might adjust the setup in the future to improve this.]. This might be a bit confusing at first, but I hope the following deployment diagram helps to understand the structure of this repository and how the different files are related to each other and to the different artifacts.
109
+
110
+ [[deploymentdiagram]]
111
+ .https://plantuml.com/deployment-diagram[Deployment Diagram] of this repository. The files in this repository are grouped into four categories: (*1*) files that contribute to the Ruby gem artifact, (*2*) files that contribute to the Docker image artifact, (*3*) files that contribute to the website for this theme, and (*4*) helper and configuration files (supporting development, dependency management, deployment, etc.). Files marked in *Green* should be included in your project as dependencies. Files marked in *Blue* are specific to your website (i.e., your blog content). The https://quickstart-blog.gitlab.io/[Quickstart Blog] is an example of these blue files, which you can fork to https://quickstart-blog.gitlab.io/create-jekyll-blog-in-5-minutes/[start your own blog easily]. (*++*++*) The file `_data/tag-description.yml` is not included in the gem package. (*++**++*) The `README` file and the `pages_examples` folder are both packaged in the Ruby gem and used as website content. (*++***++*) You typically want to override default values from the theme's `_config.yml`. (*++****++*) The gem is deployed manually, while the Docker image and GitLab Pages are deployed automatically during each CI pipeline run.
112
+ [plantuml, format="svg"]
113
+ ....
114
+ @startuml
115
+ title Deployment diagram of this repository
116
+ top to bottom direction
117
+
118
+ 'package "Repository" {
119
+
120
+ ' Objects: files
121
+ ' ##########################################################
122
+ frame "Files and folders of the repository" {
123
+ ' It appears that the file cards need to be added in reverse order
124
+ ' compared to how they should later appear in the diagram.
125
+ card helper_files #PowderBlue [
126
+ <b>(4) helper/config-files:</b>
127
+ ----
128
+ ' Files supporting the development
129
+ * .editorconfig
130
+ * .gitignore
131
+ ....
132
+ ' Files supporting the deployment
133
+ * .gitlab-ci.yml
134
+ * getversion.sh
135
+ * deploy.sh
136
+ ....
137
+ ' Files used for configuration and dependecy-management
138
+ * Gemfile
139
+ * Gemfile.lock
140
+ * (package.json)
141
+ ....
142
+ ' Screenshot for theme documentation
143
+ ' https://jekyllrb.com/docs/themes/#adding-a-screenshot
144
+ * screenshot.png
145
+ * screenshot2.png
146
+ ]
147
+ card content_files #PowderBlue [
148
+ <b>(3) content-files:</b>
149
+ ----
150
+ * index.adoc
151
+ * README.adoc (**)
152
+ ....
153
+ * _posts
154
+ * content
155
+ * pages
156
+ * pages_examples (**)
157
+ * theme-specific
158
+ ....
159
+ * _config.yml (***)
160
+ * _configData.yml
161
+ * _configDocker.yml
162
+ * _data/tag-description.yml
163
+ ]
164
+ card docker_files #palegreen [
165
+ <b>(2) Docker image:</b>
166
+ ----
167
+ * Dockerfile
168
+ ]
169
+ card theme_files #palegreen [
170
+ <b>(1) theme-files:</b>
171
+ ----
172
+ * _config.yml
173
+ * jekyll-theme-endless.gemspec
174
+ * _data (*)
175
+ * _includes
176
+ * _layouts
177
+ * _sass
178
+ * assets
179
+ * lib
180
+ ....
181
+ * README.adoc (**)
182
+ * pages_examples (**)
183
+ * LICENSE.txt
184
+ ]
185
+ }
186
+
187
+ ' Objects: deployment steps
188
+ ' ##########################################################
189
+ frame "Build and deployment steps" as B_D {
190
+ process "deploy.sh (****)" as deploy_theme
191
+ ' note left of deploy_theme: This process\nis started\nmanually.
192
+
193
+ frame ".gitlab-ci.yml" as CI_file {
194
+ process "build-docker-image" as deploy_docker
195
+ process "deploy-to-gitlab-pages" as deploy_pages
196
+ ' note right of CI_file: This runs on\neach run of the\nCI pipeline.
197
+ }
198
+ }
199
+
200
+ '}
201
+
202
+ ' Objects: deployment targets
203
+ ' ##########################################################
204
+ cloud rubygems.org {
205
+ artifact "jekyll-theme-endless" as ruby_gem #palegreen
206
+ }
207
+ cloud "registry.gitlab.com" {
208
+ artifact "jekyll-theme-endless" as docker_image #palegreen
209
+ }
210
+ cloud "GitLab Pages" {
211
+ artifact "jekyll-theme-endless.gitlab.io" as website
212
+ }
213
+
214
+
215
+
216
+ ' Arrows from files to deployment steps
217
+ ' ##########################################################
218
+ theme_files --> deploy_theme
219
+ docker_files --> deploy_docker
220
+ content_files --> deploy_pages
221
+
222
+ ' Arrows from deployment steps to deployment targets
223
+ ' ##########################################################
224
+ deploy_theme --> ruby_gem
225
+ deploy_docker --> docker_image
226
+ deploy_pages --> website
227
+
228
+ @enduml
229
+ ....
230
+
102
231
 
103
232
 
104
233
 
data/_sass/adoc-code.scss CHANGED
@@ -5,6 +5,16 @@
5
5
 
6
6
  .content {
7
7
 
8
+ /** Styles for the <pre> used for code- and listing blocks */
9
+ pre {
10
+ -moz-tab-size: 2;
11
+ tab-size: 2;
12
+ background-color: white;
13
+ padding: .5em 1em;
14
+ border: 1px solid #ccc;
15
+ border-radius: 4px;
16
+ }
17
+
8
18
  code {
9
19
  position: relative;
10
20
  display: block;
@@ -12,6 +22,7 @@
12
22
  z-index: 0;
13
23
  }
14
24
 
25
+ /* Displays the language label */
15
26
  code::before {
16
27
  content: attr(data-lang);
17
28
  position: absolute;
@@ -3,14 +3,6 @@
3
3
  */
4
4
 
5
5
  .highlight {
6
- @at-root pre#{&} {
7
- -moz-tab-size: 2;
8
- tab-size: 2;
9
- background-color: white;
10
- padding: .5em 1em;
11
- border: 1px solid #ccc;
12
- border-radius: 4px;
13
- }
14
6
  .hll { background-color: #ffffcc }
15
7
  .c { color: #080; font-style: italic } /* Comment */
16
8
  .err { color: #AA0000; background-color: #FFAAAA } /* Error */
Binary file
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module Endless
3
- VERSION = '0.21.1'
3
+ VERSION = '0.22.0'
4
4
  end
5
5
  end
@@ -70,7 +70,7 @@ This way, you can display the same code in multiple places but only need to upda
70
70
  You can even embed production code directly.
71
71
 
72
72
  // Includes the code of the file "showroom-asciidoc-code.html" starting from line 4.
73
- .Source code of the AsciiDoc Showroom:
73
+ .HTML code block included from an external file. The first three lines of the file are skipped.
74
74
  [source, html]
75
75
  ----
76
76
  include::showroom-asciidoc-code.html[lines=4..]
@@ -80,6 +80,52 @@ include::showroom-asciidoc-code.html[lines=4..]
80
80
 
81
81
 
82
82
 
83
+ [[listing]]
84
+ == Listings without syntax highlighting
85
+
86
+ The `[source]` block used for source code listings is a special type of listing block that applies syntax highlighting. For simple text listings (e.g. console output, folder structures, etc.) you can instead use the `[listing]` block.
87
+
88
+ .Example of a folder structure listing. It is enriched with icons for files and folders taken from the Unicode standard. You can look up the Unicode of the icons on https://emojipedia.org/ and copy them from there. footnote:[The icons may not be displayed correctly in all fonts and browsers. https://emojipedia.org/unicode-6.0[Unicode 6.0] was the first version of the Unicode Standard to support emoji.]
89
+ [listing#folderstructure]
90
+ ----
91
+ 📄 config.yml
92
+ 📂 data
93
+ 📂 images
94
+ 🖼️ photo1.jpg
95
+ 🖼️ photo2.jpg
96
+ 🖼️ photo3.jpg
97
+ 📂 pages
98
+ 📄 index.adoc
99
+ 📄 ranges.adoc
100
+ 📂 _posts
101
+ 📄 2025-10-08-title-of-the-article.adoc
102
+ ----
103
+
104
+
105
+ .Folder structure listing from the previous example, but with a tree-like structure directly taken from the output of the `tree` command footnote:[The tree command is a standard Unix command used to display the directory structure of a path in a tree-like format. If not istalled, use `sudo apt install tree` on Debian-based systems to install it.]. Additionally, annotations with automatic numbering are added.
106
+ ----
107
+ 📂 ./
108
+ ├── 📄 config.yml <.>
109
+ ├── 📂 data
110
+ │   └── 📂 images <.>
111
+ │   ├── 🖼️ photo1.jpg
112
+ │   ├── 🖼️ photo2.jpg
113
+ │   └── 🖼️ photo3.jpg
114
+ ├── 📂 pages <.>
115
+ │   ├── 📄 index.adoc
116
+ │   └── 📄 ranges.adoc
117
+ └──📂 _posts <.>
118
+ └── 📄 2025-10-08-title-of-the-article.adoc
119
+ ----
120
+ <.> config-file
121
+ <.> Folder with images
122
+ <.> Folder with pages
123
+ <.> Folder with blog posts
124
+
125
+
126
+
127
+
128
+
83
129
  == Text formatting
84
130
 
85
131
  * Text with *strong* significance to me
@@ -316,7 +362,12 @@ Content of the sidebar block.
316
362
  [[passthrough-blocks]]
317
363
  == Passthrough blocks
318
364
 
319
- With passthrough blocks (delimited with `&#43;&#43;&#43;&#43;`), you can embed raw HTML code directly into your AsciiDoc document. Common examples are the inclusion of an HTML form, CSS and JavaScript snippets.
365
+ With https://docs.asciidoctor.org/asciidoc/latest/pass/[passthrough blocks] (delimited with `&#43;&#43;&#43;&#43;`),
366
+ you can embed raw HTML code directly into your AsciiDoc document.
367
+ Common examples are the inclusion of an HTML form, CSS and JavaScript snippets.
368
+
369
+ CAUTION: Keep in mind that this only affects the HTML output. It will be visible as-is in other output formats like PDF.
370
+
320
371
 
321
372
  To add a form to your document, you can use:
322
373
 
@@ -605,7 +656,7 @@ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/barcode/[Bar
605
656
  // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/bpmn/[BPMN],
606
657
  // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/d2/[D2],
607
658
  // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/diagrams/[Diagrams],
608
- // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/meme/[Meme],
659
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/meme/[Meme],
609
660
  https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/tikz/[TikZ].
610
661
 
611
662
 
@@ -1135,6 +1186,20 @@ qrcode::This QR code is generated with Asciidoctor Diagram and presented in PNG
1135
1186
 
1136
1187
 
1137
1188
 
1189
+ [[meme]]
1190
+ === Meme
1191
+
1192
+ The https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/meme/[meme extension] is based on https://imagemagick.org/[ImageMagick] and is used to create simple memes with text overlaid on images.
1193
+
1194
+ :pic_2_src: ../assets/images/cat.jpg
1195
+
1196
+ .Example of a meme created with the Meme diagram type, featuring an image of a cat with overlaid text at the top and bottom. The text is styled with a stroke width of 2 and a white fill color to enhance visibility against the background image.
1197
+ meme::{pic_2_src}[Markdown? // Really?, Did you understand // a single word written here?, stroke-width=2, fill-color=white]
1198
+
1199
+
1200
+
1201
+
1202
+
1138
1203
  [[tikz]]
1139
1204
  === TikZ
1140
1205
  https://github.com/pgf-tikz/pgf[TikZ] is a powerful and user-friendly syntax layer built upon the PGF (Portable Graphic Format) package for creating high-quality graphics programmatically within LaTeX documents.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-endless
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.1
4
+ version: 0.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Boekhoff
@@ -288,6 +288,7 @@ files:
288
288
  - _sass/tag-cloud.scss
289
289
  - _sass/user.scss
290
290
  - assets/css/main.scss
291
+ - assets/images/cat.jpg
291
292
  - assets/images/tree-3822149_640.jpg
292
293
  - lib/jekyll-theme-endless.rb
293
294
  - lib/jekyll-theme-endless/generate-tagpages.rb