jekyll-theme-endless 0.19.6 → 0.21.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: 38ee02aeccc68d70b0b8a33fc8f7d2be011d9a2a3bee1d5b2d4cbe937c1db18a
4
- data.tar.gz: 1ff6d1009a40510eece921d7966e30f7bd85c2201e14c89c278c60697bd27268
3
+ metadata.gz: da9e8d00d36b95d47ff769418db0639bea2afe705d243e13479950bd71a14f1d
4
+ data.tar.gz: 85b1892b611410592eac1342cab6f7d4e220b1783e77cc2144c5002325bdd90b
5
5
  SHA512:
6
- metadata.gz: 5fd6ccced658e8719aebd81bf2cfda4248a7e2d36e578770750d48a0fe02ecc791b8fe5ee8a2f215b617080325301b7021d5dabb8d66d1ed9e0a8f302dab941f
7
- data.tar.gz: 8a57c6cdc7bf3711d4b91459e25c903a88d39ac74e1d22b08eaf503cb425a0aa30f66a2e18372fb8ecfbd191d8a5d87250c7ab26af916893c76ab3ff01891fc1
6
+ metadata.gz: d8329f8520f988b8bd17eb09dcd60317562a578502dfe718aa36916707727b9d007f245fba0020edfa20879176dad6f3f3f789fafff000a6796ade45934fd9df
7
+ data.tar.gz: 8554d4b79fea958c877dbd9b5ec741d060de7ddf4876fcc00fe618da8b6a5fc0b9afb5964311dd7756b04b64b53606d06c83a809f328946c24466324b04556ba
data/README.adoc CHANGED
@@ -164,13 +164,13 @@ Contains a *navigation bar* with a configurable brand-label.
164
164
  Set `brand` in your `_config.yml`, to determine what is shown on the left side of the navigation.
165
165
  Example:
166
166
 
167
- TIP: The values for `brand`, `title` and `subtitle` are _not_ escaped by the layout. Thus, you _can_ use HTML-commands.
168
-
169
167
  [source, yaml]
170
168
  ----
171
169
  brand: '"<i>endless</i>"-Theme'
172
170
  ----
173
171
 
172
+ TIP: The values for `brand`, `title` and `subtitle` are _not_ escaped by the layout. Thus, you _can_ use HTML-commands.
173
+
174
174
  Contains a configurable *title bar*.
175
175
  Set `title` and `subtitle` in your `_config.yml`, to determine what is shown below the navigation bar.
176
176
  If none of the two values is set, the title bar is omitted.
@@ -196,6 +196,15 @@ disclaimer: >- # this means to ignore newlines until the next entry
196
196
  Therefore, many things (e.g. the support of AsciiDoc) are based on personal requirements.
197
197
  You are welcome to use the theme (at your own risk) and contribute to the development.
198
198
  ----
199
+
200
+ Set `navigation-left` to `true` in your `_config.yml`, to show the navigation on the left side and the main content on the right side
201
+ (by default, the navigation is shown on the right side).
202
+ Example:
203
+ [source, yaml]
204
+ ----
205
+ navigation-left: true
206
+ ----
207
+
199
208
  --
200
209
 
201
210
 
data/_config.yml CHANGED
@@ -30,6 +30,14 @@ url: "" # the base hostname & protocol for your site, e.g. http://example.com
30
30
 
31
31
 
32
32
 
33
+ # Layout settings
34
+ ###############################################################################
35
+ navigation-left: false # If true, the navigation bar is rendered on the left and the main content on the right. Default: false.
36
+
37
+
38
+
39
+
40
+
33
41
  # AsciiDoc settings
34
42
  ###############################################################################
35
43
  asciidoctor:
@@ -68,11 +68,33 @@ layout: html
68
68
 
69
69
  <div class="row">
70
70
 
71
- <div class="col-lg-8 pb-5">
71
+ {%- comment -%}
72
+ Assign default Bootstrap grid classes to content and aside sections.
73
+ This allows for responsive layout with content taking 8 columns and aside taking 4 columns on large screens.
74
+ {%- endcomment -%}
75
+ {% assign content_class = "col-lg-8 pb-5" %}
76
+ {% assign aside_class = "col-lg-4 pb-5" %}
77
+
78
+ {%- comment -%}
79
+ If 'navigation-left' is enabled in site config, swap the order of content and aside on large screens
80
+ by appending 'order-lg-1' and 'order-lg-2' classes respectively.
81
+ This enables flexible layout positioning without changing the HTML structure.
82
+ {%- endcomment -%}
83
+ {% if site.navigation-left %}
84
+ {% assign content_class = content_class | append: " order-lg-2" %}
85
+ {% assign aside_class = aside_class | append: " order-lg-1" %}
86
+ {% endif %}
87
+
88
+
89
+ {%- comment -%}
90
+ Renders main content and aside sections.
91
+ 'content' holds page-specific data and is placed first, so it appears before the aside on small devices.
92
+ The aside contains components like top section, navigation, and info.
93
+ {%- endcomment -%}
94
+ <div class="{{ content_class }}">
72
95
  {{ content }}
73
96
  </div>
74
-
75
- <div class="col-lg-4 pb-5">
97
+ <div class="{{ aside_class }}">
76
98
  {% include aside_top.html %}
77
99
  {% include aside_navigation.html %}
78
100
  {% include aside_info.html %}
data/_sass/adoc-code.scss CHANGED
@@ -39,24 +39,24 @@
39
39
  * Ensure that code annotation symbols are not selected along with the code.
40
40
  */
41
41
  i.conum, i.conum + b {
42
- user-select: none;
42
+ user-select: none;
43
43
  }
44
44
 
45
45
  i.conum + b {
46
- display: none; // Hides the <b> element
46
+ display: none; // Hides the <b> element
47
47
  }
48
48
 
49
49
  i.conum::after {
50
- content: attr(data-value); // Displays the value of data-value in the <i> element
51
- font-weight: bold; // Optional: for bold styling if desired
50
+ content: attr(data-value); // Displays the value of data-value in the <i> element
51
+ font-weight: bold; // Optional: for bold styling if desired
52
52
 
53
- display: inline-block; // Enables circular styling
54
- background-color: #f0f0f0; // Light gray background
55
- border: 1px solid #555; // Thin dark gray border
56
- border-radius: 50%; // Rounds the element into a circle
57
- padding: 2px 6px; // Adjusts spacing for a circular shape
58
- text-align: center; // Centers the text in the circle
59
- line-height: 1; // Ensures the character is vertically centered
53
+ display: inline-block; // Enables circular styling
54
+ background-color: #f0f0f0; // Light gray background
55
+ border: 1px solid #555; // Thin dark gray border
56
+ border-radius: 50%; // Rounds the element into a circle
57
+ padding: 2px 6px; // Adjusts spacing for a circular shape
58
+ text-align: center; // Centers the text in the circle
59
+ line-height: 1; // Ensures the character is vertically centered
60
60
  margin: 0 .5em;
61
61
  }
62
62
 
@@ -15,16 +15,16 @@ b.button {
15
15
  * Styles for the output of the AsciiDoc command `kbd`.
16
16
  */
17
17
  .keyseq kbd {
18
- display: inline-block;
19
- padding: 0.42em 0.71em;
20
- margin: 0 0.2em;
21
- background: #f5f5f5;
22
- color: #000;
23
- font: 600 0.85em/0.85 monospace;
24
- letter-spacing: .05em;
25
- white-space: nowrap;
26
- border: 1px solid #bbb;
27
- border-radius: .1em;
28
- box-shadow: 2px 2px 0 #888;
18
+ display: inline-block;
19
+ padding: 0.42em 0.71em;
20
+ margin: 0 0.2em;
21
+ background: #f5f5f5;
22
+ color: #000;
23
+ font: 600 0.85em/0.85 monospace;
24
+ letter-spacing: .05em;
25
+ white-space: nowrap;
26
+ border: 1px solid #bbb;
27
+ border-radius: .1em;
28
+ box-shadow: 2px 2px 0 #888;
29
29
  }
30
30
 
@@ -6,10 +6,10 @@ li {
6
6
  }
7
7
 
8
8
  ul, ol {
9
- padding-left: 1.5em;
9
+ padding-left: 1.5em;
10
10
 
11
- ul, ol {
12
- padding-left: 1em;
13
- }
11
+ ul, ol {
12
+ padding-left: 1em;
13
+ }
14
14
  }
15
15
 
@@ -0,0 +1,19 @@
1
+ div.sidebarblock {
2
+ margin: 1em 0;
3
+ padding: 0.5em;
4
+ border: 1px solid #ccc;
5
+ border-radius: 13px;
6
+ background-color: lightgoldenrodyellow;
7
+
8
+ > .content {
9
+ padding: 0 0.5em;
10
+
11
+ > .title {
12
+ margin: 0 0 0.5em 0;
13
+ font-weight: bold;
14
+ font-size: 1.3em;
15
+ text-align: center;
16
+ border-bottom: 1px solid #ccc;
17
+ }
18
+ }
19
+ }
data/_sass/adoc-toc.scss CHANGED
@@ -24,9 +24,9 @@ ul.sectlevel2,
24
24
  ul.sectlevel3,
25
25
  ul.sectlevel4,
26
26
  ul.sectlevel5 {
27
- list-style-type: none;
28
- padding-left: 1.3em;
29
- margin: 4px 0;
27
+ list-style-type: none;
28
+ padding-left: 1.3em;
29
+ margin: 4px 0;
30
30
  }
31
31
 
32
32
  li {
data/_sass/glossary.scss CHANGED
@@ -61,8 +61,8 @@ div.glossary-index {
61
61
  h2.glossary {
62
62
 
63
63
  display: flex;
64
- justify-content: space-between;
65
- align-items: baseline;
64
+ justify-content: space-between;
65
+ align-items: baseline;
66
66
  font-weight: bold;
67
67
 
68
68
  border-bottom: 2px dotted #ccc;
data/_sass/postlists.scss CHANGED
@@ -3,45 +3,45 @@
3
3
  */
4
4
 
5
5
  ul.post-list-short {
6
- margin-left: 0;
6
+ margin-left: 0;
7
7
  list-style-type: "⇒ ";
8
8
  }
9
9
 
10
10
  ul.post-list-long {
11
11
 
12
- list-style: none;
13
- padding: 0;
14
- margin: 0;
12
+ list-style: none;
13
+ padding: 0;
14
+ margin: 0;
15
15
 
16
- li {
17
- margin-bottom: 20px;
16
+ li {
17
+ margin-bottom: 20px;
18
18
 
19
- h2 {
20
- margin-left: .25em;
19
+ h2 {
20
+ margin-left: .25em;
21
21
  font-size: 1.7em;
22
- }
22
+ }
23
23
 
24
24
  p.summary {
25
25
  margin-bottom: 1.5em;
26
26
  }
27
27
 
28
- div {
29
- position: relative;
30
- margin-left: 3em;
28
+ div {
29
+ position: relative;
30
+ margin-left: 3em;
31
31
  padding: .5em 0;
32
32
 
33
- // Blurred bar on the left side of the div
34
- &::before {
35
- content: '';
36
- position: absolute;
37
- left: -2em;
38
- top: 0;
39
- bottom: 0;
40
- width: 1em;
41
- background-color: rgba(0, 0, 111, 0.1);
42
- filter: blur(3px);
43
- border-radius: 5px;
44
- }
45
- }
46
- }
33
+ // Blurred bar on the left side of the div
34
+ &::before {
35
+ content: '';
36
+ position: absolute;
37
+ left: -2em;
38
+ top: 0;
39
+ bottom: 0;
40
+ width: 1em;
41
+ background-color: rgba(0, 0, 111, 0.1);
42
+ filter: blur(3px);
43
+ border-radius: 5px;
44
+ }
45
+ }
46
+ }
47
47
  }
data/assets/css/main.scss CHANGED
@@ -33,6 +33,7 @@
33
33
  */
34
34
  @use "adoc";
35
35
  @use "adoc-admonition";
36
+ @use "adoc-sidebarblock";
36
37
  @use "adoc-tables";
37
38
  @use "adoc-lists";
38
39
  @use "adoc-quote";
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module Endless
3
- VERSION = '0.19.6'
3
+ VERSION = '0.21.0'
4
4
  end
5
5
  end
@@ -234,6 +234,34 @@ Code for the *block* command (here for a NOTE):
234
234
 
235
235
 
236
236
 
237
+ [[sidebarblock]]
238
+ == Sidebar/Aside blocks
239
+
240
+ .Excursus: Sidebar block with a code example
241
+ ****
242
+ Sidebars are used to visually separate auxiliary bits of content
243
+ that supplement the main text.
244
+ They typically contain more information than a simple admonition block.
245
+
246
+ TIP: They can contain any type of content.
247
+
248
+ // The standard sidebar block delimiter (****) cannot be used directly inside a code block, and escaping it does not work either.
249
+ // As a workaround, I defined a custom attribute "block-delimiter" and substituted it into the code block below.
250
+ :block-delimiter: ****
251
+
252
+ .Source code you can use to create a sidebar block. The block-delimiter is `\****`.
253
+ [source, asciidoc, subs="attributes"]
254
+ ----
255
+ .Title of the sidebar block
256
+ {block-delimiter}
257
+ Content of the sidebar block.
258
+ {block-delimiter}
259
+ ----
260
+
261
+ ****
262
+
263
+
264
+
237
265
 
238
266
 
239
267
  == Tables
@@ -315,7 +343,6 @@ The result is:
315
343
 
316
344
 
317
345
 
318
-
319
346
  == Images
320
347
 
321
348
  // AsciiDoc commands are not stripped/processed when used within `alt=""`.
@@ -541,12 +568,55 @@ This makes them *ideal for automated workflows* and consistent documentation acr
541
568
  Asciidoctor Diagram supports a https://docs.asciidoctor.org/diagram-extension/latest/[wide range of text-based diagram types]
542
569
  making it a versatile choice for creating diagrams directly within documentation.
543
570
 
571
+ The Docker image provided by jekyll-theme-endless currently ships with the software preinstalled to support the following diagram types:
572
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/a2s/[ASCIIToSVG],
573
+ // BlockDiag (
574
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/actdiag/[ActDiag],
575
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/blockdiag/[BlockDiag],
576
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/nwdiag/[NwDiag / RackDiag / PacketDiag],
577
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/seqdiag/[SeqDiag]
578
+ // ),
579
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/bytefield/[Bytefield-SVG],
580
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/dbml/[DBML],
581
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/ditaa/[Ditaa],
582
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/dpic/[Dpic],
583
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/erd/[Erd],
584
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/gnuplot/[Gnuplot],
585
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/graphviz/[Graphviz],
586
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/lilypond/[LilyPond],
587
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/mermaid/[Mermaid],
588
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/msc/[MscGen],
589
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/nomnoml/[Nomnoml],
590
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/penrose/[Penrose],
591
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/pikchr/[Pikchr],
592
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/pintora/[Pintora],
593
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/plantuml/[PlantUML],
594
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/shaape/[Shaape],
595
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/smcat/[State Machine Cat],
596
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/structurizr/[Structurizr],
597
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/svgbob/[SvgBob],
598
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/symbolator/[Symbolator],
599
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/syntrax/[Syntrax / JSyntrax],
600
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/umlet/[UMLet],
601
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/vega/[Vega / Vega-Lite],
602
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/wavedrom/[WaveDrom],
603
+ //
604
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/barcode/[Barcodes and QR codes],
605
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/bpmn/[BPMN],
606
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/d2/[D2],
607
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/diagrams/[Diagrams],
608
+ // https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/meme/[Meme],
609
+ https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/tikz/[TikZ].
610
+
611
+
612
+
544
613
 
545
614
 
546
615
  === Ditaa
547
616
 
548
617
  Ideal for converting ASCII art into diagrams, especially useful for quick sketches and block diagrams.
549
618
 
619
+
550
620
  .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.
551
621
  [ditaa,, svg]
552
622
  ....
@@ -592,68 +662,88 @@ This is a unique feature of Ditaa.
592
662
 
593
663
 
594
664
 
595
- === PlantUML
596
665
 
597
- Great for creating UML diagrams like class diagrams, sequence diagrams, and activity diagrams.
598
666
 
599
- .Example of a class diagram in PlantUML, depicting a hierarchy where `DiagramBlock` and `BlockProcessor` classes are related, with `DiagramBlock` having subclasses `DitaaBlock` and `PlantUmlBlock`.
600
- [plantuml, , svg]
667
+ [[dpic]]
668
+ === Dpic
669
+ Dpic is an implementation of the https://en.wikipedia.org/wiki/PIC_(markup_language)[Pic-DSL] (Pic Domain-Specific Language) and is especially well-suited for generating precise diagrams, graphs, and technical illustrations directly from text-based descriptions.
670
+
671
+ .This diagram demonstrates a polar coordinate system rendered with the Pic graphics language.
672
+ [dpic,, svg]
601
673
  ....
602
- class BlockProcessor
603
- class DiagramBlock
604
- class DitaaBlock
605
- class PlantUmlBlock
674
+ # Polar coordinate system with variables for better maintainability
675
+ # Degrees-to-radians conversion factor (π/180)
676
+ dtor = atan2(0,-1)/180
606
677
 
607
- BlockProcessor <|-- DiagramBlock
608
- DiagramBlock <|-- DitaaBlock
609
- DiagramBlock <|-- PlantUmlBlock
678
+ # Axis length (10% longer than unit circle radius)
679
+ axis_len = 1 + 0.2
680
+
681
+ # Scaling factor for radial lines and axes
682
+ sf = 1.5
683
+
684
+ # Concentric circles
685
+ circle at (0,0) radius sf*1.0 colored "lightblue"
686
+ circle at (0,0) radius sf*0.5
687
+
688
+ # Radial lines (every 5 degrees)
689
+ for d = 0 to 360 by 5 do {
690
+ # Radial line length (scaled by sf)
691
+ rf = d / 360 * sf
692
+ line from (0,0) to (rf*cos(d*dtor), rf*sin(d*dtor))
693
+ }
694
+
695
+ # "X"-axis (scaled by sf)
696
+ line from (-axis_len*sf, 0) to (axis_len*sf, 0)
697
+
698
+ # "Y"-axis (scaled by sf)
699
+ line from (0, -axis_len*sf) to (0, axis_len*sf)
700
+
701
+ # Axis labels
702
+ "0°" at (axis_len*sf - 0.1, -0.2)
703
+ "90°" at (0.2, axis_len*sf - 0.1)
704
+ "180°" at (-axis_len*sf + 0.2, -0.2)
705
+ "270°" at (0.2, -axis_len*sf + 0.1)
706
+ ....
707
+
708
+
709
+ .This diagram illustrates the 'Magic Triangle of Cost, Time and Quality' created with simple pic code. Lines between the circles are colored and habe a different value for the `thickness`.
710
+ [dpic,, svg]
711
+ ....
712
+ circle rad 0.35 "quality"
713
+ circle rad 0.35 "cost" at 1st circle - (0.7, 1.15)
714
+ circle rad 0.35 "time" at 1st circle + (0.7, -1.15)
715
+
716
+ line color "red" thickness 3.1 from 1st circle to 2nd circle chop 0.35
717
+ line color "blue" thickness 6.2 from 2nd circle to 3rd circle chop 0.35
718
+ line color "green" thickness 9.3 from 3rd circle to 1st circle chop 0.35
719
+ ....
720
+
721
+
722
+
723
+
724
+
725
+ [[gnuplot]]
726
+ === Gnuplot
727
+
728
+ Gnuplot is a powerful plotting utility that allows users to create a wide variety of 2D and 3D plots from data and mathematical functions.
729
+ This makes it ideal for visualizing scientific data, mathematical functions, and statistical information.
730
+
731
+ .Example of a simple parabola plotted using Gnuplot, demonstrating the function y = x² over the range from -10 to 10, with labeled axes and a title.
732
+ [gnuplot,, svg]
733
+ ....
734
+ set xlabel 'x'
735
+ set ylabel 'y'
736
+ set title '{/Arial:BoldItalic Simple Parabola: y = x²}' font ',17'
737
+ set grid
738
+
739
+ # Define the function
740
+ f(x) = x**2
741
+
742
+ # Plot the function in the range from -10 to 10
743
+ plot f(x) with lines linewidth 2 linecolor rgb 'blue' title 'y = x²'
610
744
  ....
611
745
 
612
- .Example of a sequence diagram in PlantUML, showing an interaction where Bob greets Alice with 'hello,' and Alice responds with 'hi.'
613
- [plantuml,, format="svg", id="myDiagram", width="200px"]
614
- ----
615
- Bob->Alice : hello
616
- Alice --> Bob : hi
617
- ----
618
746
 
619
- [[mindmap-example]]
620
- .Example of a mind map illustrating concepts in the field of Artificial Intelligence (AI) and Machine Learning (ML).
621
- [plantuml, format=svg]
622
- ----
623
- @startmindmap
624
- * Artificial Intelligence (AI)
625
- ** Symbolic AI
626
- *** Logic / Knowledge Representation
627
- *** Expert Systems
628
- ** Machine Learning (ML)
629
- *** Supervised Learning
630
- **** Classification
631
- ***** Decision Trees
632
- ***** Neural Networks
633
- ***** Support Vector Machines (SVM)
634
- **** Regression
635
- ***** Linear Regression
636
- ***** Logistic Regression
637
- *** Unsupervised Learning
638
- **** Clustering
639
- ***** K-Means
640
- ***** DBSCAN
641
- **** Dimensionality Reduction
642
- ***** PCA (Principal Component Analysis)
643
- ***** t-SNE / UMAP
644
- *** Reinforcement Learning
645
- **** Q-Learning
646
- **** Deep Q-Networks (DQN)
647
- **** Policy Gradient Methods
648
- *** Deep Learning
649
- **** CNN (Convolutional Neural Networks)
650
- **** RNN (Recurrent Neural Networks)
651
- **** LSTM / GRU
652
- **** Transformer
653
- ***** BERT
654
- ***** GPT
655
- @endmindmap
656
- ----
657
747
 
658
748
 
659
749
 
@@ -661,6 +751,7 @@ Alice --> Bob : hi
661
751
 
662
752
  Useful for directed and undirected graphs, including flowcharts, state diagrams, and dependency graphs.
663
753
 
754
+
664
755
  .Example of a directed graph in Graphviz, illustrating nodes with connections, including a self-loop on node b and cyclical paths between nodes.
665
756
  [graphviz,,svg]
666
757
  ....
@@ -676,11 +767,31 @@ digraph g {
676
767
 
677
768
 
678
769
 
770
+
771
+
772
+ === Lilypond
773
+
774
+ 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.
775
+
776
+
777
+ // The output format SVG is not supported by LilyPond.
778
+ .Example of a melody in LilyPond notation, demonstrating a simple sequence of notes with pitches relative to the starting note c'.
779
+ [lilypond]
780
+ ....
781
+ \version "2.22.1"
782
+ \relative c' { f d f a d f e d cis a cis e a g f e }
783
+ ....
784
+
785
+
786
+
787
+
788
+
679
789
  [[mermaid]]
680
790
  === Mermaid
681
791
 
682
792
  https://mermaid.js.org/[mermaid.js] is ideal for creating flowcharts, sequence diagrams, Gantt charts, and more.
683
793
 
794
+
684
795
  .Example of a Sankey diagram that shows the distribution of construction costs across different trades, as well as the material and labor costs.
685
796
  [mermaid, format=svg, background="FFFF0000"]
686
797
  ----
@@ -702,6 +813,7 @@ Tiler,Material costs,10000
702
813
  Tiler,Labor costs,10000
703
814
  ----
704
815
 
816
+
705
817
  .Example of a flowchart in Mermaid, demonstrating a simple decision tree with two options.
706
818
  [mermaid, format=svg]
707
819
  ----
@@ -713,6 +825,7 @@ graph TD;
713
825
  D --> E;
714
826
  ----
715
827
 
828
+
716
829
  .Example of a pie chart in Mermaid, showing the popularity of different types of cuisine worldwide. Additionally, the use of the background attribute in Mermaid is demonstrated, with the color set to FFEEDD.
717
830
  // This example also demonstrates how to:
718
831
  // - Use the general "format" attribute of Asciidoctor Diagram.
@@ -736,16 +849,377 @@ pie title Popular Cuisines Around the World
736
849
 
737
850
 
738
851
 
739
- === Lilypond
852
+ === MscGen
740
853
 
741
- 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.
854
+ https://www.mcternan.me.uk/mscgen/[MscGen] is a tool for creating message sequence charts (*MSC*s), ideal for visualizing interactions between entities (Systems, Actors, etc.) over time.
742
855
 
743
- // The output format SVG is not supported by LilyPond.
744
- .Example of a melody in LilyPond notation, demonstrating a simple sequence of notes with pitches relative to the starting note c'.
745
- [lilypond]
856
+ [msc,, svg]
746
857
  ....
747
- \version "2.22.1"
748
- \relative c' { f d f a d f e d cis a cis e a g f e }
858
+ msc {
859
+
860
+ # The entities
861
+ A, B, C, D;
862
+
863
+ # Small gap before the boxes
864
+ |||;
865
+
866
+ # Next four on same line due to ','
867
+ A box A [label="box"],
868
+ B rbox B [label="rbox"],
869
+ C abox C [label="abox"],
870
+ D note D [label="note"];
871
+
872
+ # Small gap between the examples
873
+ |||;
874
+
875
+ # Example of the boxes with filled backgrounds
876
+ A abox B [label="abox from A to B", textbgcolour="#ff7f7f"];
877
+ B rbox C [label="rbox from B to C", textbgcolour="#7fff7f"];
878
+ C note D [label="note from C to D", textbgcolour="#7f7fff"];
879
+
880
+ # Small gap between the examples
881
+ |||;
882
+
883
+ # Example with arrows
884
+ --- [label = "Examples with arrows:"];
885
+ A->B [ label = "Message from A to B" ] ;
886
+ B=>C [ label = "Function call from B to C"];
887
+ C=>C [ label = "Loop" ];
888
+
889
+ }
890
+ ....
891
+
892
+
893
+
894
+
895
+
896
+ [[nomnoml]]
897
+ === Nomnoml
898
+
899
+ https://nomnoml.com/[Nomnoml] is a simple and intuitive tool for creating UML diagrams.
900
+
901
+ .A flowchart in Nomnoml, illustrating a decision-making process for troubleshooting a non-working lamp, including states, decisions, and actions.
902
+ [nomnoml,, svg]
903
+ ....
904
+ #direction: down
905
+ [<start>start] -> [<state>Lamp doesn't work] -> [<choice>Lamp plugged in?] yes -> [<choice>Bulb burned out?] no -> [<state>Repair lamp] -> [<end>end]
906
+ [Lamp plugged in?] no ->[<state>Plug in lamp]
907
+ [Bulb burned out?] yes ->[<state>Replace bulb]
908
+ ....
909
+
910
+
911
+
912
+
913
+
914
+ [[pintora]]
915
+ === Pintora
916
+
917
+ https://pintorajs.vercel.app/docs/intro/[Pintora] is a versatile diagramming tool that supports various types of diagrams, including activity diagrams, sequence diagrams, and class diagrams.
918
+
919
+
920
+ .Example of a mind map created with Pintora, illustrating the categorization of UML diagrams into behavior and structural diagrams, along with specific types under each category. The diagram uses a left-to-right layout and custom colors for different levels of nodes.
921
+ [pintora,, svg]
922
+ ....
923
+ mindmap
924
+ @param layoutDirection LR
925
+ @param {
926
+ l1NodeBgColor #287a5c
927
+ l1NodeTextColor #fff
928
+ l2NodeBgColor #21966b
929
+ l2NodeTextColor #fff
930
+ nodeBgColor #62b999
931
+ textColor #fff
932
+ }
933
+ + UML Diagrams
934
+ ++ Behavior Diagrams
935
+ +++ Activity diagram
936
+ +++ Communication diagram
937
+ +++ Interaction overview diagram
938
+ +++ Sequence diagram
939
+ +++ State diagram
940
+ +++ Timing diagram
941
+ +++ Use case diagram
942
+ ++ Structural Diagrams
943
+ +++ Class Diagram
944
+ +++ Component Diagram
945
+ +++ Composite structure diagram
946
+ +++ Deployment diagram
947
+ +++ Object diagram
948
+ +++ Package diagram
949
+ +++ Profile diagram
950
+ ....
951
+
952
+
953
+ .Example of a Gantt chart created with Pintora, outlining a software project plan with various phases, tasks, and dependencies. The chart includes parameters for font color, bar gap, bar height, and grid line padding, as well as markers for the project start date and current date.
954
+ [pintora,, svg]
955
+ ....
956
+ gantt
957
+ @param {
958
+ fontColor blue
959
+ barGap 11
960
+ barHeight 31
961
+ gridLineStartPadding 20
962
+ }
963
+
964
+ title Software Project — Project Plan
965
+ dateFormat YYYY-MM-DD
966
+ axisFormat MM-DD
967
+ axisInterval 1M
968
+
969
+ section Project Preparation
970
+ "Gather Requirements" : p1, 2025-09-01, 14d
971
+ "Feasibility Analysis" : p2, after p1, 10d
972
+ "Project Planning & Kick-off" : p3, after p2, 7d
973
+
974
+ section Architecture & Design
975
+ "Design System Architecture" : d1, after p3, 20d
976
+ "UI/UX Design" : d2, after p3, 14d
977
+ "API Interfaces" : d4, after d2, 20d
978
+ "Define Technology Stack" : d3, after d2, 7d
979
+
980
+ section Implementation
981
+ "Backend Development" : i1, after d3, 40d
982
+ "Frontend Development" : i2, after d3, 35d
983
+ "Frontend-Backend Integration" : i4, after i2, 15d
984
+
985
+ section Quality Assurance
986
+ "Documentation of QA Strategy" : q0, after d1, 20d
987
+ "Unit Tests & Code Review" : q1, after q0, 30d
988
+ "Integration Tests" : q2, after i4, 14d
989
+ "System Tests" : q3, after q2, 14d
990
+ "User Acceptance Test (UAT)" : q4, after q3, 10d
991
+
992
+ section Deployment & Closure
993
+ "Training Deployment" : r1, after q4, 5d
994
+ "Training & Documentation" : r2, after q4, 7d
995
+ "Production Deployment" : r4, after r1, 5d
996
+ "Project Closure & Review" : r3, after r4, 3d
997
+
998
+ %% Mark project start
999
+ markDate 2025-09-01
1000
+ %% Mark current date
1001
+ markDate 2025-09-17
1002
+ ....
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+ [[plantuml]]
1009
+ === PlantUML
1010
+
1011
+ Great for creating UML diagrams like class diagrams, sequence diagrams, and activity diagrams.
1012
+
1013
+
1014
+ .Example of a class diagram in PlantUML, depicting a hierarchy where `DiagramBlock` and `BlockProcessor` classes are related, with `DiagramBlock` having subclasses `DitaaBlock` and `PlantUmlBlock`.
1015
+ [plantuml, , svg]
1016
+ ....
1017
+ class BlockProcessor
1018
+ class DiagramBlock
1019
+ class DitaaBlock
1020
+ class PlantUmlBlock
1021
+
1022
+ BlockProcessor <|-- DiagramBlock
1023
+ DiagramBlock <|-- DitaaBlock
1024
+ DiagramBlock <|-- PlantUmlBlock
1025
+ ....
1026
+
1027
+
1028
+ .Example of a sequence diagram in PlantUML, showing an interaction where Bob greets Alice with 'hello,' and Alice responds with 'hi.'
1029
+ [plantuml,, format="svg", id="myDiagram", width="200px"]
1030
+ ----
1031
+ Bob->Alice : hello
1032
+ Alice --> Bob : hi
1033
+ ----
1034
+
1035
+
1036
+ [[mindmap-example]]
1037
+ .Example of a mind map illustrating concepts in the field of Artificial Intelligence (AI) and Machine Learning (ML).
1038
+ [plantuml, format=svg]
1039
+ ----
1040
+ @startmindmap
1041
+ * Artificial Intelligence (AI)
1042
+ ** Symbolic AI
1043
+ *** Logic / Knowledge Representation
1044
+ *** Expert Systems
1045
+ ** Machine Learning (ML)
1046
+ *** Supervised Learning
1047
+ **** Classification
1048
+ ***** Decision Trees
1049
+ ***** Neural Networks
1050
+ ***** Support Vector Machines (SVM)
1051
+ **** Regression
1052
+ ***** Linear Regression
1053
+ ***** Logistic Regression
1054
+ *** Unsupervised Learning
1055
+ **** Clustering
1056
+ ***** K-Means
1057
+ ***** DBSCAN
1058
+ **** Dimensionality Reduction
1059
+ ***** PCA (Principal Component Analysis)
1060
+ ***** t-SNE / UMAP
1061
+ *** Reinforcement Learning
1062
+ **** Q-Learning
1063
+ **** Deep Q-Networks (DQN)
1064
+ **** Policy Gradient Methods
1065
+ *** Deep Learning
1066
+ **** CNN (Convolutional Neural Networks)
1067
+ **** RNN (Recurrent Neural Networks)
1068
+ **** LSTM / GRU
1069
+ **** Transformer
1070
+ ***** BERT
1071
+ ***** GPT
1072
+ @endmindmap
1073
+ ----
1074
+
1075
+
1076
+
1077
+
1078
+
1079
+ [[smcat]]
1080
+ === State Machine Cat
1081
+
1082
+ https://github.com/sverweij/state-machine-cat[State Machine Cat] (smcat) is a tool for creating state machine diagrams.
1083
+
1084
+ .Example footnote:[Source: https://github.com/sverweij/state-machine-cat?tab=readme-ov-file#colors-and-line-width[Example for colors and line widths in the documentation of State Machine Cat on GitHub]] of a state machine diagram created with State Machine Cat, illustrating the behavior of a cat. The diagram demonstrates the use of colors and different line widths to enhance the visual representation of states and transitions. The diagram is laid out from left to right using the "circo" engine.
1085
+ [smcat,, svg, direction="left-right", engine="circo"]
1086
+ ----
1087
+ sleep [color="blue" active],
1088
+ eat [color="#008800"],
1089
+ meow [color="red"],
1090
+ play [color="purple"];
1091
+
1092
+ sleep -> meow [color="red"] : wake up;
1093
+ meow -> meow [color="red"] : no response from human;
1094
+ meow -> eat [color="#008800"] : human gives food;
1095
+ meow -> play [color="purple"] : human gives toy;
1096
+ play -> sleep [color="blue"] : tired or bored;
1097
+ eat -> sleep [color="blue" width=3.5] : belly full;
1098
+ ----
1099
+
1100
+
1101
+
1102
+
1103
+
1104
+ [[tikz]]
1105
+ === TikZ
1106
+ 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.
1107
+
1108
+
1109
+ .Example of a simple diagram created with TikZ, demonstrating the drawing of a grid, coordinates, and arrows between points. The diagram includes a red arrow to highlight a specific direction. The diagram is scaled by a factor of 2.3 and uses ultra thick lines for better visibility.
1110
+ [tikz]
1111
+ ....
1112
+ \begin{tikzpicture}[scale=2.3, ultra thick]
1113
+ \draw [help lines] (0,0) grid (3,3);
1114
+ \coordinate (a) at (1,0);
1115
+ \coordinate (b) at (3,2);
1116
+
1117
+ \draw[->] (a) -- (b);
1118
+ \coordinate (c) at (2,2);
1119
+ \draw[->,red] (a) -- (c);
1120
+
1121
+ \end{tikzpicture}
1122
+ ....
1123
+
1124
+
1125
+ .Example footnote:[Source: https://docs.asciidoctor.org/diagram-extension/latest/diagram_types/tikz/#example[Example for a TikZ diagram taken from the AsciiDoctor-Diagram documentation]] of a more complex 3D diagram created with TikZ, illustrating a tetrahedron inscribed within a parallelepiped. The diagram uses perspective angles and colors to enhance the visual representation of the shapes and their vertices.
1126
+ [tikz]
1127
+ ....
1128
+ \begin{tikzpicture}[font=\LARGE]
1129
+
1130
+ % Figure parameters (tta and k needs to have the same sign)
1131
+ % They can be modified at will
1132
+ \def \tta{ -10.00000000000000 } % Defines the first angle of perspective
1133
+ \def \k{ -3.00000000000000 } % Factor for second angle of perspective
1134
+ \def \l{ 6.00000000000000 } % Defines the width of the parallelepiped
1135
+ \def \d{ 5.00000000000000 } % Defines the depth of the parallelepiped
1136
+ \def \h{ 7.00000000000000 } % Defines the heigth of the parallelepiped
1137
+
1138
+ % The vertices A,B,C,D define the reference plan (vertical)
1139
+ \coordinate (A) at (0,0);
1140
+ \coordinate (B) at ({-\h*sin(\tta)},{\h*cos(\tta)});
1141
+ \coordinate (C) at ({-\h*sin(\tta)-\d*sin(\k*\tta)},
1142
+ {\h*cos(\tta)+\d*cos(\k*\tta)});
1143
+ \coordinate (D) at ({-\d*sin(\k*\tta)},{\d*cos(\k*\tta)});
1144
+
1145
+ % The vertices Ap,Bp,Cp,Dp define a plane translated from the
1146
+ % reference plane by the width of the parallelepiped
1147
+ \coordinate (Ap) at (\l,0);
1148
+ \coordinate (Bp) at ({\l-\h*sin(\tta)},{\h*cos(\tta)});
1149
+ \coordinate (Cp) at ({\l-\h*sin(\tta)-\d*sin(\k*\tta)},
1150
+ {\h*cos(\tta)+\d*cos(\k*\tta)});
1151
+ \coordinate (Dp) at ({\l-\d*sin(\k*\tta)},{\d*cos(\k*\tta)});
1152
+
1153
+ % Marking the vertices of the tetrahedron (red)
1154
+ % and of the parallelepiped (black)
1155
+ \fill[black] (A) circle [radius=2pt];
1156
+ \fill[red] (B) circle [radius=2pt];
1157
+ \fill[black] (C) circle [radius=2pt];
1158
+ \fill[red] (D) circle [radius=2pt];
1159
+ \fill[red] (Ap) circle [radius=2pt];
1160
+ \fill[black] (Bp) circle [radius=2pt];
1161
+ \fill[red] (Cp) circle [radius=2pt];
1162
+ \fill[black] (Dp) circle [radius=2pt];
1163
+
1164
+ % painting first the three visible faces of the tetrahedron
1165
+ \filldraw[draw=red,bottom color=red!50!black, top color=cyan!50]
1166
+ (B) -- (Cp) -- (D);
1167
+ \filldraw[draw=red,bottom color=red!50!black, top color=cyan!50]
1168
+ (B) -- (D) -- (Ap);
1169
+ \filldraw[draw=red,bottom color=red!50!black, top color=cyan!50]
1170
+ (B) -- (Cp) -- (Ap);
1171
+
1172
+ % Draw the edges of the tetrahedron
1173
+ \draw[red,-,very thick] (Ap) -- (D)
1174
+ (Ap) -- (B)
1175
+ (Ap) -- (Cp)
1176
+ (B) -- (D)
1177
+ (Cp) -- (D)
1178
+ (B) -- (Cp);
1179
+
1180
+ % Draw the visible edges of the parallelepiped
1181
+ \draw [-,thin] (B) -- (A)
1182
+ (Ap) -- (Bp)
1183
+ (B) -- (C)
1184
+ (D) -- (C)
1185
+ (A) -- (D)
1186
+ (Ap) -- (A)
1187
+ (Cp) -- (C)
1188
+ (Bp) -- (B)
1189
+ (Bp) -- (Cp);
1190
+
1191
+ % Draw the hidden edges of the parallelepiped
1192
+ \draw [gray,-,thin] (Dp) -- (Cp);
1193
+ (Dp) -- (D);
1194
+ (Ap) -- (Dp);
1195
+
1196
+ % Name the vertices (the names are not consistent
1197
+ % with the node name, but it makes the programming easier)
1198
+ \draw (Ap) node [right] {$A$}
1199
+ (Bp) node [right, gray] {$F$}
1200
+ (Cp) node [right] {$D$}
1201
+ (C) node [left,gray] {$E$}
1202
+ (D) node [left] {$B$}
1203
+ (A) node [left,gray] {$G$}
1204
+ (B) node [above left=+5pt] {$C$}
1205
+ (Dp) node [right,gray] {$H$};
1206
+
1207
+ % Drawing again vertex $C$, node (B) because it disappeared behind the edges.
1208
+ % Drawing again vertex $H$, node (Dp) because it disappeared behind the edges.
1209
+ \fill[red] (B) circle [radius=2pt];
1210
+ \fill[gray] (Dp) circle [radius=2pt];
1211
+
1212
+ % From the reference and this example one can easily draw
1213
+ % the twin tetrahedron jointly to this one.
1214
+ % Drawing the edges of the twin tetrahedron
1215
+ % switching the p_s: A <-> Ap, etc...
1216
+ \draw[red,-,dashed, thin] (A) -- (Dp)
1217
+ (A) -- (Bp)
1218
+ (A) -- (C)
1219
+ (Bp) -- (Dp)
1220
+ (C) -- (Dp)
1221
+ (Bp) -- (C);
1222
+ \end{tikzpicture}
749
1223
  ....
750
1224
 
751
1225
 
@@ -759,6 +1233,7 @@ For details on how to use the QR code and barcode features, see the https://docs
759
1233
 
760
1234
  ==== Block version of QR Codes (PNG and SVG)
761
1235
 
1236
+
762
1237
  // Barcode block
763
1238
  .QR code in SVG format using a code block and a specified x-dimension (value of `7`).
764
1239
  [qrcode, format="svg", xdim=7]
@@ -766,6 +1241,7 @@ For details on how to use the QR code and barcode features, see the https://docs
766
1241
  This QR code is generated with Asciidoctor Diagram and presented in SVG format using a barcode block.
767
1242
  ....
768
1243
 
1244
+
769
1245
  // Barcode block macro
770
1246
  .QR code in PNG format using a block macro and a specified x-dimension (value of `5`).
771
1247
  qrcode::This QR code is generated with Asciidoctor Diagram and presented in PNG format using the barcode block macro.[format="png", xdim=5]
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.19.6
4
+ version: 0.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Boekhoff
@@ -270,6 +270,7 @@ files:
270
270
  - _sass/adoc-images.scss
271
271
  - _sass/adoc-lists.scss
272
272
  - _sass/adoc-quote.scss
273
+ - _sass/adoc-sidebarblock.scss
273
274
  - _sass/adoc-stem.scss
274
275
  - _sass/adoc-tables.scss
275
276
  - _sass/adoc-text.scss