This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-training.git


The following commit(s) were added to refs/heads/develop by this push:
     new 5d102a9  feat: Added what the archetype generates as a module as demo
5d102a9 is described below

commit 5d102a9e598d8706794a5af1e5686fc667e19307
Author: Christofer Dutz <[email protected]>
AuthorDate: Tue Sep 17 22:18:20 2024 +0200

    feat: Added what the archetype generates as a module as demo
---
 content/Apache/Training/Demo/pom.xml               |  65 +++
 .../src/main/asciidoc/_settings.adoc}              |  46 +-
 .../asciidoc/diagrams/mermaid-flowchart-test.mmd   |   5 +
 .../Training/Demo/src/main/asciidoc/index.adoc     | 619 +++++++++++++++++++++
 .../src/main/asciidoc/subdir/_b.adoc}              |  32 +-
 .../src/main/asciidoc/subdir/_c.adoc}              |  28 +-
 .../Demo/src/main/java/test/StringUtils.java       |  27 +
 .../Demo/src/main/resources/images/toddy.jpg       | Bin 0 -> 459871 bytes
 .../Apache/Training/Demo/src/main/theme/apache.css | 383 +++++++++++++
 content/Apache/Training/pom.xml                    |   1 +
 site/pom.xml                                       |  13 +
 site/src/site/site.xml                             |   1 +
 12 files changed, 1148 insertions(+), 72 deletions(-)

diff --git a/content/Apache/Training/Demo/pom.xml 
b/content/Apache/Training/Demo/pom.xml
new file mode 100644
index 0000000..2d87488
--- /dev/null
+++ b/content/Apache/Training/Demo/pom.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      https://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+--><project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.training</groupId>
+        <artifactId>content-parent-pom</artifactId>
+        <version>1.3.0-SNAPSHOT</version>
+        
<relativePath>../../../../tools/content-parent-pom/pom.xml</relativePath>
+    </parent>
+
+    <groupId>org.apache.training.content</groupId>
+    <artifactId>training-content-apache-training-demo</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>war</packaging>
+
+    <name>Training: Tools: Slide Template: Asciidoc to reveal.js Maven 
test</name>
+    <description>An test project that demonstrates how to integrate convert 
Asciidoc to a reveal.js presentation with the Asciidoctor Maven 
plugin.</description>
+
+    <!-- Make Snapshots of Apache projects available -->
+    <repositories>
+        <repository>
+            <id>apache-snapshots</id>
+            
<url>https://repository.apache.org/content/repositories/snapshots</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
+
+    <!-- Make Snapshots of Apache plugins available -->
+    <pluginRepositories>
+        <pluginRepository>
+            <id>apache-snapshots</id>
+            
<url>https://repository.apache.org/content/repositories/snapshots</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </pluginRepository>
+    </pluginRepositories>
+
+</project>
diff --git a/content/Apache/Training/pom.xml 
b/content/Apache/Training/Demo/src/main/asciidoc/_settings.adoc
similarity index 50%
copy from content/Apache/Training/pom.xml
copy to content/Apache/Training/Demo/src/main/asciidoc/_settings.adoc
index 6f2fc5f..242a08b 100644
--- a/content/Apache/Training/pom.xml
+++ b/content/Apache/Training/Demo/src/main/asciidoc/_settings.adoc
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
+////
 
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -8,7 +7,7 @@
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+      https://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
@@ -16,25 +15,22 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 
--->
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns="http://maven.apache.org/POM/4.0.0";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.training.content</groupId>
-    <artifactId>training-content-apache</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>training-content-apache-training</artifactId>
-  <packaging>pom</packaging>
-
-  <name>Training: Content: Apache: Training</name>
-
-  <modules>
-    <module>Presentations</module>
-  </modules>
-
-</project>
+////
+
+:goto:
+:menu:
+:navigation:
+:status:
+:arrows:
+:revealjs_theme: cc_black
+:revealjs_progress: true
+:revealjs_slidenumber: true
+:pdf-page-size: A4
+:revealjs_center: false
+:revealjs_history: true
+:icons: font
+:imagesdir: images
+:sourcedir: ../java
+:title-slide-background-image: background-dark-orig.jpg
+:idprefix:
+:idseparator: -
diff --git 
a/content/Apache/Training/Demo/src/main/asciidoc/diagrams/mermaid-flowchart-test.mmd
 
b/content/Apache/Training/Demo/src/main/asciidoc/diagrams/mermaid-flowchart-test.mmd
new file mode 100644
index 0000000..d5bf6cb
--- /dev/null
+++ 
b/content/Apache/Training/Demo/src/main/asciidoc/diagrams/mermaid-flowchart-test.mmd
@@ -0,0 +1,5 @@
+graph TD;
+    A-->B;
+    A-->C;
+    B-->D;
+    C-->D;
diff --git a/content/Apache/Training/Demo/src/main/asciidoc/index.adoc 
b/content/Apache/Training/Demo/src/main/asciidoc/index.adoc
new file mode 100644
index 0000000..c921296
--- /dev/null
+++ b/content/Apache/Training/Demo/src/main/asciidoc/index.adoc
@@ -0,0 +1,619 @@
+////
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      https://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+////
+
+include::_settings.adoc[]
+:presenter_name: Some Cool Person
+:presenter_company: Apache Software Foundation
+
+== Example Presentation
+Doc Writer <[email protected]>
+{docdate}
+:revnumber: {project-version}
+:example-caption!:
+
+== Introduction
+
+[%step]
+* This is a presentation for an example project.
+* This project does something.
+* We just haven't decided what that is yet.
+
+== Speaker Notes
+
+Press the `*s*` key to access speaker notes.
+
+[NOTE.speaker]
+--
+You've unlocked the super secret notes area.
+Neat huh?
+--
+
+== Blank screen
+
+You can press `*b*` or `*.*` to blank your current screen.
+
+Hit it again to bring it back.
+
+== Overview
+
+Press the `*esc*` key to get an overview of your slides.
+
+== Attributes
+
+Press the down arrow key to see the next sub-slide.
+
+=== Attributes Part 1
+.Built-in
+asciidoctor-version:: {asciidoctor-version}
+safe-mode-name:: {safe-mode-name}
+docdir:: {docdir}
+docfile:: {docfile}
+imagesdir:: {imagesdir}
+
+=== Attributes Part 2
+.Custom
+project-version:: {project-version}
+sourcedir:: {sourcedir}
+
+== Including documents from subdir
+
+.include::subdir/_b.adoc[]
+
+include::subdir/_b.adoc[]
+
+== Images
+
+[.thumb]
+image::logo-apache.png[scaledwidth=75%]
+
+== Videos
+
+Play videos from Youtube, or locally
+
+video::BKorP55Aqvg[youtube, width=640, height=480]
+
+== Lists
+
+Asciidoctor allows a wide variety of list option.
+
+For details see the documentation starting at: 
http://asciidoctor.org/docs/user-manual/#unordered-lists
+
+Press the down arrow key to see the some examples.
+
+=== Unordered List
+
+* Protons
+* Electrons
+* Neutrons
+
+=== Ordered List
+
+. Protons
+. Electrons
+. Neutrons
+
+=== Nested List
+
+Nest lists, by duplicating the list-char
+
+* Protons
+** Electrons
+* Neutrons
+
+== Tables
+
+[cols="2*", options="header"]
+|===
+| Header A | Header B
+| Cell A1 | Cell B1
+| Cell A2 | Cell B2
+| Cell A3 | Cell B3
+|===
+
+== Source Code
+
+[source,java]
+.Java code from project
+----
+include::{sourcedir}/test/StringUtils.java[tags=contains,indent=0]
+----
+
+== Two columns
+
+[.west]
+* Blah
+* Blah
+* Blah
+* Blah
+* Blah
+
+[.east]
+* Blah
+* Blah
+* Blah
+* Blah
+* Blah
+
+== Fontawesome Icons
+
+* icon:check[role=green]
+* icon:wrench[]
+* icon:beer[role=orange]
+
+[NOTE.speaker]
+--
+* Find icons here: https://fontawesome.com/v4.7.0/icons/
+* Color icons by defining css styles in apache.css and referencing them with 
"role"
+--
+
+== Diagrams
+
+Press the down arrow key to see the different types of diagrams
+
+=== Ditaa Diagram
+
+[ditaa,asciidoctor-diagram-process]
+....
+                   +-------------+
+                   | Asciidoctor |-------+
+                   |   diagram   |       |
+                   +-------------+       | PNG out
+                       ^                 |
+                       | ditaa in        |
+                       |                 v
+ +--------+   +--------+----+    /---------------\
+ |        |---+ Asciidoctor +--->|               |
+ |  Text  |   +-------------+    |   Beautiful   |
+ |Document|   |   !magic!   |    |    Output     |
+ |     {d}|   |             |    |               |
+ +---+----+   +-------------+    \---------------/
+     :                                   ^
+     |          Lots of work             |
+     +-----------------------------------+
+....
+
+=== PlantUML Diagram
+
+[plantuml,auth-protocol]
+....
+Alice -> Bob: Authentication Request
+Bob --> Alice: Authentication Response
+
+Alice -> Bob: Another authentication Request
+Alice <-- Bob: another authentication Response
+....
+
+=== GraphVIZ Diagram
+
+[graphviz, dot-example, svg]
+----
+digraph g {
+    a -> b
+    b -> c
+    c -> d
+    d -> a
+}
+----
+
+=== Seqdiag Diagram
+
+[seqdiag,s7-communication,svg]
+....
+{
+    A -> B -> C;
+         B -> D;
+}
+....
+
+=== Blockdiag Diagram
+
+[blockdiag,blockdiag-test]
+....
+{
+   A -> B -> C -> D;
+   A -> E -> F -> G;
+}
+....
+
+=== Actdiag Diagram
+
+[actdiag,actdiag-test]
+....
+{
+  write -> convert -> image
+
+  lane user {
+     label = "User"
+     write [label = "Writing reST"];
+     image [label = "Get diagram IMAGE"];
+  }
+  lane actdiag {
+     convert [label = "Convert reST to Image"];
+  }
+}
+....
+
+=== Nwdiag Diagram
+
+[nwdiag,nwdiag-test]
+....
+{
+  network dmz {
+      address = "210.x.x.x/24"
+
+      web01 [address = "210.x.x.1"];
+      web02 [address = "210.x.x.2"];
+  }
+  network internal {
+      address = "172.x.x.x/24";
+
+      web01 [address = "172.x.x.1"];
+      web02 [address = "172.x.x.2"];
+      db01;
+      db02;
+  }
+}
+....
+
+=== Rackdiag Diagram
+
+[rackdiag,rackdiag-test]
+....
+{
+  // Change order of rack-number as ascending
+  ascending;
+
+  // define height of rack
+  12U;
+
+  // define description of rack
+  description = "Tokyo/1234 East";
+
+  // define rack units
+  1: UPS [2U];   // define height of unit
+  3: DB Server [5kg]  // define weight of unit
+  4: Web Server [0.5A]  // define ampere of unit
+  5: Web Server
+  6: Web Server
+  7: Load Balancer
+  8: L3 Switch
+}
+....
+
+=== Packetdiag Diagram
+
+[packetdiag,packetdiag-test,svg]
+....
+{
+  colwidth = 32
+  node_height = 72
+
+  0-15: Source Port
+  16-31: Destination Port
+  32-63: Sequence Number
+  64-95: Acknowledgment Number
+  96-99: Data Offset
+  100-105: Reserved
+  106: URG [rotate = 270]
+  107: ACK [rotate = 270]
+  108: PSH [rotate = 270]
+  109: RST [rotate = 270]
+  110: SYN [rotate = 270]
+  111: FIN [rotate = 270]
+  112-127: Window
+  128-143: Checksum
+  144-159: Urgent Pointer
+  160-191: (Options and Padding)
+  192-223: data [colheight = 3]
+}
+....
+
+=== Meme Diagram
+
+meme::../resources/images/toddy.jpg[May the Source,Be With You]
+
+=== Entity Relation Diagram
+
+[erd,erd-test,svg]
+....
+[Person]
+*name
+height
+weight
++birth_location_id
+
+[Location]
+*id
+city
+state
+country
+
+# Cardinality    Syntax
+# 0 or 1         ?
+# exactly 1      1
+# 0 or more      *
+# 1 or more      +
+Person *--1 Location
+....
+
+[NOTE.speaker]
+--
+--
+
+=== Mermaid: Flowchart
+
+mermaid::diagrams/mermaid-flowchart-test.mmd[png]
+
+[NOTE.speaker]
+--
+--
+
+=== Mermaid: Sequence Diagram
+
+[mermaid,"mermaid-sequence-diagram-test",svg]
+....
+sequenceDiagram
+    participant Alice
+    participant Bob
+    Alice->John: Hello John, how are you?
+    loop Healthcheck
+        John->John: Fight against hypochondria
+    end
+    Note right of John: Rational thoughts <br/>prevail...
+    John-->Alice: Great!
+    John->Bob: How about you?
+    Bob-->John: Jolly good!
+....
+
+=== Mermaid: Gant Diagram
+
+[mermaid,mermaid-gant-diagram-test,svg]
+....
+gantt
+        dateFormat  YYYY-MM-DD
+        title Adding GANTT diagram functionality to mermaid
+        section A section
+        Completed task            :done,    des1, 2014-01-06,2014-01-08
+        Active task               :active,  des2, 2014-01-09, 3d
+        Future task               :         des3, after des2, 5d
+        Future task2               :         des4, after des3, 5d
+        section Critical tasks
+        Completed task in the critical line :crit, done, 2014-01-06,24h
+        Implement parser and jison          :crit, done, after des1, 2d
+        Create tests for parser             :crit, active, 3d
+        Future task in critical line        :crit, 5d
+        Create tests for renderer           :2d
+        Add to mermaid                      :1d
+....
+
+=== SVGBob: Mindmap
+
+[svgbob,svgbob-mindmap-test,svg]
+....
+                                            .-->  Alpha
+                                           /
+                                          .---->  Initial Release
+          Planning *-------.             /         \
+                            \           /           '---> Patch 1
+      Initial research       \         /             \
+                *             \       /               '-->  Patch 2
+                 \             \     .---------> Beta
+                  \             \   /
+                   \             o o                      _______
+                    \          .---. o--.___             /       \
+                     '------> (     )       '----*--->  . Release .
+                               `---' o                   \_______/
+                               o  o o \
+                              /    \ \ \
+                          .--'      \ \ \
+                         /           \ \ '----+->  Push backs
+                        .             \ \      \
+                       /|              \ \      '----> Setbacks
+                      / .               \ \
+                     V /|                \ '-----> Reception
+                Team  / .                 \
+                     v /|                  \
+             Worklaod / .                   '-->> Career change
+                     V /
+                 PTO  /
+                     V
+                 Bug
+....
+
+=== SVGBob: Circuit Diagram
+
+[svgbob,svgbob-circuit-diagram-test,svg]
+....
+     +10-15V           ___0,047R
+      *------o------o-|___|-o--o---------o----o-------.
+             |      |       |  |         |    |       |
+            ---     |       | .+.        |    |       |
+      470uF  | +    |       | | |        |    |      .+.
+      *------o      '--.    | '+'       .+.   |      '-'
+             |         |6   |7 |8    1k | |   |       |
+            GND      .-+----+--+--.     | |   |       |
+                     |            |     '+'   |       |
+                     |            |1     |  |/  BC    |
+                     |            +------o--+   547   |
+                     |            |      |  |`>       |
+                     |            |     ,+.   |       |
+                     |            | 220R| |   o----||-+  IRF9Z34
+                     |            |     | |   |    |+->
+                     |  MC34063   |     `+'   |    ||-+
+                     |            |      |    |       |  BYV29     -12V6
+                     |            |      '----'       o--|<-o----o--X OUT
+                     |            |2                  |     |    |
+                     |            |--o                C|    |    |
+                     |            | GND         30uH  C|    |   --- 470
+                     |            |3      1nF         C|    |
+                     |            |-------||--.       |     |    | +
+                     '-----+----+-'           |      GND    |   GND
+                          5|   4|             |             |
+                           |    '-------------o-------------o
+                           |                           ___  |
+                           '------/\/\/------------o--|___|-'
+                                                   |       1k0
+                                                  .+.
+                                                  | | 5k6 + 3k3
+                                                  | | in Serie
+                                                  '+'
+                                                   |
+                                                  GND
+....
+
+=== Syntrax
+
+[syntrax,syntrax-test,svg]
+....
+indentstack(10,
+  line(opt('-'), choice('0', line('1-9', loop(None, '0-9'))),
+    opt('.', loop('0-9', None))),
+
+  line(opt(choice('e', 'E'), choice(None, '+', '-'), loop('0-9', None)))
+)
+....
+
+////
+=== Umlet
+
+[umlet,umlet-test,svg]
+....
+<?xml version="1.0" 
encoding="UTF-8"?><umlet_diagram><element><type>com.umlet.element.base.Relation</type><coordinates><x>739</x><y>16</y><w>232</w><h>264</h></coordinates><panel_attributes>lt=&lt;-
+when(spidersensor="rotate")
+/block 
spider</panel_attributes><additional_attributes>161;244;161;34;71;34;71;74</additional_attributes></element><element><type>com.umlet.element.custom.FinalState</type><coordinates><x>890</x><y>260</y><w>20</w><h>20</h></coordinates><panel_attributes></panel_attributes><additional_attributes>transparentSelection=false</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>750</x><y>170</y><w>160</w><h>137</h></coordinates><panel_attribut
 [...]
+after (10s)
+/ block 
spider</panel_attributes><additional_attributes>140;100;66;100;66;20</additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>340</x><y>420</y><w>100</w><h>40</h></coordinates><panel_attributes>wait</panel_attributes><additional_attributes>transparentSelection=false</additional_attributes></element><element><type>com.umlet.element.custom.HistoryState</type><coordinates><x>230</x><y>440</y><w>20</w><h>20</h></coordinates><panel_attribute
 [...]
+restart</panel_attributes><additional_attributes>20;34;110;34</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>270</x><y>396</y><w>90</w><h>54</h></coordinates><panel_attributes>lt=&lt;-
+pause</panel_attributes><additional_attributes>70;34;20;34</additional_attributes></element><element><type>com.umlet.element.custom.FinalState</type><coordinates><x>90</x><y>400</y><w>20</w><h>20</h></coordinates><panel_attributes></panel_attributes><additional_attributes>transparentSelection=false</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>46</x><y>256</y><w>114</w><h>164</h></coordinates><panel_attributes>lt=&lt;-
+after (10s)
+/timeout</panel_attributes><additional_attributes>54;144;54;34;94;34</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>230</x><y>110</y><w>190</w><h>170</h></coordinates><panel_attributes>lt=&lt;-
+timeout</panel_attributes><additional_attributes>20;150;110;150;110;20;170;20</additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>700</x><y>90</y><w>180</w><h>100</h></coordinates><panel_attributes>accept
+boarding pass
+--
+entry/ release card
+do/release 
spider</panel_attributes><additional_attributes>transparentSelection=true</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>540</x><y>140</y><w>205</w><h>100</h></coordinates><panel_attributes>lt=&lt;-
+[passenger 
booked]</panel_attributes><additional_attributes>160;20;120;80;20;80</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>450</x><y>210</y><w>239</w><h>190</h></coordinates><panel_attributes>lt=&lt;-
+[passenger not 
booked]</panel_attributes><additional_attributes>219;170;99;170;99;20</additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>670</x><y>350</y><w>120</w><h>50</h></coordinates><panel_attributes>reject
+boarding 
pass</panel_attributes><additional_attributes>transparentSelection=false</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>480</x><y>130</y><w>142</w><h>100</h></coordinates><panel_attributes>lt=&lt;-
+result of 
search</panel_attributes><additional_attributes>71;80;71;20</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>270</x><y>70</y><w>150</w><h>40</h></coordinates><panel_attributes>lt=&lt;-</panel_attributes><additional_attributes>130;20;20;20</additional_attributes></element><element><type>com.umlet.element.custom.ThreeWayRelation</type><coordinates><x>540</x><y>210</y><w>20</w><h>20</h></coordinates><panel_attributes></panel_att
 [...]
+--</panel_attributes><additional_attributes>transparentSelection=true</additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>400</x><y>60</y><w>180</w><h>90</h></coordinates><panel_attributes>check
 passenger
+--
+entry/start search
+do/blink 
lamp</panel_attributes><additional_attributes>transparentSelection=true</additional_attributes></element><element><type>com.umlet.element.custom.FinalState</type><coordinates><x>170</x><y>410</y><w>20</w><h>20</h></coordinates><panel_attributes></panel_attributes><additional_attributes>transparentSelection=false</additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>150</x><y>240</y><w>100</w><h>40</h></coordinates><panel_attributes>read
+passenger 
ID</panel_attributes><additional_attributes>transparentSelection=false</additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>150</x><y>330</y><w>100</w><h>40</h></coordinates><panel_attributes>identify
+passenger</panel_attributes><additional_attributes>transparentSelection=false</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>160</x><y>260</y><w>40</w><h>90</h></coordinates><panel_attributes>lt=&lt;-</panel_attributes><additional_attributes>20;70;20;20</additional_attributes></element><element><type>com.umlet.element.base.Relation</type><coordinates><x>160</x><y>100</y><w>40</w><h>70</h></coordinates><panel_attributes>lt=&lt;-</pane
 [...]
+[valid]</panel_attributes><additional_attributes>39;70;39;20</additional_attributes></element><element><type>com.umlet.element.custom.State</type><coordinates><x>150</x><y>150</y><w>100</w><h>40</h></coordinates><panel_attributes>check
+validity</panel_attributes><additional_attributes>transparentSelection=false</additional_attributes></element><element><type>com.umlet.element.custom.InitialState</type><coordinates><x>170</x><y>100</y><w>20</w><h>20</h></coordinates><panel_attributes></panel_attributes><additional_attributes>transparentSelection=false</additional_attributes></element></umlet_diagram>
+....
+////
+
+=== Vega
+
+[vega,vega-test,svg]
+....
+{
+  "$schema": "https://vega.github.io/schema/vega/v5.json";,
+  "width": 1000,
+  "height": 500,
+  "padding": 5,
+
+  "data": [
+    {
+      "name": "iot-riskks1",
+      "values": [
+        {"cheese": "Security", "amount": 43},
+        {"cheese": "IT/OT Integration", "amount": 30},
+        {"cheese": "Unclear ROI", "amount": 28},
+        {"cheese": "Technical Expertise", "amount": 26},
+        {"cheese": "Interoperability", "amount": 26},
+        {"cheese": "Data Portability", "amount": 24},
+        {"cheese": "Vendor Risk", "amount": 22},
+        {"cheese": "Transition Risk", "amount": 22},
+        {"cheese": "Legal/regulatory issues", "amount": 22},
+        {"cheese": "Network constraints", "amount": 21},
+        {"cheese": "Vendor lock-in", "amount": 18}
+      ]
+    }
+  ],
+
+  "scales": [
+    {
+      "name": "xscale",
+      "type": "band",
+      "domain": {"data": "iot-riskks1", "field": "cheese"},
+      "range": "width",
+      "padding": 0.05,
+      "round": true
+    },
+    {
+      "name": "yscale",
+      "domain": {"data": "iot-riskks1", "field": "amount"},
+      "nice": true,
+      "range": "height"
+    }
+  ],
+
+  "marks": [
+    {
+      "type": "rect",
+      "from": {"data":"iot-riskks1"},
+      "encode": {
+        "enter": {
+          "x": {"scale": "xscale", "field": "cheese"},
+          "width": {"scale": "xscale", "band": 1},
+          "y": {"scale": "yscale", "field": "amount"},
+          "y2": {"scale": "yscale", "value": 0}
+        },
+        "update": {
+          "fill": {"value": "steelblue"}
+        }
+      }
+    }
+  ]
+}
+....
+
+== Embedded HTML/JavaScript
+
+++++
+  <div id="iot-riskks1"></div>
+  <script type="text/javascript">
+c3.generate({
+  bindto: '#iot-riskks1',
+  size: { height: 500, width: 1000 },
+  data: {
+    x: 'x',
+    columns: [
+        ['x','Security','IT/OT Integration','Unclear ROI', 'Technical 
Expertise', 'Interoperability', 'Data Portability', 'Vendor Risk', 'Transition 
Risk', 'Legal/regulatory issues', 'Network constraints', 'Vendor lock-in'],
+        ['%',43, 30, 28, 26, 26, 24, 22, 22, 22, 21, 18]
+    ],
+    type: 'bar'
+  },
+  axis: {
+    rotated: true,
+    x: {
+      type: 'category',
+      tick: {
+        rotate: -90
+      }
+    }
+  }
+});
+</script>
+++++
diff --git a/content/Apache/Training/pom.xml 
b/content/Apache/Training/Demo/src/main/asciidoc/subdir/_b.adoc
similarity index 50%
copy from content/Apache/Training/pom.xml
copy to content/Apache/Training/Demo/src/main/asciidoc/subdir/_b.adoc
index 6f2fc5f..70dab58 100644
--- a/content/Apache/Training/pom.xml
+++ b/content/Apache/Training/Demo/src/main/asciidoc/subdir/_b.adoc
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
+////
 
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -8,7 +7,7 @@
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+      https://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
@@ -16,25 +15,12 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 
--->
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns="http://maven.apache.org/POM/4.0.0";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+////
 
-  <modelVersion>4.0.0</modelVersion>
+content from _src/docs/asciidoc/subdir/_b.adoc_.
 
-  <parent>
-    <groupId>org.apache.training.content</groupId>
-    <artifactId>training-content-apache</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>training-content-apache-training</artifactId>
-  <packaging>pom</packaging>
-
-  <name>Training: Content: Apache: Training</name>
-
-  <modules>
-    <module>Presentations</module>
-  </modules>
-
-</project>
+.include::_c.adoc[]
+[example]
+--
+include::_c.adoc[]
+--
diff --git a/content/Apache/Training/pom.xml 
b/content/Apache/Training/Demo/src/main/asciidoc/subdir/_c.adoc
similarity index 50%
copy from content/Apache/Training/pom.xml
copy to content/Apache/Training/Demo/src/main/asciidoc/subdir/_c.adoc
index 6f2fc5f..f3a0c7d 100644
--- a/content/Apache/Training/pom.xml
+++ b/content/Apache/Training/Demo/src/main/asciidoc/subdir/_c.adoc
@@ -1,5 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
+////
 
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
@@ -8,7 +7,7 @@
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+      https://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
@@ -16,25 +15,6 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 
--->
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns="http://maven.apache.org/POM/4.0.0";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+////
 
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.training.content</groupId>
-    <artifactId>training-content-apache</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>training-content-apache-training</artifactId>
-  <packaging>pom</packaging>
-
-  <name>Training: Content: Apache: Training</name>
-
-  <modules>
-    <module>Presentations</module>
-  </modules>
-
-</project>
+content from _src/docs/asciidoc/subdir/_c.adoc_.
diff --git a/content/Apache/Training/Demo/src/main/java/test/StringUtils.java 
b/content/Apache/Training/Demo/src/main/java/test/StringUtils.java
new file mode 100644
index 0000000..5b6e2bb
--- /dev/null
+++ b/content/Apache/Training/Demo/src/main/java/test/StringUtils.java
@@ -0,0 +1,27 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    https://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+package test;
+
+public class StringUtils {
+    // tag::contains[]
+    public boolean contains(String haystack, String needle) {
+        return haystack.contains(needle);
+    }
+    // end::contains[]
+}
diff --git a/content/Apache/Training/Demo/src/main/resources/images/toddy.jpg 
b/content/Apache/Training/Demo/src/main/resources/images/toddy.jpg
new file mode 100644
index 0000000..9db0e72
Binary files /dev/null and 
b/content/Apache/Training/Demo/src/main/resources/images/toddy.jpg differ
diff --git a/content/Apache/Training/Demo/src/main/theme/apache.css 
b/content/Apache/Training/Demo/src/main/theme/apache.css
new file mode 100644
index 0000000..72ff835
--- /dev/null
+++ b/content/Apache/Training/Demo/src/main/theme/apache.css
@@ -0,0 +1,383 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    https://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+
+section.has-light-background, section.has-light-background h1, 
section.has-light-background h2, section.has-light-background h3, 
section.has-light-background h4, section.has-light-background h5, 
section.has-light-background h6 {
+  color: #fff; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+body {
+/* TODO: Fix this */
+/*  background-image: url("../../../images/background.jpg");*/
+  background-repeat: no-repeat;
+  background-size: cover;
+  background-color: #fff; }
+
+.reveal {
+  font-family: Panton-Regular, Helvetica, sans-serif;
+  font-size: 34px;
+  font-weight: normal;
+  color: #000; }
+
+::selection {
+  color: #000;
+  background: #bee4fd;
+  text-shadow: none; }
+
+.reveal .slides > section, .reveal .slides > section > section {
+  line-height: 1.3;
+  font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
+  margin: 0 0 20px 0;
+  color: #000;
+  font-family: Panton-Regular, Helvetica, sans-serif;
+  font-weight: 600;
+  line-height: 1.2;
+  letter-spacing: normal;
+  text-transform: uppercase;
+  text-shadow: none;
+  word-wrap: break-word; }
+
+.reveal h1 {
+  font-size: 2.5em; }
+
+.reveal h2 {
+  font-size: 1.6em; }
+
+.reveal h3 {
+  font-size: 1.3em; }
+
+.reveal h4 {
+  font-size: 1em; }
+
+.reveal h1 {
+  text-shadow: none; }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+  margin: 20px 0;
+  line-height: 1.3; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img, .reveal video, .reveal iframe {
+  max-width: 95%;
+  max-height: 95%; }
+
+.reveal strong, .reveal b {
+  font-weight: bold; }
+
+.reveal em {
+  font-style: italic; }
+
+.reveal ol, .reveal dl, .reveal ul {
+  display: inline-block;
+  text-align: left;
+  margin: 0 0 0 1em; }
+
+.reveal ol {
+  list-style-type: decimal; }
+
+.reveal ul {
+  list-style-type: disc; }
+
+.reveal ul ul {
+  list-style-type: square; }
+
+.reveal ul ul ul {
+  list-style-type: circle; }
+
+.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
+  display: block;
+  margin-left: 40px; }
+
+.reveal dt {
+  font-weight: bold; }
+
+.reveal dd {
+  margin-left: 40px; }
+
+.reveal q, .reveal blockquote {
+  quotes: none; }
+
+.reveal blockquote {
+  display: block;
+  position: relative;
+  width: 70%;
+  margin: 20px auto;
+  padding: 5px;
+  font-style: italic;
+  background: rgba(255, 255, 255, 0.05);
+  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child, .reveal blockquote p:last-child {
+  display: inline-block; }
+
+.reveal q {
+  font-style: italic; }
+
+.reveal pre {
+  display: block;
+  position: relative;
+  width: 90%;
+  margin: 20px auto;
+  text-align: left;
+  font-size: 0.55em;
+  font-family: monospace;
+  line-height: 1.2em;
+  word-wrap: break-word;
+  box-shadow: 0 0 6px rgba(0, 0, 0, 0.3); }
+
+.reveal code {
+  font-family: monospace; }
+
+.reveal pre code {
+  display: block;
+  padding: 5px;
+  overflow: auto;
+  max-height: 400px;
+  word-wrap: normal;
+  background: #3F3F3F;
+  color: #DCDCDC; }
+
+.reveal table {
+  margin: auto;
+  border-collapse: collapse;
+  border-spacing: 0; }
+
+.reveal table th {
+  font-weight: bold; }
+
+.reveal table th, .reveal table td {
+  text-align: left;
+  padding: 0.2em 0.5em 0.2em 0.5em;
+  border-bottom: 1px solid; }
+
+.reveal table th[align="center"], .reveal table td[align="center"] {
+  text-align: center; }
+
+.reveal table th[align="right"], .reveal table td[align="right"] {
+  text-align: right; }
+
+.reveal table tr:last-child td {
+  border-bottom: none; }
+
+.reveal sup {
+  vertical-align: super; }
+
+.reveal sub {
+  vertical-align: sub; }
+
+.reveal small {
+  display: inline-block;
+  font-size: 0.6em;
+  line-height: 1.2em;
+  vertical-align: top; }
+
+.reveal small * {
+  vertical-align: top; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+  color: #42affa;
+  text-decoration: none;
+  -webkit-transition: color 0.15s ease;
+  -moz-transition: color 0.15s ease;
+  transition: color 0.15s ease; }
+
+.reveal a:hover {
+  color: #8dcffc;
+  text-shadow: none;
+  border: none; }
+
+.reveal .roll span:after {
+  color: #fff;
+  background: #068ee9; }
+
+/*********************************************
+ * IMAGES
+ *********************************************/
+.reveal section img {
+  margin: 15px 0;
+  /*background: rgba(255, 255, 255, 0.12);*/
+  /*border: 4px solid #fff;*/
+  /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);*/ }
+
+.reveal a img {
+  -webkit-transition: all 0.15s linear;
+  -moz-transition: all 0.15s linear;
+  transition: all 0.15s linear; }
+
+.reveal a:hover img {
+  background: rgba(255, 255, 255, 0.2);
+  border-color: #42affa;
+  box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls div.navigate-left, .reveal .controls 
div.navigate-left.enabled {
+  border-right-color: #42affa; }
+
+.reveal .controls div.navigate-right, .reveal .controls 
div.navigate-right.enabled {
+  border-left-color: #42affa; }
+
+.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
+  border-bottom-color: #42affa; }
+
+.reveal .controls div.navigate-down, .reveal .controls 
div.navigate-down.enabled {
+  border-top-color: #42affa; }
+
+.reveal .controls div.navigate-left.enabled:hover {
+  border-right-color: #8dcffc; }
+
+.reveal .controls div.navigate-right.enabled:hover {
+  border-left-color: #8dcffc; }
+
+.reveal .controls div.navigate-up.enabled:hover {
+  border-bottom-color: #8dcffc; }
+
+.reveal .controls div.navigate-down.enabled:hover {
+  border-top-color: #8dcffc; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+  background: rgba(0, 0, 0, 0.2); }
+
+.reveal .progress span {
+  background: #42affa;
+  -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
+  -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
+  transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
+
+/*********************************************
+ * SLIDE NUMBER
+ *********************************************/
+.reveal .slide-number {
+  color: #42affa;
+  background-color: rgba(0, 0, 0, 0);
+}
+
+/*********************************************
+ * GENERAL PURPOSE COLORS
+ *********************************************/
+
+.reveal .red {
+  color: red;
+}
+
+.reveal .orange {
+  color: orange;
+}
+
+.reveal .yellow {
+  color: yellow;
+}
+
+.reveal .green {
+  color: green;
+}
+
+/*********************************************
+ * C3JS Charts
+ *********************************************/
+
+.c3 {
+  fill: white;  }
+
+.c3 line, .c3 path {
+  stroke: white !important; }
+
+/*********************************************
+ * Custom styling of individual charts
+ *********************************************/
+
+#most-significant-barriers .c3-shape .c3-shape-2 .c3-bar .c3-bar-2 {
+  color: red;
+}
+
+/*********************************************
+ * Footer and Header
+ *********************************************/
+
+.header {
+  position:relative;
+}
+/*.header .left {
+  position:absolute;
+  top: 5px;
+  left: 5px;
+  width: 196px;
+  height: 100px;
+  background-image: url("../../../images/logo-building-iot.png");
+}*/
+.header .right {
+  position:absolute;
+  top: 5px;
+  right: 5px;
+  width: 246px;
+  height: 100px;
+  background-image: url("../../../images/logo-apache.png");
+}
+
+.footer {
+  position:relative;
+}
+/*.footer .left {
+  position:absolute;
+  bottom: 5px;
+  left: 5px;
+  width: 392px;
+  height: 50px;
+  background-image: url("../../../images/logo-company.png");
+}
+.footer .right {
+  position:absolute;
+  bottom: 5px;
+  right: 5px;
+  width: 306px;
+  height: 100px;
+  background-image: url("../../../images/logo-training.png");
+}*/
+
+/*********************************************
+ * Add the ability to split into two columns
+ *********************************************/
+
+.reveal .west {
+  position: fixed;
+  left: 5%;
+}
+
+.reveal .east {
+  position: fixed;
+  right: 5%;
+}
+
+
diff --git a/content/Apache/Training/pom.xml b/content/Apache/Training/pom.xml
index 6f2fc5f..b074267 100644
--- a/content/Apache/Training/pom.xml
+++ b/content/Apache/Training/pom.xml
@@ -34,6 +34,7 @@
   <name>Training: Content: Apache: Training</name>
 
   <modules>
+    <module>Demo</module>
     <module>Presentations</module>
   </modules>
 
diff --git a/site/pom.xml b/site/pom.xml
index e4c6461..fa160f4 100644
--- a/site/pom.xml
+++ b/site/pom.xml
@@ -340,6 +340,13 @@
                   <type>war</type>
                   
<outputDirectory>${project.build.directory}/site/presentations/spark/basics</outputDirectory>
                 </artifactItem>
+                <artifactItem>
+                  <groupId>org.apache.training.content</groupId>
+                  
<artifactId>training-content-apache-training-demo</artifactId>
+                  <version>1.0.0-SNAPSHOT</version>
+                  <type>war</type>
+                  
<outputDirectory>${project.build.directory}/site/presentations/training/demo</outputDirectory>
+                </artifactItem>
                 <artifactItem>
                   <groupId>org.apache.training.content</groupId>
                   
<artifactId>training-content-apache-training-presentation</artifactId>
@@ -674,6 +681,12 @@
       <version>1.0.0-SNAPSHOT</version>
       <type>war</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.training.content</groupId>
+      <artifactId>training-content-apache-training-demo</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+      <type>war</type>
+    </dependency>
     <dependency>
       <groupId>org.apache.training.content</groupId>
       <artifactId>training-content-apache-training-presentation</artifactId>
diff --git a/site/src/site/site.xml b/site/src/site/site.xml
index 1a36f42..8c8eecf 100644
--- a/site/src/site/site.xml
+++ b/site/src/site/site.xml
@@ -135,6 +135,7 @@
         <item name="Basics" href="presentations/spark/basics/index.html" 
target="_blank"/>
       </item>
       <item name="Apache Training">
+        <item name="Demo" href="presentations/training/demo/index.html" 
target="_blank"/>
         <item name="Presentation" 
href="presentations/training/presentation/index_en.html" target="_blank"/>
       </item>
       <item name="Apache Zookeeper" 
href="presentations/zookeeper/index_en.html" target="_blank"/>


Reply via email to