jekyll-theme-endless 0.15.0 → 0.15.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.adoc +46 -3
- data/_config.yml +13 -8
- data/_sass/adoc-admonition.scss +5 -0
- data/_sass/adoc-code.scss +4 -0
- data/lib/jekyll-theme-endless/version.rb +1 -1
- data/pages_examples/showroom-asciidoc-code.html +14 -0
- data/pages_examples/showroom-asciidoc.adoc +548 -0
- data/pages_examples/showroom-markdown.md +194 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a7bbaeca21ac57a821e22eb43f438b9328b3dd0330277eeb479a9c10a0d42c5b
|
4
|
+
data.tar.gz: 27cce9d41f9f364ac29d86287b3f37fd15cbb829c3b6cb76ded552bdfc070abc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d452bcc2934df29c0211eba621849717a13ed163321b387f2b8e1369facdfab14e3b3e3b63bc984934f3db082a8fbe2b4571bb83a1537e22b1e593084213cec
|
7
|
+
data.tar.gz: caac122db717ca3962838479dff411f35f0110df8b932c0b05347cdc9a614d921780b34bdafa6198e61a438e35a5d1bc0e12b7fc6b64dce46a9e807e6a0c0d67
|
data/README.adoc
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
:toc: preamble
|
5
5
|
:toclevels: 3
|
6
6
|
:page-summary: "Explore the documentation for jekyll-theme-endless: a Jekyll theme for AsciiDoc blogging, featuring tag cloud, code highlighting, responsive design, and more."
|
7
|
+
:page-permalink: /documentation/
|
7
8
|
|
8
9
|
|
9
10
|
|
@@ -119,20 +120,27 @@ CAUTION: If you want to use special characters in your tags, you need to create
|
|
119
120
|
|
120
121
|
== Usage
|
121
122
|
|
122
|
-
Here I describe available
|
123
|
+
Here I describe available _layouts_, _includes_, SASS- and other _assets_.
|
123
124
|
|
124
125
|
To copy all the files of the theme into a folder,
|
125
126
|
you can use the following command (in the root directory of your Jekyll project):
|
126
127
|
|
127
128
|
[source,bash]
|
128
129
|
----
|
129
|
-
cp -r $(bundle show jekyll-theme-endless)
|
130
|
+
cp -r "$(bundle show jekyll-theme-endless)" .
|
130
131
|
----
|
131
132
|
|
132
133
|
This will copy the theme-folder containing all its files into the current directory.
|
133
134
|
From there, you can selectively move files to your project and modify them as needed.
|
134
135
|
Your (modified) copy will afterwards overwrite the contents provided by the theme.
|
135
136
|
|
137
|
+
If you only want to copy the example pages (like the AsciiDoc showroom) to your project, use:
|
138
|
+
|
139
|
+
[source,bash]
|
140
|
+
----
|
141
|
+
cp -r "$(bundle show jekyll-theme-endless)/pages_examples" .
|
142
|
+
----
|
143
|
+
|
136
144
|
NOTE: Whenever you create custom versions of files in this theme, consider whether they might also be useful for others. In that case, you could contribute the changes to the project. Feel free to contact me about it.
|
137
145
|
|
138
146
|
|
@@ -632,6 +640,35 @@ I use, for example:
|
|
632
640
|
|
633
641
|
|
634
642
|
|
643
|
+
[[Dockerfile]]
|
644
|
+
=== Dockerfile
|
645
|
+
|
646
|
+
This repository includes a `Dockerfile` that defines a custom *Docker image*,
|
647
|
+
built and stored in the GitLab Docker registry during the CI/CD process.
|
648
|
+
This image provides an optimized environment for building your Jekyll site with all necessary tools pre-installed, including:
|
649
|
+
|
650
|
+
* An SSH client, enabling deployment to your own server
|
651
|
+
* Dependency managers like Yarn, for handling JavaScript and CSS dependencies
|
652
|
+
* Tools for generating graphics from text-based diagrams, such as Graphviz, Ditaa, and PlantUML
|
653
|
+
|
654
|
+
If you are using GitLab CI/CD, you can easily leverage this pre-built image
|
655
|
+
by adding the following `image:` line to your `.gitlab-ci.yml` file:
|
656
|
+
|
657
|
+
[source, yml]
|
658
|
+
----
|
659
|
+
# Use the pre-built Docker image provided by 'jekyll-theme-endless'
|
660
|
+
image: "registry.gitlab.com/jekyll-theme-endless/jekyll-theme-endless.gitlab.io:latest"
|
661
|
+
----
|
662
|
+
|
663
|
+
By using this Docker image, you avoid the need to install each required tool individually
|
664
|
+
in a separate base image (such as `ruby:latest`) during every build process.
|
665
|
+
This approach not only simplifies your CI/CD configuration but also reduces build times,
|
666
|
+
as all necessary dependencies are already bundled into a single, reusable image.
|
667
|
+
|
668
|
+
|
669
|
+
|
670
|
+
|
671
|
+
|
635
672
|
== Settings
|
636
673
|
|
637
674
|
=== Language
|
@@ -667,7 +704,13 @@ To set up your environment to develop this theme:
|
|
667
704
|
The theme is setup just like a normal Jekyll site!
|
668
705
|
To test the theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`.
|
669
706
|
This starts a Jekyll server using your theme.
|
670
|
-
To test the theme *with example-data*, run
|
707
|
+
To test the theme *with example-data*, run:
|
708
|
+
|
709
|
+
[source, bash]
|
710
|
+
----
|
711
|
+
bundle exec jekyll serve --config _config.yml,_data.yml
|
712
|
+
----
|
713
|
+
|
671
714
|
Values for theme specific configurations are stored in `_data.yml` and not in the themes `_config.yml`.
|
672
715
|
Since the `_config.yml` is shipped with the gem,
|
673
716
|
the users of your theme would otherwise have to unset the values in their own `config.yml`.
|
data/_config.yml
CHANGED
@@ -48,12 +48,6 @@ asciidoctor:
|
|
48
48
|
# https://github.com/asciidoctor/jekyll-asciidoc#font-based-admonition-and-inline-icons
|
49
49
|
icons: font
|
50
50
|
|
51
|
-
# Keep files generated by AsciiDoctor-diagram during the build process
|
52
|
-
# https://github.com/asciidoctor/jekyll-asciidoc#preserving-generated-images
|
53
|
-
# The paths in keep_files must not have a / at the beginning or end.
|
54
|
-
keep_files:
|
55
|
-
- _diagrams
|
56
|
-
|
57
51
|
|
58
52
|
|
59
53
|
|
@@ -79,6 +73,19 @@ plugins:
|
|
79
73
|
- jekyll-feed
|
80
74
|
- asciidoctor-diagram
|
81
75
|
|
76
|
+
|
77
|
+
|
78
|
+
# Keep files generated by AsciiDoctor-diagram during the build process
|
79
|
+
# https://github.com/asciidoctor/jekyll-asciidoc#preserving-generated-images
|
80
|
+
# The paths in keep_files must not have a / at the beginning or end.
|
81
|
+
# Note: Settings like `keep_files`, `exclude`, `include`, and some others
|
82
|
+
# are not automatically inherited by the project using the theme
|
83
|
+
# and must be explicitly defined in the project's `_config.yml`.
|
84
|
+
keep_files:
|
85
|
+
- _diagrams
|
86
|
+
|
87
|
+
|
88
|
+
|
82
89
|
# Exclude files from processing.
|
83
90
|
#
|
84
91
|
# Excluded items can be processed by explicitly listing the directories or
|
@@ -107,8 +114,6 @@ exclude:
|
|
107
114
|
|
108
115
|
|
109
116
|
|
110
|
-
|
111
|
-
|
112
117
|
# compressed: Produces minified CSS in a single line, with no spaces or comments, for the smallest file size.
|
113
118
|
# expanded: Outputs fully expanded CSS with indentation, making it easy to read but larger in size.
|
114
119
|
# nested: Generates CSS with nested indentation, resembling the structure of the Sass code, for improved readability.
|
data/_sass/adoc-admonition.scss
CHANGED
@@ -4,6 +4,8 @@ div.admonitionblock {
|
|
4
4
|
background: #fff;
|
5
5
|
color: #111;
|
6
6
|
margin: 2em 0;
|
7
|
+
// Workaround for overflow issues with code blocks inside admonition blocks. (see release notes 0.13.X)
|
8
|
+
overflow-x: auto;
|
7
9
|
}
|
8
10
|
.admonitionblock table {
|
9
11
|
background-color: transparent;
|
@@ -12,6 +14,9 @@ div.admonitionblock {
|
|
12
14
|
padding: .75em .25em;
|
13
15
|
border-width: 0;
|
14
16
|
}
|
17
|
+
td.content {
|
18
|
+
padding-right: .75em;
|
19
|
+
}
|
15
20
|
}
|
16
21
|
/* See:
|
17
22
|
* https://github.com/asciidoctor/jekyll-asciidoc#font-based-admonition-and-inline-icons
|
data/_sass/adoc-code.scss
CHANGED
@@ -8,6 +8,8 @@
|
|
8
8
|
code {
|
9
9
|
position: relative;
|
10
10
|
display: block;
|
11
|
+
// Workaround to prevent the language label from overlapping the source code (see release notes 0.10.X).
|
12
|
+
z-index: 0;
|
11
13
|
}
|
12
14
|
|
13
15
|
code::before {
|
@@ -21,6 +23,8 @@
|
|
21
23
|
color: #333;
|
22
24
|
border-radius: 3px;
|
23
25
|
border: 1px solid #ccc;
|
26
|
+
// Workaround to prevent the language label from overlapping the source code (see release notes 0.10.X).
|
27
|
+
z-index: -10;
|
24
28
|
}
|
25
29
|
|
26
30
|
/* If data-lang is empty or not set, ::before will be hidden. */
|
@@ -0,0 +1,14 @@
|
|
1
|
+
---
|
2
|
+
published: false
|
3
|
+
---
|
4
|
+
<!DOCTYPE html>
|
5
|
+
<html lang="en">
|
6
|
+
<head>
|
7
|
+
<meta charset="UTF-8">
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
9
|
+
<title>Document</title>
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
HTML boilerplate code.
|
13
|
+
</body>
|
14
|
+
</html>
|
@@ -0,0 +1,548 @@
|
|
1
|
+
= AsciiDoc showroom
|
2
|
+
:page-menu_label: AsciiDoc
|
3
|
+
:page-menu_position: 200
|
4
|
+
:page-permalink: /asciidoc-showroom/
|
5
|
+
// Enable support for experimental features like "keyboard shortcuts"
|
6
|
+
:experimental:
|
7
|
+
// Enable support for mathematical expressions
|
8
|
+
:stem:
|
9
|
+
:toc: preamble
|
10
|
+
:toclevels: 5
|
11
|
+
:page-summary: "Discover the AsciiDoc showroom: See what's possible with AsciiDoc in this theme, including code, tables, lists, quotes, and more for advanced formatting."
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
Here are a few examples to demonstrate what AsciiDoc, as a markup language, has to offer.
|
16
|
+
Its capabilities far exceed those of Markdown.
|
17
|
+
Thus, this page will only cover a small portion to give you a sense of what's possible.
|
18
|
+
|
19
|
+
Checking out the source code of this page can also help you get started with AsciiDoc.
|
20
|
+
For more information, you can refer to the official AsciiDoc and Asciidoctor documentation.
|
21
|
+
|
22
|
+
* https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-reference/[AsciiDoc Syntax Quick Reference]
|
23
|
+
* https://docs.asciidoctor.org/asciidoctor/latest/[Asciidoctor Documentation]
|
24
|
+
* https://docs.asciidoctor.org/asciidoc/latest/[AsciiDoc Language Documentation]
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
== Source code listings
|
31
|
+
|
32
|
+
.Python source code (language is shown in the upper right corner):
|
33
|
+
[source, python]
|
34
|
+
----
|
35
|
+
# Python code
|
36
|
+
def greet(name):
|
37
|
+
print(f"Hello, {name}!")
|
38
|
+
|
39
|
+
greet('World')
|
40
|
+
----
|
41
|
+
|
42
|
+
.Code block with an unknown language (language info ist not shown):
|
43
|
+
[source]
|
44
|
+
----
|
45
|
+
Start
|
46
|
+
Set counter to 0
|
47
|
+
While counter < 5 do
|
48
|
+
Print "This is loop iteration", counter
|
49
|
+
Increment counter by 1
|
50
|
+
End
|
51
|
+
----
|
52
|
+
|
53
|
+
// For detailed information see:
|
54
|
+
// https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-reference/#literals-and-source-code
|
55
|
+
.Python code block with annotations.
|
56
|
+
[source,python]
|
57
|
+
----
|
58
|
+
def square(number):// <1>
|
59
|
+
return number ** 2
|
60
|
+
|
61
|
+
result = square(4)// <2>
|
62
|
+
print(result)// <3>
|
63
|
+
----
|
64
|
+
<1> The function `square` calculates the square of a given number.
|
65
|
+
<2> The function is called with the number 4, and the result is stored in `result`.
|
66
|
+
<3> The result is printed to the console.
|
67
|
+
|
68
|
+
You can also directly insert source code from a file into your AsciiDoc document.
|
69
|
+
This way, you can display the same code in multiple places but only need to update it in one location.
|
70
|
+
You can even embed production code directly.
|
71
|
+
|
72
|
+
// Includes the code of the file "showroom-asciidoc-code.html" starting from line 4.
|
73
|
+
.Source code of the AsciiDoc Showroom:
|
74
|
+
[source, html]
|
75
|
+
----
|
76
|
+
include::showroom-asciidoc-code.html[lines=4..]
|
77
|
+
----
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
== Text formatting
|
84
|
+
|
85
|
+
* Text with *strong* significance to me
|
86
|
+
* _Emphasized_ text
|
87
|
+
* *_Combination_* of both
|
88
|
+
* You can also format parts of a word:
|
89
|
+
** **C**reate, **R**ead, **U**pdate, and **D**elete (CRUD)
|
90
|
+
** Counter__clock__wise
|
91
|
+
** ``string``s
|
92
|
+
* ^super^script
|
93
|
+
* ~sub~script
|
94
|
+
* [.line-through]#This is strikethrough text#
|
95
|
+
* [.underline]#This is underlined text#
|
96
|
+
* `monospace text`
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
[[links]]
|
103
|
+
== Links
|
104
|
+
|
105
|
+
* https://example.com
|
106
|
+
* https://example.com[Link to example.com]
|
107
|
+
* test@example.com
|
108
|
+
* mailto:test@example.com[send a test message to example.com]
|
109
|
+
// Link to a page with a permalink.
|
110
|
+
* In AsciiDoc, you can easily add links to other articles: link:/asciidoc-example/[Example post for AsciiDoc with explanations].
|
111
|
+
// Link to the section on the page marked with the anchor [[admonition]].
|
112
|
+
* You can also link to sections on the page using link anchors: link:#admonition[Link to the section: "Adminition blocks" on this page]
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
== Keyboard shortcuts and menu paths
|
119
|
+
|
120
|
+
kbd:[Ctrl + Alt + Del]
|
121
|
+
|
122
|
+
menu:View[Appearance > Full Screen]
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
[[admonition]]
|
129
|
+
== Admonition blocks
|
130
|
+
|
131
|
+
TIP: Admonition: `TIP`.
|
132
|
+
|
133
|
+
IMPORTANT: Admonition: `IMPORTANT`.
|
134
|
+
|
135
|
+
[NOTE]
|
136
|
+
====
|
137
|
+
Admonition blocks (here shown for the admonition: `NOTE`) can contain several lines and complex content like:
|
138
|
+
|
139
|
+
.A list with several items.
|
140
|
+
- one
|
141
|
+
- two
|
142
|
+
- three
|
143
|
+
|
144
|
+
.Another paragraph.
|
145
|
+
|
146
|
+
.And even blocks with source code.
|
147
|
+
[source, java]
|
148
|
+
----
|
149
|
+
public class HelloWorld {
|
150
|
+
public static void main(String[] args) {
|
151
|
+
System.out.println("Hello, World!");
|
152
|
+
}
|
153
|
+
}
|
154
|
+
----
|
155
|
+
====
|
156
|
+
|
157
|
+
CAUTION: Admonition: `CAUTION`.
|
158
|
+
|
159
|
+
WARNING: Admonition: `WARNING`.
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
== Tables
|
166
|
+
|
167
|
+
.A simple table
|
168
|
+
[options="header", cols="3*"]
|
169
|
+
|===
|
170
|
+
| Name
|
171
|
+
| Age
|
172
|
+
| City
|
173
|
+
|
174
|
+
| Max Mustermann
|
175
|
+
| 30
|
176
|
+
| Berlin
|
177
|
+
|
178
|
+
// The cells in AsciiDoc can be in the same row or shifted
|
179
|
+
| John Doe | 45 | New York
|
180
|
+
|
181
|
+
| Maria Musterfrau | 28
|
182
|
+
|
183
|
+
|
184
|
+
// They can be also separated by blank lines.
|
185
|
+
| München
|
186
|
+
|===
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
.Table showcasing AsciiDoc table capabilities
|
191
|
+
[options="header", cols="<.<3,^2,>2"]
|
192
|
+
|===
|
193
|
+
| Feature | Description | Example
|
194
|
+
|
195
|
+
| **Bold and Italics** | Supports *italic* and **bold** text formatting | _Italic_ and *bold* formatting
|
196
|
+
3+| **This cell spans 3 columns**
|
197
|
+
|
198
|
+
.2+| **This cell spans 2 rows** | First row of the spanned cell | Another cell
|
199
|
+
// In the following, I manually corrected the disrupted cell count and
|
200
|
+
// the resulting formatting issues caused by the colspanning for each individual cell.
|
201
|
+
^| Second row of the spanned cell >| Another cell
|
202
|
+
|
203
|
+
// Cells do not have to be placed side by side; they can simply be written one above the other:
|
204
|
+
| **Links**
|
205
|
+
| Supports links within the table
|
206
|
+
| https://example.com[Example Link]
|
207
|
+
|
208
|
+
|===
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
|
214
|
+
== Images
|
215
|
+
|
216
|
+
// AsciiDoc commands are not stripped/processed when used within `alt=""`.
|
217
|
+
:pic_1_src: /assets/images/tree-3822149_640.jpg
|
218
|
+
:pic_1_title: Image by https://pixabay.com/de/users/jplenio-7645255/[jplenio] published on https://pixabay.com/de/[Pixabay].
|
219
|
+
:pic_1_alt: The sun setting next to the trunk of an old tree.
|
220
|
+
image::{pic_1_src}[link="{pic_1_src}", title="{pic_1_title}", alt="{pic_1_alt}"]
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
== Lists
|
227
|
+
|
228
|
+
=== Unordered
|
229
|
+
|
230
|
+
* Item 1
|
231
|
+
* Item 2
|
232
|
+
** Item 2.1
|
233
|
+
** Item 2.2
|
234
|
+
** Item 2.3
|
235
|
+
* Item 3
|
236
|
+
|
237
|
+
=== Numbered
|
238
|
+
|
239
|
+
. Numbered item 1
|
240
|
+
. Numbered item 2
|
241
|
+
.. Numbered item 2.1
|
242
|
+
.. Numbered item 2.2
|
243
|
+
.. Numbered item 2.3
|
244
|
+
. Numbered item 3
|
245
|
+
|
246
|
+
=== Checklist
|
247
|
+
|
248
|
+
* [*] checked: `* [*]`
|
249
|
+
* [x] checked: `* [x]` (lower case x!)
|
250
|
+
- [*] checked: `- [*]`
|
251
|
+
- [x] checked: `- [x]`
|
252
|
+
- [ ] unchecked: `- [ ]`
|
253
|
+
* [ ] unchecked: `* [ ]`
|
254
|
+
** item without checkbox
|
255
|
+
** [ ] unchecked item on level 2: `** [ ]`
|
256
|
+
*** [x] checked item on level 3: `*** [x]`
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
|
262
|
+
== Quotes
|
263
|
+
|
264
|
+
Fully annotated quote:
|
265
|
+
|
266
|
+
.After being searched for Lorem ipsum:
|
267
|
+
[quote, Wikipedia, published on https://en.wikipedia.org/wiki/Lorem_ipsum]
|
268
|
+
____
|
269
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
270
|
+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
271
|
+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
|
272
|
+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
273
|
+
____
|
274
|
+
|
275
|
+
Quotation lacking attribution and further information:
|
276
|
+
____
|
277
|
+
Veni, vidi, vici.
|
278
|
+
____
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
== Glossary
|
285
|
+
|
286
|
+
Glossary entries can also contain lists, quotations, code-blocks, ...
|
287
|
+
|
288
|
+
Lorem ipsum::
|
289
|
+
|
290
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
291
|
+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
292
|
+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
|
293
|
+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
294
|
+
|
295
|
+
Lorem ipsum (with code block)::
|
296
|
+
|
297
|
+
A common form of Lorem ipsum in a code block.
|
298
|
+
+
|
299
|
+
[source, text]
|
300
|
+
----
|
301
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
302
|
+
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
303
|
+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
|
304
|
+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
305
|
+
----
|
306
|
+
|
307
|
+
Lorem ipsum (with list)::
|
308
|
+
|
309
|
+
* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
310
|
+
* Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
311
|
+
* Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
|
312
|
+
* Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
313
|
+
|
314
|
+
|
315
|
+
|
316
|
+
|
317
|
+
|
318
|
+
== Table of contents (TOC)
|
319
|
+
|
320
|
+
As you can see at the top of this page, AsciiDoc can also generate a table of contents for you.
|
321
|
+
|
322
|
+
You can enable this directly in the AsciiDoc page attributes.
|
323
|
+
For this page I used:
|
324
|
+
|
325
|
+
[source, asciidoc]
|
326
|
+
----
|
327
|
+
:toc: preamble
|
328
|
+
:toclevels: 5
|
329
|
+
----
|
330
|
+
|
331
|
+
// == Level 1 corresponds to <h2>
|
332
|
+
|
333
|
+
=== Level 2 corresponds to <h3>
|
334
|
+
|
335
|
+
==== Level 3 corresponds to <h4>
|
336
|
+
|
337
|
+
===== Level 4 corresponds to <h5>
|
338
|
+
|
339
|
+
====== Level 5 corresponds to <h6>
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
[[stem]]
|
346
|
+
== Using Mathematical Formulas (STEM)
|
347
|
+
|
348
|
+
In this blog, you can easily https://asciidoctor.org/docs/user-manual/#stem[use STEM]
|
349
|
+
(**S**cience, **T**echnology, **E**ngineering and **M**ath) expressions in your pages and posts.
|
350
|
+
To do this, simply add the `:stem:` attribute to the document header of your page or post
|
351
|
+
(You can also https://github.com/asciidoctor/jekyll-asciidoc#enabling-stem-support[enable it for all posts] in your `_config.yml`):
|
352
|
+
|
353
|
+
[source, asciidoc]
|
354
|
+
----
|
355
|
+
= Page Title
|
356
|
+
:stem:
|
357
|
+
----
|
358
|
+
|
359
|
+
Two syntaxes for the formulas are are available:
|
360
|
+
|
361
|
+
* http://asciimath.org/[AsciiMathML] (AsciiMath is the *default*)
|
362
|
+
* https://en.wikibooks.org/wiki/LaTeX/Mathematics[TeX and LaTeX]
|
363
|
+
|
364
|
+
|
365
|
+
|
366
|
+
|
367
|
+
|
368
|
+
=== Examples using AsciiMath
|
369
|
+
|
370
|
+
*Inline Command*: (here `asciimath:[[[a,b\],[c,d\]\]((n),(k))].`)
|
371
|
+
|
372
|
+
asciimath:[[[a,b\],[c,d\]\]((n),(k))].
|
373
|
+
|
374
|
+
|
375
|
+
|
376
|
+
*Block command*:
|
377
|
+
|
378
|
+
.The formula for the sum of cubes.
|
379
|
+
[asciimath]
|
380
|
+
++++
|
381
|
+
sum_(i=1)^n i^3=((n(n+1))/2)^2
|
382
|
+
++++
|
383
|
+
|
384
|
+
.The AsciiDoc code using AsciiMath that was used to create the above formula for the sum of cubes.
|
385
|
+
[source, asciidoc]
|
386
|
+
----
|
387
|
+
[asciimath]
|
388
|
+
++++
|
389
|
+
sum_(i=1)^n i^3=((n(n+1))/2)^2
|
390
|
+
++++
|
391
|
+
----
|
392
|
+
|
393
|
+
|
394
|
+
|
395
|
+
|
396
|
+
|
397
|
+
=== Examples using LaTeX
|
398
|
+
|
399
|
+
*Inline command* (here: `latexmath:[C = \alpha + \beta Y^{\gamma} + \epsilon]`):
|
400
|
+
|
401
|
+
latexmath:[C = \alpha + \beta Y^{\gamma} + \epsilon]
|
402
|
+
|
403
|
+
|
404
|
+
|
405
|
+
*Block command*:
|
406
|
+
|
407
|
+
.Exponential Decay: The limit of the exponential function latexmath:[exp(-x)] as latexmath:[x] approaches infinity is zero.
|
408
|
+
[latexmath]
|
409
|
+
++++
|
410
|
+
\lim\limits_{x \to \infty} \exp(-x) = 0
|
411
|
+
++++
|
412
|
+
|
413
|
+
.The AsciiDoc code for the exponential decay equation shown above, written in LaTeX syntax.
|
414
|
+
[source, asciidoc]
|
415
|
+
----
|
416
|
+
[latexmath]
|
417
|
+
++++
|
418
|
+
\lim\limits_{x \to \infty} \exp(-x) = 0
|
419
|
+
++++
|
420
|
+
----
|
421
|
+
|
422
|
+
|
423
|
+
|
424
|
+
|
425
|
+
|
426
|
+
[[diagram]]
|
427
|
+
== Ascii Diagrams
|
428
|
+
|
429
|
+
Text-based diagrams enable easy integration with version control systems, as they are saved in plain text.
|
430
|
+
This format avoids binary files, making *changes visible in diffs*, so you can track updates precisely over time.
|
431
|
+
Additionally, because they are text, *different themes and styles can be applied* without needing to redesign the diagram.
|
432
|
+
Another benefit is that these diagrams can be generated automatically during the build process,
|
433
|
+
eliminating the need for graphics editors or manual exports to specific formats.
|
434
|
+
This makes them *ideal for automated workflows* and consistent documentation across projects.
|
435
|
+
|
436
|
+
Asciidoctor Diagram supports a https://docs.asciidoctor.org/diagram-extension/latest/[wide range of text-based diagram types]
|
437
|
+
making it a versatile choice for creating diagrams directly within documentation.
|
438
|
+
|
439
|
+
|
440
|
+
|
441
|
+
=== Ditaa
|
442
|
+
|
443
|
+
Ideal for converting ASCII art into diagrams, especially useful for quick sketches and block diagrams.
|
444
|
+
|
445
|
+
.Example of a Ditaa diagram illustrating the flow of processing in Asciidoctor Diagram, where a text document is converted through Asciidoctor with Ditaa to produce a PNG output, showcasing the transformation from plain text to visually structured output.
|
446
|
+
[ditaa,, svg]
|
447
|
+
....
|
448
|
+
+-------------+
|
449
|
+
| Asciidoctor |-------+
|
450
|
+
| diagram | |
|
451
|
+
+-------------+ | PNG out
|
452
|
+
^ |
|
453
|
+
| ditaa in |
|
454
|
+
| v
|
455
|
+
+--------+ +--------+----+ /---------------\
|
456
|
+
| |---+ Asciidoctor +--->| |
|
457
|
+
| Text | +-------------+ | Beautiful |
|
458
|
+
|Document| | !magic! | | Output |
|
459
|
+
| {d}| | | | |
|
460
|
+
+---+----+ +-------------+ \---------------/
|
461
|
+
: ^
|
462
|
+
| Lots of work |
|
463
|
+
+-----------------------------------+
|
464
|
+
....
|
465
|
+
|
466
|
+
Check the AsciiDoc source of this page to see that the diagram is clearly recognizable even in the text.
|
467
|
+
This is a unique feature of Ditaa.
|
468
|
+
|
469
|
+
|
470
|
+
.Example of a table-style diagram in Ditaa, illustrating a 2x2 matrix layout with labeled cells and placeholder mathematical expressions, showcasing how different background colors can be applied to each cell.(Parameter: a=4, b=6);
|
471
|
+
[ditaa,, svg]
|
472
|
+
....
|
473
|
+
+------+---------+
|
474
|
+
|cF00 |cFF0 |
|
475
|
+
| a² | a×b |
|
476
|
+
| | |
|
477
|
+
| | |
|
478
|
+
+------+---------+
|
479
|
+
|cFF0 |c0F0 |
|
480
|
+
| | |
|
481
|
+
| b×a | b² |
|
482
|
+
| | |
|
483
|
+
| | |
|
484
|
+
| | |
|
485
|
+
+------+---------+
|
486
|
+
....
|
487
|
+
|
488
|
+
|
489
|
+
|
490
|
+
=== PlantUML
|
491
|
+
|
492
|
+
Great for creating UML diagrams like class diagrams, sequence diagrams, and activity diagrams.
|
493
|
+
|
494
|
+
.Example of a class diagram in PlantUML, depicting a hierarchy where `DiagramBlock` and `BlockProcessor` classes are related, with `DiagramBlock` having subclasses `DitaaBlock` and `PlantUmlBlock`.
|
495
|
+
[plantuml, , svg]
|
496
|
+
....
|
497
|
+
class BlockProcessor
|
498
|
+
class DiagramBlock
|
499
|
+
class DitaaBlock
|
500
|
+
class PlantUmlBlock
|
501
|
+
|
502
|
+
BlockProcessor <|-- DiagramBlock
|
503
|
+
DiagramBlock <|-- DitaaBlock
|
504
|
+
DiagramBlock <|-- PlantUmlBlock
|
505
|
+
....
|
506
|
+
|
507
|
+
.Example of a sequence diagram in PlantUML, showing an interaction where Bob greets Alice with 'hello,' and Alice responds with 'hi.'
|
508
|
+
[plantuml,, format="svg", id="myDiagram", width="200px"]
|
509
|
+
----
|
510
|
+
Bob->Alice : hello
|
511
|
+
Alice --> Bob : hi
|
512
|
+
----
|
513
|
+
|
514
|
+
|
515
|
+
|
516
|
+
=== Graphviz
|
517
|
+
|
518
|
+
Useful for directed and undirected graphs, including flowcharts, state diagrams, and dependency graphs.
|
519
|
+
|
520
|
+
.Example of a directed graph in Graphviz, illustrating nodes with connections, including a self-loop on node b and cyclical paths between nodes.
|
521
|
+
[graphviz,,svg]
|
522
|
+
....
|
523
|
+
digraph g {
|
524
|
+
a -> b
|
525
|
+
b -> c
|
526
|
+
b -> d
|
527
|
+
b -> b
|
528
|
+
c -> d
|
529
|
+
d -> a
|
530
|
+
}
|
531
|
+
....
|
532
|
+
|
533
|
+
|
534
|
+
|
535
|
+
=== Lilypond
|
536
|
+
|
537
|
+
LilyPond is a music engraving program that enables users to create beautifully typeset sheet music through a text-based input system, focusing on producing high-quality, professional-looking scores suitable for publication.
|
538
|
+
|
539
|
+
// The output format SVG is not supported by LilyPond.
|
540
|
+
.Example of a melody in LilyPond notation, demonstrating a simple sequence of notes with pitches relative to the starting note c'.
|
541
|
+
[lilypond]
|
542
|
+
....
|
543
|
+
\version "2.22.1"
|
544
|
+
\relative c' { f d f a d f e d cis a cis e a g f e }
|
545
|
+
....
|
546
|
+
|
547
|
+
|
548
|
+
|
@@ -0,0 +1,194 @@
|
|
1
|
+
---
|
2
|
+
layout: page
|
3
|
+
menu_label: Markdown
|
4
|
+
menu_position: 150
|
5
|
+
permalink: /markdown-showroom/
|
6
|
+
summary: "Explore the Markdown showroom: See Markdown's capabilities in this theme, including code, tables, lists, links, and quotes for clean, simple formatting."
|
7
|
+
---
|
8
|
+
# Markdown showroom
|
9
|
+
|
10
|
+
Here are a few examples in Markdown.
|
11
|
+
While Markdown has significantly fewer features compared to other markup languages like AsciiDoc,
|
12
|
+
it still offers a simple and efficient way to write and format blog posts.
|
13
|
+
It's especially useful for quickly creating clean, readable content without much overhead.
|
14
|
+
Jekyll uses **Kramdown** as its Markdown processor.
|
15
|
+
Therefore, you can also use Kramdown syntax.
|
16
|
+
|
17
|
+
For more information, you can check out
|
18
|
+
|
19
|
+
* [The official Markdown syntax guide](https://daringfireball.net/projects/markdown/syntax)
|
20
|
+
* [Wikipedia article about Markdown](https://en.wikipedia.org/wiki/Markdown)
|
21
|
+
* [Kramdown Syntax](https://kramdown.gettalong.org/syntax.html)
|
22
|
+
* [Kramdown Quick Reference](https://kramdown.gettalong.org/quickref.html)
|
23
|
+
* [Kramdown Cheat Sheet](https://aoterodelaroza.github.io/devnotes/kramdown-cheatsheet/)
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
## Source code listings
|
28
|
+
|
29
|
+
Python source code:
|
30
|
+
|
31
|
+
```python
|
32
|
+
# Python code
|
33
|
+
def greet(name):
|
34
|
+
print(f"Hello, {name}!")
|
35
|
+
|
36
|
+
greet('World')
|
37
|
+
```
|
38
|
+
|
39
|
+
Ruby code listings using Kramdown syntax:
|
40
|
+
|
41
|
+
~~~
|
42
|
+
puts "Hello! What's your name?"
|
43
|
+
# gets user input and removes the newline
|
44
|
+
name = gets.chomp
|
45
|
+
puts "Hi, #{name}!"
|
46
|
+
~~~
|
47
|
+
{: .language-ruby}
|
48
|
+
|
49
|
+
|
50
|
+
~~~ ruby
|
51
|
+
# Define the function
|
52
|
+
def square(number)
|
53
|
+
number * number
|
54
|
+
end
|
55
|
+
|
56
|
+
# Use the function
|
57
|
+
puts "Enter a number to square:"
|
58
|
+
num = gets.chomp.to_i
|
59
|
+
result = square(num)
|
60
|
+
|
61
|
+
puts "The square of #{num} is #{result}"
|
62
|
+
~~~
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
## Text formatting
|
68
|
+
|
69
|
+
* Text with **strong** significance to me
|
70
|
+
* *Emphasized* text
|
71
|
+
* ***Combination*** of both
|
72
|
+
* You can also format parts of a word:
|
73
|
+
* **C**reate, **R**ead, **U**pdate, and **D**elete (CRUD)
|
74
|
+
* Counter*clock*wise
|
75
|
+
* `string`s
|
76
|
+
* ~~This is strikethrough text~~
|
77
|
+
* `monospace text`
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
## Links
|
84
|
+
|
85
|
+
* <https://example.com>
|
86
|
+
* [Link to example.com](https://example.com)
|
87
|
+
* <mailto:test@example.com>
|
88
|
+
* [send a test message to example.com](mailto:test@example.com)
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
## Tables
|
95
|
+
|
96
|
+
A simple table:
|
97
|
+
|
98
|
+
| Name | Age | City |
|
99
|
+
|------------------|-------|-------------|
|
100
|
+
| Max Mustermann | 30 | Berlin |
|
101
|
+
| Maria Musterfrau | 28 | München |
|
102
|
+
| John Doe | 45 | New York |
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
A table with alignment and some markdown features:
|
107
|
+
|
108
|
+
| Left | Center | Right |
|
109
|
+
|:--------------|:-------------:|--------------:|
|
110
|
+
| Text A | Text B | Text C |
|
111
|
+
| AAAAAAAAAAAAA | BBBBBBBBBBBBB | CCCCCCCCCCCCC |
|
112
|
+
| **Formatting** | _is_ | ***supported*** |
|
113
|
+
| Links | are also supported | [https://example.com](https://example.com) |
|
114
|
+
|
115
|
+
<!--
|
116
|
+
Cells in Markdown do not need to have the same width.
|
117
|
+
However, rows must not be separated by blank lines.
|
118
|
+
At the end of the table, there must be a blank line.
|
119
|
+
-->
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
## Lists
|
126
|
+
|
127
|
+
### Unordered
|
128
|
+
|
129
|
+
- Item 1
|
130
|
+
- Item 2
|
131
|
+
- Item 2.1
|
132
|
+
- Item 2.2
|
133
|
+
- Item 2.3
|
134
|
+
- Item 3
|
135
|
+
|
136
|
+
### Numbered
|
137
|
+
|
138
|
+
1. Numbered item 1
|
139
|
+
2. Numbered item 2
|
140
|
+
7. Numbered item 2.1
|
141
|
+
6. Numbered item 2.2
|
142
|
+
9. Numbered item 2.3
|
143
|
+
666. Numbered item 3
|
144
|
+
|
145
|
+
### Checklist
|
146
|
+
|
147
|
+
* [x] checked: `* [x]` (lower case x)
|
148
|
+
* [X] checked: `* [X]` (or upper case X)
|
149
|
+
- [x] checked: `- [x]`
|
150
|
+
- [ ] unchecked: `- [ ]`
|
151
|
+
* [ ] unchecked: `* [ ]`
|
152
|
+
* item without checkbox
|
153
|
+
* [ ] unchecked item on level 2: `* [ ]`
|
154
|
+
* [x] checked item on level 3: `* [x]`
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
## Images
|
160
|
+
|
161
|
+
![Alterntive Text for the image](/assets/images/tree-3822149_640.jpg "Title of the image.")
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
## Quotes
|
168
|
+
|
169
|
+
> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
170
|
+
> Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
171
|
+
> Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
|
172
|
+
>
|
173
|
+
> Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
## Glossary
|
180
|
+
|
181
|
+
Term 1
|
182
|
+
: Definition for Term 1.
|
183
|
+
|
184
|
+
Term 2
|
185
|
+
: Definition for Term 2.
|
186
|
+
Text can have multiple lines.
|
187
|
+
They can also contain lists ...
|
188
|
+
* item 1
|
189
|
+
* item 2
|
190
|
+
* item 3
|
191
|
+
> ... and they can also contain quotes.
|
192
|
+
|
193
|
+
|
194
|
+
: Another definition for Term 2.
|
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.15.
|
4
|
+
version: 0.15.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sven Boekhoff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-11-
|
11
|
+
date: 2024-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll-asciidoc
|
@@ -154,6 +154,9 @@ files:
|
|
154
154
|
- lib/jekyll-theme-endless.rb
|
155
155
|
- lib/jekyll-theme-endless/generate-tagpages.rb
|
156
156
|
- lib/jekyll-theme-endless/version.rb
|
157
|
+
- pages_examples/showroom-asciidoc-code.html
|
158
|
+
- pages_examples/showroom-asciidoc.adoc
|
159
|
+
- pages_examples/showroom-markdown.md
|
157
160
|
homepage: https://gitlab.com/jekyll-theme-endless/jekyll-theme-endless.gitlab.io
|
158
161
|
licenses:
|
159
162
|
- MIT
|