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 <[email protected]>
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

Reply via email to