You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@training.apache.org by cd...@apache.org on 2020/08/13 21:32:52 UTC

[incubator-training] branch feature/updated-reveal.js-version created (now b7c659f)

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

cdutz pushed a change to branch feature/updated-reveal.js-version
in repository https://gitbox.apache.org/repos/asf/incubator-training.git.


      at b7c659f  - Updated the reveal.js version to the latest 3.x version - Renamed the module content-parent-resources to content-master-resources - Added some documentation on how to customize the document.html.slim

This branch includes the following new commits:

     new b7c659f  - Updated the reveal.js version to the latest 3.x version - Renamed the module content-parent-resources to content-master-resources - Added some documentation on how to customize the document.html.slim

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[incubator-training] 01/01: - Updated the reveal.js version to the latest 3.x version - Renamed the module content-parent-resources to content-master-resources - Added some documentation on how to customize the document.html.slim

Posted by cd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/updated-reveal.js-version
in repository https://gitbox.apache.org/repos/asf/incubator-training.git

commit b7c659fe5f1299f0a5101697106c95c84ae46e8b
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Thu Aug 13 23:32:38 2020 +0200

    - Updated the reveal.js version to the latest 3.x version
    - Renamed the module content-parent-resources to content-master-resources
    - Added some documentation on how to customize the document.html.slim
---
 tools/content-parent-pom/pom.xml                   | 748 +++++++++++----------
 tools/content-parent-resources/README.md           |  17 +
 tools/content-parent-resources/pom.xml             |   2 +-
 .../src/main/resources/document.html.slim          |  84 +--
 4 files changed, 440 insertions(+), 411 deletions(-)

diff --git a/tools/content-parent-pom/pom.xml b/tools/content-parent-pom/pom.xml
index 3fbf750..ea4fb30 100644
--- a/tools/content-parent-pom/pom.xml
+++ b/tools/content-parent-pom/pom.xml
@@ -19,396 +19,402 @@
 -->
 <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>
+  <modelVersion>4.0.0</modelVersion>
 
-    <parent>
-        <groupId>org.apache</groupId>
-        <artifactId>apache</artifactId>
-        <version>23</version>
+  <parent>
+    <groupId>org.apache</groupId>
+    <artifactId>apache</artifactId>
+    <version>23</version>
 
-        <!-- Required in our case as per http://maven.apache.org/ref/3.0.3/maven-model/maven.html#class_parent -->
-        <relativePath></relativePath>
-    </parent>
+    <!-- Required in our case as per http://maven.apache.org/ref/3.0.3/maven-model/maven.html#class_parent -->
+    <relativePath></relativePath>
+  </parent>
 
-    <groupId>org.apache.training</groupId>
-    <artifactId>content-master-pom</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
+  <groupId>org.apache.training</groupId>
+  <artifactId>content-master-pom</artifactId>
+  <version>1.0.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
 
-    <name>Training: Tools: Content Master Pom</name>
-    <description>Parent pom containing all the configuration for building presentations with the training template.</description>
+  <name>Training: Tools: Content Master Pom</name>
+  <description>Parent pom containing all the configuration for building presentations with the training template.
+  </description>
 
-    <properties>
-        <project.main.contentfile>index</project.main.contentfile>
-        <!-- Put your custom theme files in src/main/theme and reference the name (without ".css") here. -->
-        <project.main.theme>apache</project.main.theme>
-        <project.slides.directory>${project.build.directory}/generated-slides</project.slides.directory>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  <properties>
+    <project.main.contentfile>index</project.main.contentfile>
+    <!-- Put your custom theme files in src/main/theme and reference the name (without ".css") here. -->
+    <project.main.theme>apache</project.main.theme>
+    <project.slides.directory>${project.build.directory}/generated-slides</project.slides.directory>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
-        <asciidoctor.maven.plugin.version>2.0.0-RC.1</asciidoctor.maven.plugin.version>
-        <asciidoctorj.version>2.2.0</asciidoctorj.version>
-        <asciidoctorj.diagram.version>2.0.0</asciidoctorj.diagram.version>
-        <asciidoctorj.extensions-lab.version>1.0.0</asciidoctorj.extensions-lab.version>
-        <revealjs.version>3.8.0</revealjs.version>
-        <asciidoctor-revealjs.version>3.0.0</asciidoctor-revealjs.version>
+    <asciidoctor.maven.plugin.version>2.0.0-RC.1</asciidoctor.maven.plugin.version>
+    <asciidoctorj.version>2.2.0</asciidoctorj.version>
+    <asciidoctorj.diagram.version>2.0.0</asciidoctorj.diagram.version>
+    <asciidoctorj.extensions-lab.version>1.0.0</asciidoctorj.extensions-lab.version>
+    <revealjs.version>3.9.2</revealjs.version>
+    <asciidoctor-revealjs.version>3.1.0</asciidoctor-revealjs.version>
 
-        <copy-rename-maven-plugin.version>1.0.1</copy-rename-maven-plugin.version>
-        <download-maven-plugin.version>1.4.2</download-maven-plugin.version>
-        <jetty-maven-plugin.version>9.4.14.v20181114</jetty-maven-plugin.version>
-        <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
-        <maven-war-plugin.version>3.2.2</maven-war-plugin.version>
-    </properties>
+    <copy-rename-maven-plugin.version>1.0.1</copy-rename-maven-plugin.version>
+    <download-maven-plugin.version>1.4.2</download-maven-plugin.version>
+    <jetty-maven-plugin.version>9.4.14.v20181114</jetty-maven-plugin.version>
+    <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
+    <maven-war-plugin.version>3.2.2</maven-war-plugin.version>
+  </properties>
 
-    <dependencies>
-        <!-- Just to ensure this is built first as we need this to exist in order to unpack it -->
-        <dependency>
-            <groupId>org.apache.training</groupId>
-            <artifactId>content-master-resources</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
+  <dependencies>
+    <!-- Just to ensure this is built first as we need this to exist in order to unpack it -->
+    <dependency>
+      <groupId>org.apache.training</groupId>
+      <artifactId>content-parent-resources</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
 
-    <build>
-        <plugins>
-            <!-- Check if all source files have the required apache license headers -->
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>license-check</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <consoleOutput>true</consoleOutput>
-                    <excludes>
-                        <!-- TODO: This is a modified version of an asciidoctor file ... nor sure we can stick an Apache Header on it -->
-                        <exclude>libs/docinfo-hack/document.html.slim</exclude>
-                        <!-- Exclude everything downloaded by the install-deps scripts -->
-                        <exclude>libs/third-party/**</exclude>
-                        <!-- Maven related files -->
-                        <exclude>**/target/**</exclude>
+  <build>
+    <plugins>
+      <!-- Check if all source files have the required apache license headers -->
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>license-check</id>
+            <phase>verify</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <consoleOutput>true</consoleOutput>
+          <excludes>
+            <!-- TODO: This is a modified version of an asciidoctor file ... nor sure we can stick an Apache Header on it -->
+            <exclude>libs/docinfo-hack/document.html.slim</exclude>
+            <!-- Exclude everything downloaded by the install-deps scripts -->
+            <exclude>libs/third-party/**</exclude>
+            <!-- Maven related files -->
+            <exclude>**/target/**</exclude>
 
-                        <!-- Eclipse related files -->
-                        <exclude>**/.project</exclude>
-                        <exclude>**/.settings/**</exclude>
-                        <exclude>**/.classpath</exclude>
+            <!-- Eclipse related files -->
+            <exclude>**/.project</exclude>
+            <exclude>**/.settings/**</exclude>
+            <exclude>**/.classpath</exclude>
 
-                        <!-- IntelliJ related files -->
-                        <exclude>**/.idea/**</exclude>
-                        <exclude>**/*.iml</exclude>
+            <!-- IntelliJ related files -->
+            <exclude>**/.idea/**</exclude>
+            <exclude>**/*.iml</exclude>
 
-                        <!-- Asciidoctor generated files -->
-                        <exclude>**/.asciidoctor/**</exclude>
+            <!-- Asciidoctor generated files -->
+            <exclude>**/.asciidoctor/**</exclude>
 
-                        <!-- JSON doesn't like comments -->
-                        <exclude>**/*.json</exclude>
-                        <!-- Mermaid does't like comments -->
-                        <exclude>**/*.mmd</exclude>
+            <!-- JSON doesn't like comments -->
+            <exclude>**/*.json</exclude>
+            <!-- Mermaid does't like comments -->
+            <exclude>**/*.mmd</exclude>
 
-                        <!-- Output of the profiler maven extension -->
-                        <exclude>**/.profiler/**</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
+            <!-- Output of the profiler maven extension -->
+            <exclude>**/.profiler/**</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
 
-            <!-- Download all the tools needed to generate the output -->
-            <plugin>
-                <groupId>com.googlecode.maven-download-plugin</groupId>
-                <artifactId>download-maven-plugin</artifactId>
-                <version>${download-maven-plugin.version}</version>
-                <executions>
-                    <!-- Get the asciidoctor revealjs module -->
-                    <execution>
-                        <id>install-asciidoctor-revealjs</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>wget</goal>
-                        </goals>
-                        <configuration>
-                            <url>https://github.com/asciidoctor/asciidoctor-reveal.js/archive/v${asciidoctor-revealjs.version}.zip</url>
-                            <unpack>true</unpack>
-                            <outputFileName>asciidoctor-reveal.js-${asciidoctor-revealjs.version}.zip</outputFileName>
-                            <outputDirectory>${project.build.directory}</outputDirectory>
-                        </configuration>
-                    </execution>
-                    <!-- Get the reveal js sources -->
-                    <execution>
-                        <id>install-revealjs</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>wget</goal>
-                        </goals>
-                        <configuration>
-                            <url>https://github.com/hakimel/reveal.js/archive/${revealjs.version}.zip</url>
-                            <unpack>true</unpack>
-                            <outputFileName>reveal.js-${revealjs.version}.zip</outputFileName>
-                            <outputDirectory>${project.slides.directory}</outputDirectory>
-                        </configuration>
-                    </execution>
-                    <!-- Download the C3 and D3 libraries -->
-                    <execution>
-                        <id>download-c3-css</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>wget</goal>
-                        </goals>
-                        <configuration>
-                            <url>https://cdnjs.cloudflare.com/ajax/libs/c3/0.6.12/c3.min.css</url>
-                            <outputDirectory>${project.slides.directory}/css</outputDirectory>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>download-c3-js</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>wget</goal>
-                        </goals>
-                        <configuration>
-                            <url>https://cdnjs.cloudflare.com/ajax/libs/c3/0.6.12/c3.min.js</url>
-                            <outputDirectory>${project.slides.directory}/js</outputDirectory>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>download-d3-js</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>wget</goal>
-                        </goals>
-                        <configuration>
-                            <url>https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js</url>
-                            <outputDirectory>${project.slides.directory}/js</outputDirectory>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
+      <!-- Download all the tools needed to generate the output -->
+      <plugin>
+        <groupId>com.googlecode.maven-download-plugin</groupId>
+        <artifactId>download-maven-plugin</artifactId>
+        <version>${download-maven-plugin.version}</version>
+        <executions>
+          <!-- Get the asciidoctor revealjs module -->
+          <execution>
+            <id>install-asciidoctor-revealjs</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>wget</goal>
+            </goals>
+            <configuration>
+              <url>
+                https://github.com/asciidoctor/asciidoctor-reveal.js/archive/v${asciidoctor-revealjs.version}.zip
+              </url>
+              <unpack>true</unpack>
+              <outputFileName>asciidoctor-reveal.js-${asciidoctor-revealjs.version}.zip</outputFileName>
+              <outputDirectory>${project.build.directory}</outputDirectory>
+            </configuration>
+          </execution>
+          <!-- Get the reveal js sources -->
+          <execution>
+            <id>install-revealjs</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>wget</goal>
+            </goals>
+            <configuration>
+              <url>https://github.com/hakimel/reveal.js/archive/${revealjs.version}.zip</url>
+              <unpack>true</unpack>
+              <outputFileName>reveal.js-${revealjs.version}.zip</outputFileName>
+              <outputDirectory>${project.slides.directory}</outputDirectory>
+            </configuration>
+          </execution>
+          <!-- Download the C3 and D3 libraries -->
+          <execution>
+            <id>download-c3-css</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>wget</goal>
+            </goals>
+            <configuration>
+              <url>https://cdnjs.cloudflare.com/ajax/libs/c3/0.6.12/c3.min.css</url>
+              <outputDirectory>${project.slides.directory}/css</outputDirectory>
+            </configuration>
+          </execution>
+          <execution>
+            <id>download-c3-js</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>wget</goal>
+            </goals>
+            <configuration>
+              <url>https://cdnjs.cloudflare.com/ajax/libs/c3/0.6.12/c3.min.js</url>
+              <outputDirectory>${project.slides.directory}/js</outputDirectory>
+            </configuration>
+          </execution>
+          <execution>
+            <id>download-d3-js</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>wget</goal>
+            </goals>
+            <configuration>
+              <url>https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js</url>
+              <outputDirectory>${project.slides.directory}/js</outputDirectory>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
 
-            <!--
-                Make sure the filtered resources are output to the slides directory and
-                theme content is output to the themes directory of reveal js.
-            -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>${maven-resources-plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>copy-resources</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>copy-resources</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${project.build.directory}</outputDirectory>
-                            <resources>
-                                <!-- Copy the normal resources into the root of the slides directory -->
-                                <resource>
-                                    <directory>src/main/resources</directory>
-                                    <targetPath>${project.slides.directory}</targetPath>
-                                </resource>
-                                <!-- Copy our css-theme to the reveal.js theme directory -->
-                                <resource>
-                                    <directory>src/main/theme</directory>
-                                    <filtering>true</filtering>
-                                    <targetPath>${project.slides.directory}/reveal.js-${revealjs.version}/css/theme</targetPath>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
+      <!--
+          Make sure the filtered resources are output to the slides directory and
+          theme content is output to the themes directory of reveal js.
+      -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-resources-plugin</artifactId>
+        <version>${maven-resources-plugin.version}</version>
+        <executions>
+          <execution>
+            <id>copy-resources</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>copy-resources</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>${project.build.directory}</outputDirectory>
+              <resources>
+                <!-- Copy the normal resources into the root of the slides directory -->
+                <resource>
+                  <directory>src/main/resources</directory>
+                  <targetPath>${project.slides.directory}</targetPath>
+                </resource>
+                <!-- Copy our css-theme to the reveal.js theme directory -->
+                <resource>
+                  <directory>src/main/theme</directory>
+                  <filtering>true</filtering>
+                  <targetPath>${project.slides.directory}/reveal.js-${revealjs.version}/css/theme</targetPath>
+                </resource>
+              </resources>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
 
-            <!-- Get some static Apache resources shared throughout all presentations -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <version>3.1.1</version>
-                <executions>
-                    <execution>
-                        <id>copy-training-asciidoc-resources</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>unpack</goal>
-                        </goals>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.apache.training</groupId>
-                                    <artifactId>content-master-resources</artifactId>
-                                    <version>1.0.0-SNAPSHOT</version>
-                                    <type>jar</type>
-                                    <overWrite>true</overWrite>
-                                    <outputDirectory>${project.build.directory}/asciidoctor-reveal.js-${asciidoctor-revealjs.version}/templates</outputDirectory>
-                                    <includes>*.slim</includes>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-training-presentation-themes</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>unpack</goal>
-                        </goals>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.apache.training</groupId>
-                                    <artifactId>content-master-resources</artifactId>
-                                    <version>1.0.0-SNAPSHOT</version>
-                                    <type>jar</type>
-                                    <outputDirectory>${project.slides.directory}/reveal.js-${revealjs.version}/css/theme</outputDirectory>
-                                    <includes>*.css</includes>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>copy-training-presentation-resources</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>unpack</goal>
-                        </goals>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.apache.training</groupId>
-                                    <artifactId>content-master-resources</artifactId>
-                                    <version>1.0.0-SNAPSHOT</version>
-                                    <type>jar</type>
-                                    <outputDirectory>${project.slides.directory}/images</outputDirectory>
-                                    <excludes>*.slim,*.css,META-INF/**</excludes>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
+      <!-- Get some static Apache resources shared throughout all presentations -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <version>3.1.1</version>
+        <executions>
+          <execution>
+            <id>copy-training-asciidoc-resources</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>unpack</goal>
+            </goals>
+            <configuration>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>org.apache.training</groupId>
+                  <artifactId>content-parent-resources</artifactId>
+                  <type>jar</type>
+                  <overWrite>true</overWrite>
+                  <outputDirectory>
+                    ${project.build.directory}/asciidoctor-reveal.js-${asciidoctor-revealjs.version}/templates
+                  </outputDirectory>
+                  <includes>*.slim</includes>
+                </artifactItem>
+              </artifactItems>
+            </configuration>
+          </execution>
+          <execution>
+            <id>copy-training-presentation-themes</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>unpack</goal>
+            </goals>
+            <configuration>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>org.apache.training</groupId>
+                  <artifactId>content-parent-resources</artifactId>
+                  <type>jar</type>
+                  <outputDirectory>${project.slides.directory}/reveal.js-${revealjs.version}/css/theme
+                  </outputDirectory>
+                  <includes>*.css</includes>
+                </artifactItem>
+              </artifactItems>
+            </configuration>
+          </execution>
+          <execution>
+            <id>copy-training-presentation-resources</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>unpack</goal>
+            </goals>
+            <configuration>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>org.apache.training</groupId>
+                  <artifactId>content-parent-resources</artifactId>
+                  <type>jar</type>
+                  <outputDirectory>${project.slides.directory}/images</outputDirectory>
+                  <excludes>*.slim,*.css,META-INF/**</excludes>
+                </artifactItem>
+              </artifactItems>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
 
-            <!-- Configure the asciidoctor generation -->
-            <plugin>
-                <groupId>org.asciidoctor</groupId>
-                <artifactId>asciidoctor-maven-plugin</artifactId>
-                <version>${asciidoctor.maven.plugin.version}</version>
-                <executions>
-                    <execution>
-                        <id>generate-slides</id>
-                        <phase>process-resources</phase>
-                        <goals>
-                            <goal>process-asciidoc</goal>
-                        </goals>
-                        <configuration>
-                            <!-- Tell asciidoctor to use the reveal.js backend and not the default html -->
-                            <backend>revealjs</backend>
-                            <!-- Configure where are all the asciidoc source files located -->
-                            <sourceDirectory>src/main/asciidoc</sourceDirectory>
-                            <!-- Configure the target director to where will the output be generated -->
-                            <outputDirectory>${project.slides.directory}</outputDirectory>
-                            <!-- Enable optional modules for generating diagrams and charts -->
-                            <requires>
-                                <require>asciidoctor-diagram</require>
-                                <!--require>chart-block-macro</require-->
-                            </requires>
-                            <!-- This has to point to the asciidoctor-revealjs directory which contains all the "slim" files -->
-                            <templateDir>${project.build.directory}/asciidoctor-reveal.js-${asciidoctor-revealjs.version}/templates</templateDir>
-                            <attributes>
-                                <!--imagesdir></imagesdir-->
-                                <!--
-                                    Tell the system the relative path to the reveal.js files
-                                    inside the generated-slides directory.
-                                -->
-                                <revealjsdir>reveal.js-${revealjs.version}</revealjsdir>
-                                <!--
-                                    Use our custom theme, which is defined by src/main/theme/apache.css
-                                    and copied inside the reveal.js installation by the resources plugin a few lines
-                                    up inside this pom.
-                                -->
-                                <revealjs_theme>${project.main.theme}</revealjs_theme>
-                                <!-- Some basic settings -->
-                                <revealjs_transition>linear</revealjs_transition>
-                                <project-version>${project.version}</project-version>
-                                <source-highlighter>highlightjs</source-highlighter>
-                                <!--highlightjs-theme>https://raw.githubusercontent.com/isagalaev/highlight.js/master/src/styles/arduino-light.css</highlightjs-theme-->
-                                <erd>${basedir}/libs/third-party/erd/.stack-work/dist/x86_64-osx/Cabal-2.2.0.1/build/erd/erd</erd>
-                                <!--convert>${basedir}/libs/third-party/ImageMagick-7.0.8/bin/convert</convert>
-                                <identify>${basedir}/libs/third-party/ImageMagick-7.0.8/bin/identify</identify-->
-                                <mermaid>${basedir}/libs/third-party/node_modules/.bin/mmdc</mermaid>
-                                <phantomjs>${basedir}/libs/third-party/phantomjs-2.1.1-macosx/bin/phantomjs</phantomjs>
-                                <svgbob>${basedir}/libs/third-party/svgbob/bin/svgbob</svgbob>
-                                <vg2svg>${basedir}/libs/third-party/node_modules/.bin/vg2svg</vg2svg>
-                            </attributes>
-                        </configuration>
-                    </execution>
-                </executions>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.asciidoctor</groupId>
-                        <artifactId>asciidoctorj</artifactId>
-                        <version>${asciidoctorj.version}</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.asciidoctor</groupId>
-                        <artifactId>asciidoctorj-diagram</artifactId>
-                        <version>${asciidoctorj.diagram.version}</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
+      <!-- Configure the asciidoctor generation -->
+      <plugin>
+        <groupId>org.asciidoctor</groupId>
+        <artifactId>asciidoctor-maven-plugin</artifactId>
+        <version>${asciidoctor.maven.plugin.version}</version>
+        <executions>
+          <execution>
+            <id>generate-slides</id>
+            <phase>process-resources</phase>
+            <goals>
+              <goal>process-asciidoc</goal>
+            </goals>
+            <configuration>
+              <!-- Tell asciidoctor to use the reveal.js backend and not the default html -->
+              <backend>revealjs</backend>
+              <!-- Configure where are all the asciidoc source files located -->
+              <sourceDirectory>src/main/asciidoc</sourceDirectory>
+              <!-- Configure the target director to where will the output be generated -->
+              <outputDirectory>${project.slides.directory}</outputDirectory>
+              <!-- Enable optional modules for generating diagrams and charts -->
+              <requires>
+                <require>asciidoctor-diagram</require>
+                <!--require>chart-block-macro</require-->
+              </requires>
+              <!-- This has to point to the asciidoctor-revealjs directory which contains all the "slim" files -->
+              <templateDir>
+                ${project.build.directory}/asciidoctor-reveal.js-${asciidoctor-revealjs.version}/templates
+              </templateDir>
+              <attributes>
+                <!--imagesdir></imagesdir-->
+                <!--
+                    Tell the system the relative path to the reveal.js files
+                    inside the generated-slides directory.
+                -->
+                <revealjsdir>reveal.js-${revealjs.version}</revealjsdir>
+                <!--
+                    Use our custom theme, which is defined by src/main/theme/apache.css
+                    and copied inside the reveal.js installation by the resources plugin a few lines
+                    up inside this pom.
+                -->
+                <revealjs_theme>${project.main.theme}</revealjs_theme>
+                <!-- Some basic settings -->
+                <revealjs_transition>linear</revealjs_transition>
+                <project-version>${project.version}</project-version>
+                <source-highlighter>highlightjs</source-highlighter>
+                <!--highlightjs-theme>https://raw.githubusercontent.com/isagalaev/highlight.js/master/src/styles/arduino-light.css</highlightjs-theme-->
+                <erd>${basedir}/libs/third-party/erd/.stack-work/dist/x86_64-osx/Cabal-2.2.0.1/build/erd/erd</erd>
+                <!--convert>${basedir}/libs/third-party/ImageMagick-7.0.8/bin/convert</convert>
+                <identify>${basedir}/libs/third-party/ImageMagick-7.0.8/bin/identify</identify-->
+                <mermaid>${basedir}/libs/third-party/node_modules/.bin/mmdc</mermaid>
+                <phantomjs>${basedir}/libs/third-party/phantomjs-2.1.1-macosx/bin/phantomjs</phantomjs>
+                <svgbob>${basedir}/libs/third-party/svgbob/bin/svgbob</svgbob>
+                <vg2svg>${basedir}/libs/third-party/node_modules/.bin/vg2svg</vg2svg>
+              </attributes>
+            </configuration>
+          </execution>
+        </executions>
+        <dependencies>
+          <dependency>
+            <groupId>org.asciidoctor</groupId>
+            <artifactId>asciidoctorj</artifactId>
+            <version>${asciidoctorj.version}</version>
+          </dependency>
+          <dependency>
+            <groupId>org.asciidoctor</groupId>
+            <artifactId>asciidoctorj-diagram</artifactId>
+            <version>${asciidoctorj.diagram.version}</version>
+          </dependency>
+        </dependencies>
+      </plugin>
 
-            <!--
-                As it's the "revealjs" output, asciidoctor will name the file with an ending "revealjs".
-                Here we rename that file back to "html".
-            -->
-            <plugin>
-                <groupId>org.codehaus.gmaven</groupId>
-                <artifactId>groovy-maven-plugin</artifactId>
-                <version>2.1.1</version>
-                <executions>
-                    <!-- Set some dynamic variables which are useful for the site generation -->
-                    <execution>
-                        <id>rename-revealjs-files</id>
-                        <phase>prepare-package</phase>
-                        <goals>
-                            <goal>execute</goal>
-                        </goals>
-                        <configuration>
-                            <source>
-                                import static groovy.io.FileType.FILES
-                                println "\nRenaming output files:"
-                                def baseDirectory = project.model.pomFile.parent
-                                def slideOutputDirectory = new File(baseDirectory, "target/generated-slides")
-                                if(slideOutputDirectory.exists()) {
-                                    slideOutputDirectory.eachFileRecurse(FILES) {
-                                        if(it.name.endsWith('.revealjs')) {
-                                            def oldFileName = it.name
-                                            def newFileName = oldFileName.substring(0, oldFileName.lastIndexOf(".")) + ".html"
-                                            it.renameTo(new File(it.parent, newFileName))
-                                            println "Renaming " + oldFileName + " to " + newFileName
-                                        }
-                                    }
-                                    println ""
-                                }
-                            </source>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
+      <!--
+          As it's the "revealjs" output, asciidoctor will name the file with an ending "revealjs".
+          Here we rename that file back to "html".
+      -->
+      <plugin>
+        <groupId>org.codehaus.gmaven</groupId>
+        <artifactId>groovy-maven-plugin</artifactId>
+        <version>2.1.1</version>
+        <executions>
+          <!-- Set some dynamic variables which are useful for the site generation -->
+          <execution>
+            <id>rename-revealjs-files</id>
+            <phase>prepare-package</phase>
+            <goals>
+              <goal>execute</goal>
+            </goals>
+            <configuration>
+              <source>
+                import static groovy.io.FileType.FILES
 
-            <!-- If the packaging is se to "war", pack the slides into a war file -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-war-plugin</artifactId>
-                <version>3.2.2</version>
-                <configuration>
-                    <failOnMissingWebXml>false</failOnMissingWebXml>
-                    <warSourceDirectory>${project.slides.directory}</warSourceDirectory>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+                println "\nRenaming output files:"
+                def baseDirectory = project.model.pomFile.parent
+                def slideOutputDirectory = new File(baseDirectory, "target/generated-slides")
+                if (slideOutputDirectory.exists()) {
+                  slideOutputDirectory.eachFileRecurse(FILES) {
+                    if (it.name.endsWith('.revealjs')) {
+                      def oldFileName = it.name
+                      def newFileName = oldFileName.substring(0, oldFileName.lastIndexOf(".")) + ".html"
+                      it.renameTo(new File(it.parent, newFileName))
+                      println "Renaming " + oldFileName + " to " + newFileName
+                    }
+                  }
+                  println ""
+                }
+              </source>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+
+      <!-- If the packaging is se to "war", pack the slides into a war file -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.2.2</version>
+        <configuration>
+          <failOnMissingWebXml>false</failOnMissingWebXml>
+          <warSourceDirectory>${project.slides.directory}</warSourceDirectory>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 
 </project>
diff --git a/tools/content-parent-resources/README.md b/tools/content-parent-resources/README.md
new file mode 100644
index 0000000..8432240
--- /dev/null
+++ b/tools/content-parent-resources/README.md
@@ -0,0 +1,17 @@
+REMARKS:
+
+
+
+the file: src/main/resources/document.html.slim contains a copy oif the original version of the file in the asciidoctor-reveal.js-{version}/templates directory.
+
+However we add two sets of divs in order to position logos.
+Additionally we add some CSS imports for c3, d3 libraries.
+All added blocks are wrapped in:
+
+    / START ADDED For Apache Training
+
+And
+
+    / END ADDED For Apache Training
+
+When updating the ascidoctor-revealjs version, this file needs to be updated too.
\ No newline at end of file
diff --git a/tools/content-parent-resources/pom.xml b/tools/content-parent-resources/pom.xml
index 908b992..327ecb0 100644
--- a/tools/content-parent-resources/pom.xml
+++ b/tools/content-parent-resources/pom.xml
@@ -31,7 +31,7 @@
     </parent>
 
     <groupId>org.apache.training</groupId>
-    <artifactId>content-master-resources</artifactId>
+    <artifactId>content-parent-resources</artifactId>
     <version>1.0.0-SNAPSHOT</version>
 
     <name>Training: Tools: Content Master Resources</name>
diff --git a/tools/content-parent-resources/src/main/resources/document.html.slim b/tools/content-parent-resources/src/main/resources/document.html.slim
index 9d1e41e..11329bb 100644
--- a/tools/content-parent-resources/src/main/resources/document.html.slim
+++ b/tools/content-parent-resources/src/main/resources/document.html.slim
@@ -12,16 +12,19 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
     - [:description, :keywords, :author, :copyright].each do |key|
       - if attr? key
         meta name=key content=(attr key)
+    - linkcss = (attr? 'linkcss')
     title=(doctitle sanitize: true, use_fallback: true)
     meta content="yes" name="apple-mobile-web-app-capable"
     meta content="black-translucent" name="apple-mobile-web-app-status-bar-style"
     meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui" name="viewport"
     link href="#{revealjsdir}/css/reveal.css" rel="stylesheet"
+    / START ADDED For Apache Training
     / Start adding c3, d3
     link href="css/c3.min.css" rel="stylesheet"
     script src="js/d3.min.js" charset="utf-8"
     script src="js/c3.min.js"
     / End adding c3, d3
+    / END ADDED For Apache Training
     / Default theme required even when using custom theme
     - if attr? :revealjs_customtheme
       link rel='stylesheet' href=(attr :revealjs_customtheme) id='theme'
@@ -29,8 +32,10 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
       link rel='stylesheet' href='#{revealjsdir}/css/theme/#{attr 'revealjs_theme', 'black'}.css' id='theme'
     include asciidoctor_revealjs.css.slim
     - if attr? :icons, 'font'
+      / iconfont-remote is implicitly set by Asciidoctor core. See https://github.com/asciidoctor/asciidoctor.org/issues/361
       - if attr? 'iconfont-remote'
-        link rel='stylesheet' href=(attr 'iconfont-cdn', %(#{cdn_base}/font-awesome/4.3.0/css/font-awesome.min.css))
+        link rel='stylesheet' href=(attr 'iconfont-cdn', %(#{cdn_base}/font-awesome/5.12.0-1/css/all.min.css))
+        link rel='stylesheet' href=(attr 'iconfont-cdn', %(#{cdn_base}/font-awesome/5.12.0-1/css/v4-shims.min.css))
       - else
         link rel='stylesheet' href=(normalize_web_path %(#{attr 'iconfont-name', 'font-awesome'}.css), (attr 'stylesdir', ''), false)
     - if attr? :stem
@@ -51,24 +56,10 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
           TeX: {#{eqnums_opt}}
           });
       script src='#{cdn_base}/mathjax/2.4.0/MathJax.js?config=TeX-MML-AM_HTMLorMML'
-    - case document.attr 'source-highlighter'
-    - when 'coderay'
-      - if (attr 'coderay-css', 'class') == 'class'
-        - if @safe >= Asciidoctor::SafeMode::SECURE || (attr? :linkcss)
-          link rel='stylesheet' href=normalize_web_path('asciidoctor-coderay.css', (attr :stylesdir, ''))
-        - else
-          style=Asciidoctor::Stylesheets.instance.coderay_stylesheet_data
-    - when 'pygments'
-      - if (attr 'pygments-css', 'class') == 'class'
-        - if @safe >= Asciidoctor::SafeMode::SECURE || (attr? :linkcss)
-          link rel='stylesheet' href=normalize_web_path('asciidoctor-pygments.css', (attr :stylesdir, ''))
-        - else
-          style=Asciidoctor::Stylesheets.instance.pygments_stylesheet_data(attr 'pygments-style')
-    / For syntax highlighting
-    - if attr? 'highlightjs-theme'
-      link href=(attr 'highlightjs-theme') rel="stylesheet"
-    - else
-      link href="#{revealjsdir}/lib/css/zenburn.css" rel="stylesheet"
+
+    - syntax_hl = self.syntax_highlighter
+    - if syntax_hl && (syntax_hl.docinfo? :head)
+      =syntax_hl.docinfo :head, self, cdn_base_url: cdn_base, linkcss: linkcss, self_closing_tag_slash: '/'
     / If the query includes 'print-pdf', use the PDF print sheet
     javascript:
       var link = document.createElement( 'link' );
@@ -83,9 +74,11 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
     - if attr? :customcss
       link rel='stylesheet' href=((customcss = attr :customcss).empty? ? 'asciidoctor-revealjs.css' : customcss)
   body
+    / START ADDED For Apache Training
     .header
       .left
       .right
+    / END ADDED For Apache Training
     .reveal
       / Any section element inside of this container is displayed as a slide
       .slides
@@ -102,6 +95,7 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
             data-background-video=bg_video
             data-background-video-loop=(attr 'title-slide-background-video-loop')
             data-background-video-muted=(attr 'title-slide-background-video-muted')
+            data-background-opacity=(attr "background-opacity")
             data-background-iframe=(attr 'title-slide-background-iframe')
             data-background-color=(attr 'title-slide-background-color')
             data-background-repeat=(attr 'title-slide-background-repeat')
@@ -118,9 +112,12 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
             - unless author.nil?
               p.author: small=author
         =content
+    / START ADDED For Apache Training
     .footer
       .left
       .right
+    / END ADDED For Apache Training
+    script src="#{revealjsdir}/lib/js/head.min.js"
     script src="#{revealjsdir}/js/reveal.js"
     javascript:
       Array.prototype.slice.call(document.querySelectorAll('.slides section')).forEach(function(slide) {
@@ -140,12 +137,12 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
         controls: #{to_boolean(attr 'revealjs_controls', true)},
         // Help the user learn the controls by providing hints, for example by
         // bouncing the down arrow when they first encounter a vertical slide
-        controlsTutorial: #{to_boolean(attr 'revealjs_controlsTutorial', true)},
+        controlsTutorial: #{to_boolean(attr 'revealjs_controlstutorial', true)},
         // Determines where controls appear, "edges" or "bottom-right"
-        controlsLayout: '#{attr 'revealjs_controlsLayout', 'bottom-right'}',
+        controlsLayout: '#{attr 'revealjs_controlslayout', 'bottom-right'}',
         // Visibility rule for backwards navigation arrows; "faded", "hidden"
         // or "visible"
-        controlsBackArrows: '#{attr 'revealjs_controlsBackArrows', 'faded'}',
+        controlsBackArrows: '#{attr 'revealjs_controlsbackarrows', 'faded'}',
         // Display a presentation progress bar
         progress: #{to_boolean(attr 'revealjs_progress', true)},
         // Display the page number of the current slide
@@ -172,7 +169,7 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
         fragments: #{to_boolean(attr 'revealjs_fragments', true)},
         // Flags whether to include the current fragment in the URL,
         // so that reloading brings you to the same fragment position
-        fragmentInURL: #{to_boolean(attr 'revealjs_fragmentInURL', false)},
+        fragmentInURL: #{to_boolean(attr 'revealjs_fragmentinurl', false)},
         // Flags if the presentation is running in an embedded mode,
         // i.e. contained within a limited portion of the screen
         embedded: #{to_boolean(attr 'revealjs_embedded', false)},
@@ -180,49 +177,49 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
         // key is pressed
         help: #{to_boolean(attr 'revealjs_help', true)},
         // Flags if speaker notes should be visible to all viewers
-        showNotes: #{to_boolean(attr 'revealjs_showNotes', false)},
+        showNotes: #{to_boolean(attr 'revealjs_shownotes', false)},
         // Global override for autolaying embedded media (video/audio/iframe)
         // - null: Media will only autoplay if data-autoplay is present
         // - true: All media will autoplay, regardless of individual setting
         // - false: No media will autoplay, regardless of individual setting
-        autoPlayMedia: #{attr 'revealjs_autoPlayMedia', 'null'},
+        autoPlayMedia: #{attr 'revealjs_autoplaymedia', 'null'},
         // Number of milliseconds between automatically proceeding to the
         // next slide, disabled when set to 0, this value can be overwritten
         // by using a data-autoslide attribute on your slides
-        autoSlide: #{attr 'revealjs_autoSlide', 0},
+        autoSlide: #{attr 'revealjs_autoslide', 0},
         // Stop auto-sliding after user input
-        autoSlideStoppable: #{to_boolean(attr 'revealjs_autoSlideStoppable', true)},
+        autoSlideStoppable: #{to_boolean(attr 'revealjs_autoslidestoppable', true)},
         // Use this method for navigation when auto-sliding
-        autoSlideMethod: #{attr 'revealjs_autoSlideMethod', 'Reveal.navigateNext'},
+        autoSlideMethod: #{attr 'revealjs_autoslidemethod', 'Reveal.navigateNext'},
         // Specify the average time in seconds that you think you will spend
         // presenting each slide. This is used to show a pacing timer in the
         // speaker view
-        defaultTiming: #{attr 'revealjs_defaultTiming', 120},
+        defaultTiming: #{attr 'revealjs_defaulttiming', 120},
         // Enable slide navigation via mouse wheel
-        mouseWheel: #{to_boolean(attr 'revealjs_mouseWheel', false)},
+        mouseWheel: #{to_boolean(attr 'revealjs_mousewheel', false)},
         // Hides the address bar on mobile devices
-        hideAddressBar: #{to_boolean(attr 'revealjs_hideAddressBar', true)},
+        hideAddressBar: #{to_boolean(attr 'revealjs_hideaddressbar', true)},
         // Opens links in an iframe preview overlay
         // Add `data-preview-link` and `data-preview-link="false"` to customise each link
         // individually
-        previewLinks: #{to_boolean(attr 'revealjs_previewLinks', false)},
+        previewLinks: #{to_boolean(attr 'revealjs_previewlinks', false)},
         // Transition style (e.g., none, fade, slide, convex, concave, zoom)
         transition: '#{attr 'revealjs_transition', 'slide'}',
         // Transition speed (e.g., default, fast, slow)
-        transitionSpeed: '#{attr 'revealjs_transitionSpeed', 'default'}',
+        transitionSpeed: '#{attr 'revealjs_transitionspeed', 'default'}',
         // Transition style for full page slide backgrounds (e.g., none, fade, slide, convex, concave, zoom)
-        backgroundTransition: '#{attr 'revealjs_backgroundTransition', 'fade'}',
+        backgroundTransition: '#{attr 'revealjs_backgroundtransition', 'fade'}',
         // Number of slides away from the current that are visible
-        viewDistance: #{attr 'revealjs_viewDistance', 3},
+        viewDistance: #{attr 'revealjs_viewdistance', 3},
         // Parallax background image (e.g., "'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg'")
-        parallaxBackgroundImage: '#{attr 'revealjs_parallaxBackgroundImage', ''}',
+        parallaxBackgroundImage: '#{attr 'revealjs_parallaxbackgroundimage', ''}',
         // Parallax background size in CSS syntax (e.g., "2100px 900px")
-        parallaxBackgroundSize: '#{attr 'revealjs_parallaxBackgroundSize', ''}',
+        parallaxBackgroundSize: '#{attr 'revealjs_parallaxbackgroundsize', ''}',
         // Number of pixels to move the parallax background per slide
         // - Calculated automatically unless specified
         // - Set to 0 to disable movement along an axis
-        parallaxBackgroundHorizontal: #{attr 'revealjs_parallaxBackgroundHorizontal', 'null'},
-        parallaxBackgroundVertical: #{attr 'revealjs_parallaxBackgroundVertical', 'null'},
+        parallaxBackgroundHorizontal: #{attr 'revealjs_parallaxbackgroundhorizontal', 'null'},
+        parallaxBackgroundVertical: #{attr 'revealjs_parallaxbackgroundvertical', 'null'},
         // The display mode that will be used to show slides
         display: '#{attr 'revealjs_display', 'block'}',
 
@@ -239,6 +236,12 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
         minScale: #{attr 'revealjs_minscale', 0.2},
         maxScale: #{attr 'revealjs_maxscale', 1.5},
 
+        // PDF Export Options
+        // Put each fragment on a separate page
+        pdfSeparateFragments: #{to_boolean(attr 'revealjs_pdfseparatefragments', true)},
+        // For slides that do not fit on a page, max number of pages
+        pdfMaxPagesPerSlide: #{attr 'revealjs_pdfmaxpagesperslide', 1},
+
         // Optional libraries used to extend on reveal.js
         dependencies: [
             { src: '#{revealjsdir}/lib/js/classList.js', condition: function() { return !document.body.classList; } },
@@ -254,5 +257,8 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
         #{(attr? 'revealjs_plugins_configuration') ? File.read(attr('revealjs_plugins_configuration', '')) : ""}
 
       });
+    - if syntax_hl && (syntax_hl.docinfo? :footer)
+      =syntax_hl.docinfo :footer, self, cdn_base_url: cdn_base, linkcss: linkcss, self_closing_tag_slash: '/'
+
     - unless (docinfo_content = (docinfo :footer, '.html')).empty?
       =docinfo_content