jekyll-theme-endless 0.20.0 → 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: 83a4d3d3d8a4956babdd236500d9ad6c8adaa08a2e58db2b925743d47c72cfa2
4
- data.tar.gz: ba8e6d3c2dccca9e8e33f976852569e793d1b890a4e831fcbde23f6fbaa350a9
3
+ metadata.gz: da9e8d00d36b95d47ff769418db0639bea2afe705d243e13479950bd71a14f1d
4
+ data.tar.gz: 85b1892b611410592eac1342cab6f7d4e220b1783e77cc2144c5002325bdd90b
5
5
  SHA512:
6
- metadata.gz: a5d90794c1dba9bdcaa7df46d6bf7385c65a5e2552cba9b03839410cc30f3c5a93d80b94fb075458e40d51bbd192c66d5eb26368a0712f0e3e1978a44da74515
7
- data.tar.gz: 858963547a2dc75125453bc79c572a3da42ff763f7c9c41ce96d767676af2e46e0b0c01fe67a33b16c78ee8f16dafe42bb3d1917e2a2f56be3c0bacdfae14e95
6
+ metadata.gz: d8329f8520f988b8bd17eb09dcd60317562a578502dfe718aa36916707727b9d007f245fba0020edfa20879176dad6f3f3f789fafff000a6796ade45934fd9df
7
+ data.tar.gz: 8554d4b79fea958c877dbd9b5ec741d060de7ddf4876fcc00fe618da8b6a5fc0b9afb5964311dd7756b04b64b53606d06c83a809f328946c24466324b04556ba
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module Endless
3
- VERSION = '0.20.0'
3
+ VERSION = '0.21.0'
4
4
  end
5
5
  end
@@ -568,12 +568,55 @@ This makes them *ideal for automated workflows* and consistent documentation acr
568
568
  Asciidoctor Diagram supports a https://docs.asciidoctor.org/diagram-extension/latest/[wide range of text-based diagram types]
569
569
  making it a versatile choice for creating diagrams directly within documentation.
570
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
+
571
613
 
572
614
 
573
615
  === Ditaa
574
616
 
575
617
  Ideal for converting ASCII art into diagrams, especially useful for quick sketches and block diagrams.
576
618
 
619
+
577
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.
578
621
  [ditaa,, svg]
579
622
  ....
@@ -619,68 +662,88 @@ This is a unique feature of Ditaa.
619
662
 
620
663
 
621
664
 
622
- === PlantUML
623
665
 
624
- Great for creating UML diagrams like class diagrams, sequence diagrams, and activity diagrams.
625
666
 
626
- .Example of a class diagram in PlantUML, depicting a hierarchy where `DiagramBlock` and `BlockProcessor` classes are related, with `DiagramBlock` having subclasses `DitaaBlock` and `PlantUmlBlock`.
627
- [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]
628
673
  ....
629
- class BlockProcessor
630
- class DiagramBlock
631
- class DitaaBlock
632
- class PlantUmlBlock
674
+ # Polar coordinate system with variables for better maintainability
675
+ # Degrees-to-radians conversion factor (π/180)
676
+ dtor = atan2(0,-1)/180
633
677
 
634
- BlockProcessor <|-- DiagramBlock
635
- DiagramBlock <|-- DitaaBlock
636
- 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²'
637
744
  ....
638
745
 
639
- .Example of a sequence diagram in PlantUML, showing an interaction where Bob greets Alice with 'hello,' and Alice responds with 'hi.'
640
- [plantuml,, format="svg", id="myDiagram", width="200px"]
641
- ----
642
- Bob->Alice : hello
643
- Alice --> Bob : hi
644
- ----
645
746
 
646
- [[mindmap-example]]
647
- .Example of a mind map illustrating concepts in the field of Artificial Intelligence (AI) and Machine Learning (ML).
648
- [plantuml, format=svg]
649
- ----
650
- @startmindmap
651
- * Artificial Intelligence (AI)
652
- ** Symbolic AI
653
- *** Logic / Knowledge Representation
654
- *** Expert Systems
655
- ** Machine Learning (ML)
656
- *** Supervised Learning
657
- **** Classification
658
- ***** Decision Trees
659
- ***** Neural Networks
660
- ***** Support Vector Machines (SVM)
661
- **** Regression
662
- ***** Linear Regression
663
- ***** Logistic Regression
664
- *** Unsupervised Learning
665
- **** Clustering
666
- ***** K-Means
667
- ***** DBSCAN
668
- **** Dimensionality Reduction
669
- ***** PCA (Principal Component Analysis)
670
- ***** t-SNE / UMAP
671
- *** Reinforcement Learning
672
- **** Q-Learning
673
- **** Deep Q-Networks (DQN)
674
- **** Policy Gradient Methods
675
- *** Deep Learning
676
- **** CNN (Convolutional Neural Networks)
677
- **** RNN (Recurrent Neural Networks)
678
- **** LSTM / GRU
679
- **** Transformer
680
- ***** BERT
681
- ***** GPT
682
- @endmindmap
683
- ----
684
747
 
685
748
 
686
749
 
@@ -688,6 +751,7 @@ Alice --> Bob : hi
688
751
 
689
752
  Useful for directed and undirected graphs, including flowcharts, state diagrams, and dependency graphs.
690
753
 
754
+
691
755
  .Example of a directed graph in Graphviz, illustrating nodes with connections, including a self-loop on node b and cyclical paths between nodes.
692
756
  [graphviz,,svg]
693
757
  ....
@@ -703,11 +767,31 @@ digraph g {
703
767
 
704
768
 
705
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
+
706
789
  [[mermaid]]
707
790
  === Mermaid
708
791
 
709
792
  https://mermaid.js.org/[mermaid.js] is ideal for creating flowcharts, sequence diagrams, Gantt charts, and more.
710
793
 
794
+
711
795
  .Example of a Sankey diagram that shows the distribution of construction costs across different trades, as well as the material and labor costs.
712
796
  [mermaid, format=svg, background="FFFF0000"]
713
797
  ----
@@ -729,6 +813,7 @@ Tiler,Material costs,10000
729
813
  Tiler,Labor costs,10000
730
814
  ----
731
815
 
816
+
732
817
  .Example of a flowchart in Mermaid, demonstrating a simple decision tree with two options.
733
818
  [mermaid, format=svg]
734
819
  ----
@@ -740,6 +825,7 @@ graph TD;
740
825
  D --> E;
741
826
  ----
742
827
 
828
+
743
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.
744
830
  // This example also demonstrates how to:
745
831
  // - Use the general "format" attribute of Asciidoctor Diagram.
@@ -763,16 +849,377 @@ pie title Popular Cuisines Around the World
763
849
 
764
850
 
765
851
 
766
- === Lilypond
852
+ === MscGen
767
853
 
768
- 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.
769
855
 
770
- // The output format SVG is not supported by LilyPond.
771
- .Example of a melody in LilyPond notation, demonstrating a simple sequence of notes with pitches relative to the starting note c'.
772
- [lilypond]
856
+ [msc,, svg]
773
857
  ....
774
- \version "2.22.1"
775
- \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}
776
1223
  ....
777
1224
 
778
1225
 
@@ -786,6 +1233,7 @@ For details on how to use the QR code and barcode features, see the https://docs
786
1233
 
787
1234
  ==== Block version of QR Codes (PNG and SVG)
788
1235
 
1236
+
789
1237
  // Barcode block
790
1238
  .QR code in SVG format using a code block and a specified x-dimension (value of `7`).
791
1239
  [qrcode, format="svg", xdim=7]
@@ -793,6 +1241,7 @@ For details on how to use the QR code and barcode features, see the https://docs
793
1241
  This QR code is generated with Asciidoctor Diagram and presented in SVG format using a barcode block.
794
1242
  ....
795
1243
 
1244
+
796
1245
  // Barcode block macro
797
1246
  .QR code in PNG format using a block macro and a specified x-dimension (value of `5`).
798
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.20.0
4
+ version: 0.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Boekhoff