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
