- Renamed the artifact-id of the parent to match the directory (Must have missed that)
- Updated all existing presentations to use the new content-parent-pom
- Added reactor poms to make it simple to build all presentations in one go
diff --git a/content/ApacheCon/Gemfile b/content/ApacheCon/Gemfile
index b846263..50bcb6b 100644
--- a/content/ApacheCon/Gemfile
+++ b/content/ApacheCon/Gemfile
@@ -1,3 +1,22 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
source 'https://rubygems.org'
gem 'asciidoctor-revealjs' # latest released version
diff --git a/content/ApacheCon/convert-slides.js b/content/ApacheCon/convert-slides.js
index d3a6e03..1abdfb5 100644
--- a/content/ApacheCon/convert-slides.js
+++ b/content/ApacheCon/convert-slides.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
// Load Asciidoctor.js and the reveal.js converter
var asciidoctor = require('@asciidoctor/core')()
var asciidoctorRevealjs = require('@asciidoctor/reveal.js')
diff --git a/content/ApacheCon/libs/docinfo-hack/document.html.slim b/content/ApacheCon/libs/docinfo-hack/document.html.slim
deleted file mode 100644
index ec9e3cf..0000000
--- a/content/ApacheCon/libs/docinfo-hack/document.html.slim
+++ /dev/null
@@ -1,214 +0,0 @@
-doctype 5
-html lang=(attr :lang, 'en' unless attr? :nolang)
- head
- meta charset="utf-8"
- - revealjsdir = (attr :revealjsdir, 'reveal.js')
- - unless (asset_uri_scheme = (attr 'asset-uri-scheme', 'https')).empty?
- - asset_uri_scheme = %(#{asset_uri_scheme}:)
- - cdn_base = %(#{asset_uri_scheme}//cdnjs.cloudflare.com/ajax/libs)
- - [:description, :keywords, :author, :copyright].each do |key|
- - if attr? key
- meta name=key content=(attr key)
- 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"
- link href="css/c3.min.css" rel="stylesheet"
- script src="js/d3.min.js" charset="utf-8"
- script src="js/c3.min.js"
- / Default theme required even when using custom theme
- - if attr? :revealjs_customtheme
- link rel='stylesheet' href=(attr :revealjs_customtheme) id='theme'
- - else
- link rel='stylesheet' href='#{revealjsdir}/css/theme/#{attr 'revealjs_theme', 'black'}.css' id='theme'
- - if attr? :icons, 'font'
- - if attr? 'iconfont-remote'
- link rel='stylesheet' href=(attr 'iconfont-cdn', %(#{cdn_base}/font-awesome/4.3.0/css/font-awesome.min.css))
- - else
- link rel='stylesheet' href=(normalize_web_path %(#{attr 'iconfont-name', 'font-awesome'}.css), (attr 'stylesdir', ''), false)
- - if attr? :stem
- - eqnums_val = (attr 'eqnums', 'none')
- - eqnums_val = 'AMS' if eqnums_val == ''
- - eqnums_opt = %( equationNumbers: { autoNumber: "#{eqnums_val}" } )
- script type='text/x-mathjax-config'
- | MathJax.Hub.Config({
- tex2jax: {
- inlineMath: [#{Asciidoctor::INLINE_MATH_DELIMITERS[:latexmath].to_s}],
- displayMath: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:latexmath].to_s}],
- ignoreClass: "nostem|nolatexmath"
- },
- asciimath2jax: {
- delimiters: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:asciimath].to_s}],
- ignoreClass: "nostem|noasciimath"
- },
- TeX: {#{eqnums_opt}}
- });
- script src='#{cdn_base}/mathjax/2.4.0/MathJax.js?config=TeX-MML-AM_HTMLorMML'
- - case 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"
- / If the query includes 'print-pdf', use the PDF print sheet
- javascript:
- var link = document.createElement( 'link' );
- link.rel = 'stylesheet';
- link.type = 'text/css';
- link.href = window.location.search.match( /print-pdf/gi ) ? "#{revealjsdir}/css/print/pdf.css" : "#{revealjsdir}/css/print/paper.css";
- document.getElementsByTagName( 'head' )[0].appendChild( link );
- /[if lt IE 9]
- <script src="#{revealjsdir}/lib/js/html5shiv.js"></script>
- - unless (docinfo_content = docinfo :header, '.html').empty?
- =docinfo_content
- - if attr? :customcss
- link rel='stylesheet' href=((customcss = attr :customcss).empty? ? 'asciidoctor-revealjs.css' : customcss)
- body
- .header
- .left
- .right
- .reveal
- / Any section element inside of this container is displayed as a slide
- .slides
- - unless notitle || !has_header?
- - bg_image = (attr? 'title-slide-background-image') ? (image_uri(attr 'title-slide-background-image')) : nil
- - bg_video = (attr? 'title-slide-background-video') ? (media_uri(attr 'title-slide-background-video')) : nil
- section.title(class = role
- data-state='title'
- data-transition=(attr 'title-slide-transition')
- data-transition-speed=(attr 'title-slide-transition-speed')
- data-background=(attr 'title-slide-background')
- data-background-size=(attr 'title-slide-background-size')
- data-background-image=bg_image
- 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-iframe=(attr 'title-slide-background-iframe')
- data-background-color=(attr 'title-slide-background-color')
- data-background-repeat=(attr 'title-slide-background-repeat')
- data-background-position=(attr 'title-slide-background-position')
- data-background-transition=(attr 'title-slide-background-transition'))
- - if (_title_obj = doctitle partition: true, use_fallback: true).subtitle?
- h1=slice_text _title_obj.title, (_slice = header.option? :slice)
- h2=slice_text _title_obj.subtitle, _slice
- - else
- h1=@header.title
- - preamble = @document.find_by context: :preamble
- - unless preamble.nil? or preamble.length == 0
- div.preamble=preamble.pop.content
- - unless author.nil?
- p.author: small=author
- =content
- .footer
- .left
- .right
- script src="#{revealjsdir}/lib/js/head.min.js"
- script src="#{revealjsdir}/js/reveal.js"
- javascript:
- // See https://github.com/hakimel/reveal.js#configuration for a full list of configuration options
- Reveal.initialize({
- // Display controls in the bottom right corner
- controls: #{to_boolean(attr 'revealjs_controls', true)},
- // Display a presentation progress bar
- progress: #{to_boolean(attr 'revealjs_progress', true)},
- // Set a per-slide timing for speaker notes, null means none
- defaultTiming: #{attr 'revealjs_defaultTiming', 'null'},
- // Display the page number of the current slide
- slideNumber: #{to_boolean(attr 'revealjs_slidenumber', false)},
- // Push each slide change to the browser history
- history: #{to_boolean(attr 'revealjs_history', false)},
- // Enable keyboard shortcuts for navigation
- keyboard: #{to_boolean(attr 'revealjs_keyboard', true)},
- // Enable the slide overview mode
- overview: #{to_boolean(attr 'revealjs_overview', true)},
- // Vertical centering of slides
- center: #{to_boolean(attr 'revealjs_center', true)},
- // Enables touch navigation on devices with touch input
- touch: #{to_boolean(attr 'revealjs_touch', true)},
- // Loop the presentation
- loop: #{to_boolean(attr 'revealjs_loop', false)},
- // Change the presentation direction to be RTL
- rtl: #{to_boolean(attr 'revealjs_rtl', false)},
- // Randomizes the order of slides each time the presentation loads
- shuffle: #{to_boolean(attr 'revealjs_shuffle', false)},
- // Turns fragments on and off globally
- fragments: #{to_boolean(attr 'revealjs_fragments', true)},
- // 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)},
- // Flags if we should show a help overlay when the questionmark
- // 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)},
- // 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'},
- // 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},
- // Stop auto-sliding after user input
- autoSlideStoppable: #{to_boolean(attr 'revealjs_autoslidestoppable', true)},
- // Enable slide navigation via mouse wheel
- mouseWheel: #{to_boolean(attr 'revealjs_mousewheel', false)},
- // Hides the address bar on mobile devices
- hideAddressBar: #{to_boolean(attr 'revealjs_hideaddressbar', true)},
- // Opens links in an iframe preview overlay
- previewLinks: #{to_boolean(attr 'revealjs_previewlinks', false)},
- // Theme (e.g., beige, black, league, night, serif, simple, sky, solarized, white)
- // NOTE setting the theme in the config no longer works in reveal.js 3.x
- //theme: Reveal.getQueryHash().theme || '#{attr 'revealjs_theme', 'black'}',
- // Transition style (e.g., none, fade, slide, convex, concave, zoom)
- transition: Reveal.getQueryHash().transition || '#{attr 'revealjs_transition', 'slide'}',
- // Transition speed (e.g., default, fast, slow)
- 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'}',
- // Number of slides away from the current that are visible
- 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', ''}',
- // Parallax background size in CSS syntax (e.g., "2100px 900px")
- parallaxBackgroundSize: '#{attr 'revealjs_parallaxbackgroundsize', ''}',
-
- // The "normal" size of the presentation, aspect ratio will be preserved
- // when the presentation is scaled to fit different resolutions. Can be
- // specified using percentage units.
- width: #{attr 'revealjs_width', 960},
- height: #{attr 'revealjs_height', 700},
-
- // Factor of the display size that should remain empty around the content
- margin: #{attr 'revealjs_margin', 0.1},
-
- // Bounds for smallest/largest possible scale to apply to content
- minScale: #{attr 'revealjs_minscale', 0.2},
- maxScale: #{attr 'revealjs_maxscale', 1.5},
-
- // Optional libraries used to extend on reveal.js
- dependencies: [
- { src: '#{revealjsdir}/lib/js/classList.js', condition: function() { return !document.body.classList; } },
- { src: '#{revealjsdir}/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
- { src: '#{revealjsdir}/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
- #{(attr? 'source-highlighter', 'highlightjs') ? "{ src: '#{revealjsdir}/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }," : nil}
- { src: '#{revealjsdir}/plugin/zoom-js/zoom.js', async: true },
- { src: '#{revealjsdir}/plugin/notes/notes.js', async: true }
- ]
- });
- - unless (docinfo_content = (docinfo :footer, '.html')).empty?
- =docinfo_content
diff --git a/content/ApacheCon/libs/third-party/erd b/content/ApacheCon/libs/third-party/erd
deleted file mode 160000
index e416dd6..0000000
--- a/content/ApacheCon/libs/third-party/erd
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit e416dd6721b7e9ced0869eaf8197bdac1e10700f
diff --git a/content/ApacheCon/pom.xml b/content/ApacheCon/pom.xml
index 8a68a54..16f40f9 100644
--- a/content/ApacheCon/pom.xml
+++ b/content/ApacheCon/pom.xml
@@ -18,26 +18,28 @@
-->
-<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>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.training</groupId>
- <artifactId>content-master-pom</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </parent>
-
+ <parent>
<groupId>org.apache.training</groupId>
- <artifactId>Apache-Con-Slides</artifactId>
+ <artifactId>content-parent-pom</artifactId>
<version>1.0.0-SNAPSHOT</version>
- <packaging>war</packaging>
+ <relativePath/>
+ </parent>
- <name>ApacheCon slides</name>
- <description>Slides for ApacheCon</description>
+ <groupId>org.apache.training</groupId>
+ <artifactId>Apache-Con-Slides</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>war</packaging>
- <properties>
- <project.main.contentfile>index_en</project.main.contentfile>
- <project.main.theme>apachecon</project.main.theme>
- </properties>
+ <name>ApacheCon slides</name>
+ <description>Slides for ApacheCon</description>
+
+ <properties>
+ <project.main.contentfile>index_en</project.main.contentfile>
+ <project.main.theme>apachecon</project.main.theme>
+ </properties>
</project>
\ No newline at end of file
diff --git a/content/ApacheFlink/pom.xml b/content/ApacheFlink/pom.xml
index be132c5..65a78cb 100644
--- a/content/ApacheFlink/pom.xml
+++ b/content/ApacheFlink/pom.xml
@@ -19,218 +19,21 @@
-->
<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>21</version>
- </parent>
-
+ <parent>
<groupId>org.apache.training</groupId>
- <artifactId>apache-flink</artifactId>
+ <artifactId>content-parent-pom</artifactId>
<version>1.0.0-SNAPSHOT</version>
- <packaging>war</packaging>
+ <relativePath/>
+ </parent>
- <name>Apache Flink Slides</name>
- <description></description>
+ <groupId>org.apache.training</groupId>
+ <artifactId>apache-flink</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>war</packaging>
- <properties>
- <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.0.0-RC.2</asciidoctorj.version>
- <revealjs.version>3.7.0</revealjs.version>
- <asciidoctor-revealjs.version>2.0.0</asciidoctor-revealjs.version>
- <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
- </properties>
+ <name>Apache Flink Slides</name>
+ <description></description>
- <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>
- </plugin>
-
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>1.4.1</version>
- <executions>
- <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>
- <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>
- <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>
- <plugin>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctor-maven-plugin</artifactId>
- <version>${asciidoctor.maven.plugin.version}</version>
- <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>
- <attributes>
- <icons>font</icons>
- </attributes>
- <!-- output file-->
- <outputFile>index.html</outputFile>
- <!-- 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>
- <!--
- 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>apache</revealjs_theme>
- </attributes>
- </configuration>
- <executions>
- <execution>
- <id>generate-slides</id>
- <phase>process-resources</phase>
- <goals>
- <goal>process-asciidoc</goal>
- </goals>
-
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctorj</artifactId>
- <version>${asciidoctorj.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- <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>
- <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>
- <plugin>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>9.4.14.v20181114</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/content/ApacheHive/pom.xml b/content/ApacheHive/pom.xml
index 156f12c..10e901c 100644
--- a/content/ApacheHive/pom.xml
+++ b/content/ApacheHive/pom.xml
@@ -19,218 +19,21 @@
-->
<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>21</version>
- </parent>
-
+ <parent>
<groupId>org.apache.training</groupId>
- <artifactId>apache-hive</artifactId>
+ <artifactId>content-parent-pom</artifactId>
<version>1.0.0-SNAPSHOT</version>
- <packaging>war</packaging>
+ <relativePath/>
+ </parent>
- <name>Apache Hive Slides</name>
- <description></description>
+ <groupId>org.apache.training</groupId>
+ <artifactId>apache-hive</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>war</packaging>
- <properties>
- <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.0.0-RC.2</asciidoctorj.version>
- <revealjs.version>3.7.0</revealjs.version>
- <asciidoctor-revealjs.version>2.0.0</asciidoctor-revealjs.version>
- <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
- </properties>
+ <name>Apache Hive Slides</name>
+ <description></description>
- <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>
- </plugin>
-
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>1.4.1</version>
- <executions>
- <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>
- <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>
- <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>
- <plugin>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctor-maven-plugin</artifactId>
- <version>${asciidoctor.maven.plugin.version}</version>
- <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>
- <attributes>
- <icons>font</icons>
- </attributes>
- <!-- output file-->
- <outputFile>index.html</outputFile>
- <!-- 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>
- <!--
- 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>apache</revealjs_theme>
- </attributes>
- </configuration>
- <executions>
- <execution>
- <id>generate-slides</id>
- <phase>process-resources</phase>
- <goals>
- <goal>process-asciidoc</goal>
- </goals>
-
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctorj</artifactId>
- <version>${asciidoctorj.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- <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>
- <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>
- <plugin>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>9.4.14.v20181114</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/content/ApacheWay/IncubatorReleases/pom.xml b/content/ApacheWay/IncubatorReleases/pom.xml
index 18f9b30..74f0aa2 100644
--- a/content/ApacheWay/IncubatorReleases/pom.xml
+++ b/content/ApacheWay/IncubatorReleases/pom.xml
@@ -19,288 +19,21 @@
-->
<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>21</version>
- </parent>
-
+ <parent>
<groupId>org.apache.training</groupId>
- <artifactId>incubator-releases</artifactId>
+ <artifactId>content-parent-pom</artifactId>
<version>1.0.0-SNAPSHOT</version>
- <packaging>war</packaging>
+ <relativePath/>
+ </parent>
- <name>How To Slide Your Release Past The Incubator</name>
- <description>How to make making releases while your are an ASF incubating project.</description>
+ <groupId>org.apache.training</groupId>
+ <artifactId>incubator-releases</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>war</packaging>
- <properties>
- <project.main.contentfile>index</project.main.contentfile>
- <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.0.0-RC.2</asciidoctorj.version>
- <asciidoctorj.diagram.version>1.5.16</asciidoctorj.diagram.version>
- <asciidoctorj.extensions-lab.version>1.0.0</asciidoctorj.extensions-lab.version>
- <revealjs.version>3.7.0</revealjs.version>
- <asciidoctor-revealjs.version>2.0.0</asciidoctor-revealjs.version>
- </properties>
+ <name>How To Slide Your Release Past The Incubator</name>
+ <description>How to make making releases while your are an ASF incubating project.</description>
- <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 mofified version of an asciidoctor file ... nor sure we can stick an Apache Header on it -->
- <exclude>libs/docinfo-hack/document.html.slim</exclude>
-
- <!-- Maven related files -->
- <exclude>**/target/**</exclude>
-
- <!-- Eclipse related files -->
- <exclude>**/.project</exclude>
- <exclude>**/.settings/**</exclude>
- <exclude>**/.classpath</exclude>
-
- <!-- IntelliJ related files -->
- <exclude>**/.idea/**</exclude>
- <exclude>**/*.iml</exclude>
-
- <!-- Asciidoctor generated files -->
- <exclude>**/.asciidoctor/**</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>
-
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>1.4.1</version>
- <executions>
- <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>
- <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>
- <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>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>3.1.0</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>
- <!-- Patch one of the "slim" files as the 'docinfo' integration doesn't seem to work -->
- <resource>
- <directory>libs/docinfo-hack</directory>
- <targetPath>${project.build.directory}/asciidoctor-reveal.js-${asciidoctor-revealjs.version}/templates</targetPath>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <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>apache</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>
- <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>
- <!--dependency>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctorj-extensions-lab</artifactId>
- <version>${asciidoctorj.extensions-lab.version}</version>
- <!- Referenced locally till it's officially released ->
- <scope>system</scope>
- <systemPath>${basedir}/libs/asciidoctorj-extensions-lab-${asciidoctorj.extensions-lab.version}.jar</systemPath>
- </dependency-->
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>3.2.2</version>
- <configuration>
- <failOnMissingWebXml>false</failOnMissingWebXml>
- <warSourceDirectory>${project.build.directory}/generated-slides</warSourceDirectory>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>9.4.14.v20181114</version>
- </plugin>
- <plugin>
- <groupId>com.coderplus.maven.plugins</groupId>
- <artifactId>copy-rename-maven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>rename-slide-file</id>
- <phase>process-resources</phase>
- <goals>
- <goal>rename</goal>
- </goals>
- <configuration>
- <sourceFile>${project.slides.directory}/${project.main.contentfile}.revealjs</sourceFile>
- <destinationFile>${project.slides.directory}/${project.main.contentfile}.html</destinationFile>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/content/ApacheWay/NavigatingASFIncubation/libs/docinfo-hack/document.html.slim b/content/ApacheWay/NavigatingASFIncubation/libs/docinfo-hack/document.html.slim
deleted file mode 100644
index ec9e3cf..0000000
--- a/content/ApacheWay/NavigatingASFIncubation/libs/docinfo-hack/document.html.slim
+++ /dev/null
@@ -1,214 +0,0 @@
-doctype 5
-html lang=(attr :lang, 'en' unless attr? :nolang)
- head
- meta charset="utf-8"
- - revealjsdir = (attr :revealjsdir, 'reveal.js')
- - unless (asset_uri_scheme = (attr 'asset-uri-scheme', 'https')).empty?
- - asset_uri_scheme = %(#{asset_uri_scheme}:)
- - cdn_base = %(#{asset_uri_scheme}//cdnjs.cloudflare.com/ajax/libs)
- - [:description, :keywords, :author, :copyright].each do |key|
- - if attr? key
- meta name=key content=(attr key)
- 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"
- link href="css/c3.min.css" rel="stylesheet"
- script src="js/d3.min.js" charset="utf-8"
- script src="js/c3.min.js"
- / Default theme required even when using custom theme
- - if attr? :revealjs_customtheme
- link rel='stylesheet' href=(attr :revealjs_customtheme) id='theme'
- - else
- link rel='stylesheet' href='#{revealjsdir}/css/theme/#{attr 'revealjs_theme', 'black'}.css' id='theme'
- - if attr? :icons, 'font'
- - if attr? 'iconfont-remote'
- link rel='stylesheet' href=(attr 'iconfont-cdn', %(#{cdn_base}/font-awesome/4.3.0/css/font-awesome.min.css))
- - else
- link rel='stylesheet' href=(normalize_web_path %(#{attr 'iconfont-name', 'font-awesome'}.css), (attr 'stylesdir', ''), false)
- - if attr? :stem
- - eqnums_val = (attr 'eqnums', 'none')
- - eqnums_val = 'AMS' if eqnums_val == ''
- - eqnums_opt = %( equationNumbers: { autoNumber: "#{eqnums_val}" } )
- script type='text/x-mathjax-config'
- | MathJax.Hub.Config({
- tex2jax: {
- inlineMath: [#{Asciidoctor::INLINE_MATH_DELIMITERS[:latexmath].to_s}],
- displayMath: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:latexmath].to_s}],
- ignoreClass: "nostem|nolatexmath"
- },
- asciimath2jax: {
- delimiters: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:asciimath].to_s}],
- ignoreClass: "nostem|noasciimath"
- },
- TeX: {#{eqnums_opt}}
- });
- script src='#{cdn_base}/mathjax/2.4.0/MathJax.js?config=TeX-MML-AM_HTMLorMML'
- - case 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"
- / If the query includes 'print-pdf', use the PDF print sheet
- javascript:
- var link = document.createElement( 'link' );
- link.rel = 'stylesheet';
- link.type = 'text/css';
- link.href = window.location.search.match( /print-pdf/gi ) ? "#{revealjsdir}/css/print/pdf.css" : "#{revealjsdir}/css/print/paper.css";
- document.getElementsByTagName( 'head' )[0].appendChild( link );
- /[if lt IE 9]
- <script src="#{revealjsdir}/lib/js/html5shiv.js"></script>
- - unless (docinfo_content = docinfo :header, '.html').empty?
- =docinfo_content
- - if attr? :customcss
- link rel='stylesheet' href=((customcss = attr :customcss).empty? ? 'asciidoctor-revealjs.css' : customcss)
- body
- .header
- .left
- .right
- .reveal
- / Any section element inside of this container is displayed as a slide
- .slides
- - unless notitle || !has_header?
- - bg_image = (attr? 'title-slide-background-image') ? (image_uri(attr 'title-slide-background-image')) : nil
- - bg_video = (attr? 'title-slide-background-video') ? (media_uri(attr 'title-slide-background-video')) : nil
- section.title(class = role
- data-state='title'
- data-transition=(attr 'title-slide-transition')
- data-transition-speed=(attr 'title-slide-transition-speed')
- data-background=(attr 'title-slide-background')
- data-background-size=(attr 'title-slide-background-size')
- data-background-image=bg_image
- 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-iframe=(attr 'title-slide-background-iframe')
- data-background-color=(attr 'title-slide-background-color')
- data-background-repeat=(attr 'title-slide-background-repeat')
- data-background-position=(attr 'title-slide-background-position')
- data-background-transition=(attr 'title-slide-background-transition'))
- - if (_title_obj = doctitle partition: true, use_fallback: true).subtitle?
- h1=slice_text _title_obj.title, (_slice = header.option? :slice)
- h2=slice_text _title_obj.subtitle, _slice
- - else
- h1=@header.title
- - preamble = @document.find_by context: :preamble
- - unless preamble.nil? or preamble.length == 0
- div.preamble=preamble.pop.content
- - unless author.nil?
- p.author: small=author
- =content
- .footer
- .left
- .right
- script src="#{revealjsdir}/lib/js/head.min.js"
- script src="#{revealjsdir}/js/reveal.js"
- javascript:
- // See https://github.com/hakimel/reveal.js#configuration for a full list of configuration options
- Reveal.initialize({
- // Display controls in the bottom right corner
- controls: #{to_boolean(attr 'revealjs_controls', true)},
- // Display a presentation progress bar
- progress: #{to_boolean(attr 'revealjs_progress', true)},
- // Set a per-slide timing for speaker notes, null means none
- defaultTiming: #{attr 'revealjs_defaultTiming', 'null'},
- // Display the page number of the current slide
- slideNumber: #{to_boolean(attr 'revealjs_slidenumber', false)},
- // Push each slide change to the browser history
- history: #{to_boolean(attr 'revealjs_history', false)},
- // Enable keyboard shortcuts for navigation
- keyboard: #{to_boolean(attr 'revealjs_keyboard', true)},
- // Enable the slide overview mode
- overview: #{to_boolean(attr 'revealjs_overview', true)},
- // Vertical centering of slides
- center: #{to_boolean(attr 'revealjs_center', true)},
- // Enables touch navigation on devices with touch input
- touch: #{to_boolean(attr 'revealjs_touch', true)},
- // Loop the presentation
- loop: #{to_boolean(attr 'revealjs_loop', false)},
- // Change the presentation direction to be RTL
- rtl: #{to_boolean(attr 'revealjs_rtl', false)},
- // Randomizes the order of slides each time the presentation loads
- shuffle: #{to_boolean(attr 'revealjs_shuffle', false)},
- // Turns fragments on and off globally
- fragments: #{to_boolean(attr 'revealjs_fragments', true)},
- // 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)},
- // Flags if we should show a help overlay when the questionmark
- // 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)},
- // 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'},
- // 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},
- // Stop auto-sliding after user input
- autoSlideStoppable: #{to_boolean(attr 'revealjs_autoslidestoppable', true)},
- // Enable slide navigation via mouse wheel
- mouseWheel: #{to_boolean(attr 'revealjs_mousewheel', false)},
- // Hides the address bar on mobile devices
- hideAddressBar: #{to_boolean(attr 'revealjs_hideaddressbar', true)},
- // Opens links in an iframe preview overlay
- previewLinks: #{to_boolean(attr 'revealjs_previewlinks', false)},
- // Theme (e.g., beige, black, league, night, serif, simple, sky, solarized, white)
- // NOTE setting the theme in the config no longer works in reveal.js 3.x
- //theme: Reveal.getQueryHash().theme || '#{attr 'revealjs_theme', 'black'}',
- // Transition style (e.g., none, fade, slide, convex, concave, zoom)
- transition: Reveal.getQueryHash().transition || '#{attr 'revealjs_transition', 'slide'}',
- // Transition speed (e.g., default, fast, slow)
- 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'}',
- // Number of slides away from the current that are visible
- 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', ''}',
- // Parallax background size in CSS syntax (e.g., "2100px 900px")
- parallaxBackgroundSize: '#{attr 'revealjs_parallaxbackgroundsize', ''}',
-
- // The "normal" size of the presentation, aspect ratio will be preserved
- // when the presentation is scaled to fit different resolutions. Can be
- // specified using percentage units.
- width: #{attr 'revealjs_width', 960},
- height: #{attr 'revealjs_height', 700},
-
- // Factor of the display size that should remain empty around the content
- margin: #{attr 'revealjs_margin', 0.1},
-
- // Bounds for smallest/largest possible scale to apply to content
- minScale: #{attr 'revealjs_minscale', 0.2},
- maxScale: #{attr 'revealjs_maxscale', 1.5},
-
- // Optional libraries used to extend on reveal.js
- dependencies: [
- { src: '#{revealjsdir}/lib/js/classList.js', condition: function() { return !document.body.classList; } },
- { src: '#{revealjsdir}/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
- { src: '#{revealjsdir}/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
- #{(attr? 'source-highlighter', 'highlightjs') ? "{ src: '#{revealjsdir}/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }," : nil}
- { src: '#{revealjsdir}/plugin/zoom-js/zoom.js', async: true },
- { src: '#{revealjsdir}/plugin/notes/notes.js', async: true }
- ]
- });
- - unless (docinfo_content = (docinfo :footer, '.html')).empty?
- =docinfo_content
diff --git a/content/ApacheWay/NavigatingASFIncubation/pom.xml b/content/ApacheWay/NavigatingASFIncubation/pom.xml
index 903c4ff..5773e6b 100644
--- a/content/ApacheWay/NavigatingASFIncubation/pom.xml
+++ b/content/ApacheWay/NavigatingASFIncubation/pom.xml
@@ -22,9 +22,10 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>21</version>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.apache.training</groupId>
@@ -35,290 +36,4 @@
<name>Navigating the ASF Incubator Process</name>
<description>All about taking a project through incubation from start to finish.</description>
- <properties>
- <project.main.contentfile>index</project.main.contentfile>
- <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.0.0-RC.2</asciidoctorj.version>
- <asciidoctorj.diagram.version>1.5.16</asciidoctorj.diagram.version>
- <asciidoctorj.extensions-lab.version>1.0.0</asciidoctorj.extensions-lab.version>
- <revealjs.version>3.7.0</revealjs.version>
- <asciidoctor-revealjs.version>2.0.0</asciidoctor-revealjs.version>
- </properties>
-
- <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 mofified version of an asciidoctor file ... nor sure we can stick an Apache Header on it -->
- <exclude>libs/docinfo-hack/document.html.slim</exclude>
-
- <!-- Maven related files -->
- <exclude>**/target/**</exclude>
-
- <!-- Eclipse related files -->
- <exclude>**/.project</exclude>
- <exclude>**/.settings/**</exclude>
- <exclude>**/.classpath</exclude>
-
- <!-- IntelliJ related files -->
- <exclude>**/.idea/**</exclude>
- <exclude>**/*.iml</exclude>
-
- <!-- Asciidoctor generated files -->
- <exclude>**/.asciidoctor/**</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>
-
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>1.4.1</version>
- <executions>
- <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>
- <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>
- <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>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>3.1.0</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>
- <!-- Patch one of the "slim" files as the 'docinfo' integration doesn't seem to work -->
- <resource>
- <directory>libs/docinfo-hack</directory>
- <targetPath>${project.build.directory}/asciidoctor-reveal.js-${asciidoctor-revealjs.version}/templates</targetPath>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <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>apache</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>
- <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>
- <!--dependency>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctorj-extensions-lab</artifactId>
- <version>${asciidoctorj.extensions-lab.version}</version>
- <!- Referenced locally till it's officially released ->
- <scope>system</scope>
- <systemPath>${basedir}/libs/asciidoctorj-extensions-lab-${asciidoctorj.extensions-lab.version}.jar</systemPath>
- </dependency-->
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>3.2.2</version>
- <configuration>
- <failOnMissingWebXml>false</failOnMissingWebXml>
- <warSourceDirectory>${project.build.directory}/generated-slides</warSourceDirectory>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>9.4.14.v20181114</version>
- </plugin>
- <plugin>
- <groupId>com.coderplus.maven.plugins</groupId>
- <artifactId>copy-rename-maven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>rename-slide-file</id>
- <phase>process-resources</phase>
- <goals>
- <goal>rename</goal>
- </goals>
- <configuration>
- <sourceFile>${project.slides.directory}/${project.main.contentfile}.revealjs</sourceFile>
- <destinationFile>${project.slides.directory}/${project.main.contentfile}.html</destinationFile>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>com.coderplus.maven.plugins</groupId>
- <artifactId>copy-rename-maven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>rename-slide-file</id>
- <phase>process-resources</phase>
- <goals>
- <goal>rename</goal>
- </goals>
- <configuration>
- <sourceFile>${project.slides.directory}/${project.main.contentfile}.revealjs</sourceFile>
- <destinationFile>${project.slides.directory}/${project.main.contentfile}.html</destinationFile>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/content/ApacheWay/pom.xml b/content/ApacheWay/pom.xml
new file mode 100644
index 0000000..b08f70b
--- /dev/null
+++ b/content/ApacheWay/pom.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>training-content-apache-way</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Training: Content: Apache Way</name>
+
+ <modules>
+ <module>IncubatorReleases</module>
+ <module>NavigatingASFIncubation</module>
+ </modules>
+
+</project>
diff --git a/content/ComDev/ComDevIntro/pom.xml b/content/ComDev/ComDevIntro/pom.xml
index 01d4d1b..c50e772 100644
--- a/content/ComDev/ComDevIntro/pom.xml
+++ b/content/ComDev/ComDevIntro/pom.xml
@@ -21,10 +21,9 @@
<parent>
<groupId>org.apache.training</groupId>
- <artifactId>content-master-pom</artifactId>
+ <artifactId>content-parent-pom</artifactId>
<version>1.0.0-SNAPSHOT</version>
-
- <!-- Required in our case as per http://maven.apache.org/ref/3.0.3/maven-model/maven.html#class_parent -->
+ <relativePath/>
</parent>
<artifactId>ComDevIntro</artifactId>
diff --git a/content/ComDev/pom.xml b/content/ComDev/pom.xml
new file mode 100644
index 0000000..43d85ec
--- /dev/null
+++ b/content/ComDev/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>training-content-comdev</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Training: Content: ComDev</name>
+
+ <modules>
+ <module>ComDevIntro</module>
+ </modules>
+
+</project>
diff --git a/content/Hadoop/pom.xml b/content/Hadoop/pom.xml
index c7012da..086f231 100644
--- a/content/Hadoop/pom.xml
+++ b/content/Hadoop/pom.xml
@@ -22,9 +22,10 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>21</version>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.apache.training</groupId>
@@ -35,202 +36,4 @@
<name>Apache Hadoop Slides</name>
<description></description>
- <properties>
- <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.0.0-RC.2</asciidoctorj.version>
- <revealjs.version>3.7.0</revealjs.version>
- <asciidoctor-revealjs.version>2.0.0</asciidoctor-revealjs.version>
- <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
- </properties>
-
- <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>
- </plugin>
-
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>1.4.1</version>
- <executions>
- <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>
- <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>
- <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>
- <plugin>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctor-maven-plugin</artifactId>
- <version>${asciidoctor.maven.plugin.version}</version>
- <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>
- <attributes>
- <icons>font</icons>
- </attributes>
- <!-- output file-->
- <outputFile>index.html</outputFile>
- <!-- 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>
- <!--
- 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>apache</revealjs_theme>
- </attributes>
- </configuration>
- <executions>
- <execution>
- <id>generate-slides</id>
- <phase>process-resources</phase>
- <goals>
- <goal>process-asciidoc</goal>
- </goals>
-
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctorj</artifactId>
- <version>${asciidoctorj.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- <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>
- <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>
- <plugin>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>9.4.14.v20181114</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/content/Ignite/pom.xml b/content/Ignite/pom.xml
index d5c842d..7edc7a3 100644
--- a/content/Ignite/pom.xml
+++ b/content/Ignite/pom.xml
@@ -22,9 +22,10 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>21</version>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.apache.training</groupId>
@@ -35,205 +36,6 @@
<name>Apache Ignite Slides</name>
<description></description>
- <properties>
- <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.0.0-RC.2</asciidoctorj.version>
- <revealjs.version>3.7.0</revealjs.version>
- <asciidoctor-revealjs.version>2.0.0</asciidoctor-revealjs.version>
- <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
- </properties>
-
- <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>
- </plugin>
-
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>1.4.1</version>
- <executions>
- <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>
- <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>
- <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>
- <plugin>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctor-maven-plugin</artifactId>
- <version>${asciidoctor.maven.plugin.version}</version>
- <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>
- <attributes>
- <icons>font</icons>
- </attributes>
- <!-- output file-->
- <outputFile>index.html</outputFile>
- <!-- 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>
- <!--
- 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>apache</revealjs_theme>
- </attributes>
- </configuration>
- <executions>
- <execution>
- <id>generate-slides</id>
- <phase>process-resources</phase>
- <goals>
- <goal>process-asciidoc</goal>
- </goals>
-
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctorj</artifactId>
- <version>${asciidoctorj.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- <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>
- <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>
- <plugin>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>9.4.14.v20181114</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
<dependencies>
<dependency>
<groupId>org.apache.ignite</groupId>
@@ -246,4 +48,5 @@
<version>2.7.5</version>
</dependency>
</dependencies>
+
</project>
diff --git a/content/Incubator/ReleaseChecklist/pom.xml b/content/Incubator/ReleaseChecklist/pom.xml
index c160d5e..f3e1da0 100644
--- a/content/Incubator/ReleaseChecklist/pom.xml
+++ b/content/Incubator/ReleaseChecklist/pom.xml
@@ -22,9 +22,10 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>21</version>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.apache.training</groupId>
@@ -35,76 +36,4 @@
<name>Incubator Release Chacklist</name>
<description>A release checklist to see if a release complies with incubator and ASF.</description>
- <properties>
- <project.docs.directory>${project.build.directory}/generated-docs</project.docs.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.0.0-RC.2</asciidoctorj.version>
- </properties>
-
- <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>
- </plugin>
- <plugin>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctor-maven-plugin</artifactId>
- <version>${asciidoctor.maven.plugin.version}</version>
- <configuration>
- <backend>html5</backend>
- </configuration>
- <executions>
- <execution>
- <id>generate-docs</id>
- <phase>process-resources</phase>
- <goals>
- <goal>process-asciidoc</goal>
- </goals>
- <configuration>
- <!-- 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.docs.directory}</outputDirectory>
- <attributes>
- <icons>font</icons>
- </attributes>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctorj</artifactId>
- <version>${asciidoctorj.version}</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>3.2.2</version>
- <configuration>
- <failOnMissingWebXml>false</failOnMissingWebXml>
- <warSourceDirectory>${project.build.directory}/generated-docs</warSourceDirectory>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>9.4.14.v20181114</version>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/content/Incubator/ReleaseChecklist/src/main/asciidoc/index-docinfo-footer.html b/content/Incubator/ReleaseChecklist/src/main/asciidoc/index-docinfo-footer.html
index 5bc78fd..19625e0 100644
--- a/content/Incubator/ReleaseChecklist/src/main/asciidoc/index-docinfo-footer.html
+++ b/content/Incubator/ReleaseChecklist/src/main/asciidoc/index-docinfo-footer.html
@@ -1 +1,19 @@
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
<div align="center">Copyright © 2019 Justin Mclean, Licensed under the Apache License.</div>
\ No newline at end of file
diff --git a/content/Incubator/pom.xml b/content/Incubator/pom.xml
new file mode 100644
index 0000000..fd0e291
--- /dev/null
+++ b/content/Incubator/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>training-content-incubator</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Training: Content: Incubator</name>
+
+ <modules>
+ <module>ReleaseChecklist</module>
+ </modules>
+
+</project>
diff --git a/content/IoT/IoTDeveloper/libs/docinfo-hack/document.html.slim b/content/IoT/IoTDeveloper/libs/docinfo-hack/document.html.slim
deleted file mode 100644
index 0957c64..0000000
--- a/content/IoT/IoTDeveloper/libs/docinfo-hack/document.html.slim
+++ /dev/null
@@ -1,214 +0,0 @@
-doctype 5
-html lang=(attr :lang, 'en' unless attr? :nolang)
- head
- meta charset="utf-8"
- - revealjsdir = (attr :revealjsdir, 'reveal.js')
- - unless (asset_uri_scheme = (attr 'asset-uri-scheme', 'https')).empty?
- - asset_uri_scheme = %(#{asset_uri_scheme}:)
- - cdn_base = %(#{asset_uri_scheme}//cdnjs.cloudflare.com/ajax/libs)
- - [:description, :keywords, :author, :copyright].each do |key|
- - if attr? key
- meta name=key content=(attr key)
- 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"
- link href="css/c3.min.css" rel="stylesheet"
- script src="js/d3.min.js" charset="utf-8"
- script src="js/c3.min.js"
- / Default theme required even when using custom theme
- - if attr? :revealjs_customtheme
- link rel='stylesheet' href=(attr :revealjs_customtheme) id='theme'
- - else
- link rel='stylesheet' href='#{revealjsdir}/css/theme/#{attr 'revealjs_theme', 'black'}.css' id='theme'
- - if attr? :icons, 'font'
- - if attr? 'iconfont-remote'
- link rel='stylesheet' href=(attr 'iconfont-cdn', %(#{cdn_base}/font-awesome/4.3.0/css/font-awesome.min.css))
- - else
- link rel='stylesheet' href=(normalize_web_path %(#{attr 'iconfont-name', 'font-awesome'}.css), (attr 'stylesdir', ''), false)
- - if attr? :stem
- - eqnums_val = (attr 'eqnums', 'none')
- - eqnums_val = 'AMS' if eqnums_val == ''
- - eqnums_opt = %( equationNumbers: { autoNumber: "#{eqnums_val}" } )
- script type='text/x-mathjax-config'
- | MathJax.Hub.Config({
- tex2jax: {
- inlineMath: [#{Asciidoctor::INLINE_MATH_DELIMITERS[:latexmath].to_s}],
- displayMath: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:latexmath].to_s}],
- ignoreClass: "nostem|nolatexmath"
- },
- asciimath2jax: {
- delimiters: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:asciimath].to_s}],
- ignoreClass: "nostem|noasciimath"
- },
- TeX: {#{eqnums_opt}}
- });
- script src='#{cdn_base}/mathjax/2.4.0/MathJax.js?config=TeX-MML-AM_HTMLorMML'
- - case 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"
- / If the query includes 'print-pdf', use the PDF print sheet
- javascript:
- var link = document.createElement( 'link' );
- link.rel = 'stylesheet';
- link.type = 'text/css';
- link.href = window.location.search.match( /print-pdf/gi ) ? "#{revealjsdir}/css/print/pdf.css" : "#{revealjsdir}/css/print/paper.css";
- document.getElementsByTagName( 'head' )[0].appendChild( link );
- /[if lt IE 9]
- <script src="#{revealjsdir}/lib/js/html5shiv.js"></script>
- - unless (docinfo_content = docinfo :header, '.html').empty?
- =docinfo_content
- - if attr? :customcss
- link rel='stylesheet' href=((customcss = attr :customcss).empty? ? 'asciidoctor-revealjs.css' : customcss)
- body
- .header
- .left
- .right
- .reveal
- / Any section element inside of this container is displayed as a slide
- .slides
- - unless notitle || !has_header?
- - bg_image = (attr? 'title-slide-background-image') ? (image_uri(attr 'title-slide-background-image')) : nil
- - bg_video = (attr? 'title-slide-background-video') ? (media_uri(attr 'title-slide-background-video')) : nil
- section.title(class = role
- data-state='title'
- data-transition=(attr 'title-slide-transition')
- data-transition-speed=(attr 'title-slide-transition-speed')
- data-background=(attr 'title-slide-background')
- data-background-size=(attr 'title-slide-background-size')
- data-background-image=bg_image
- 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-iframe=(attr 'title-slide-background-iframe')
- data-background-color=(attr 'title-slide-background-color')
- data-background-repeat=(attr 'title-slide-background-repeat')
- data-background-position=(attr 'title-slide-background-position')
- data-background-transition=(attr 'title-slide-background-transition'))
- - if (_title_obj = doctitle partition: true, use_fallback: true).subtitle?
- h1=slice_text _title_obj.title, (_slice = header.option? :slice)
- h2=slice_text _title_obj.subtitle, _slice
- - else
- h1=@header.title
- - preamble = @document.find_by context: :preamble
- - unless preamble.nil? or preamble.length == 0
- div.preamble=preamble.pop.content
- - unless author.nil?
- p.author: small=author
- =content
- .footer
- .left
- .right Licensed under the Apache License, Version 2.0.<br>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
- script src="#{revealjsdir}/lib/js/head.min.js"
- script src="#{revealjsdir}/js/reveal.js"
- javascript:
- // See https://github.com/hakimel/reveal.js#configuration for a full list of configuration options
- Reveal.initialize({
- // Display controls in the bottom right corner
- controls: #{to_boolean(attr 'revealjs_controls', true)},
- // Display a presentation progress bar
- progress: #{to_boolean(attr 'revealjs_progress', true)},
- // Set a per-slide timing for speaker notes, null means none
- defaultTiming: #{attr 'revealjs_defaultTiming', 'null'},
- // Display the page number of the current slide
- slideNumber: #{to_boolean(attr 'revealjs_slidenumber', false)},
- // Push each slide change to the browser history
- history: #{to_boolean(attr 'revealjs_history', false)},
- // Enable keyboard shortcuts for navigation
- keyboard: #{to_boolean(attr 'revealjs_keyboard', true)},
- // Enable the slide overview mode
- overview: #{to_boolean(attr 'revealjs_overview', true)},
- // Vertical centering of slides
- center: #{to_boolean(attr 'revealjs_center', true)},
- // Enables touch navigation on devices with touch input
- touch: #{to_boolean(attr 'revealjs_touch', true)},
- // Loop the presentation
- loop: #{to_boolean(attr 'revealjs_loop', false)},
- // Change the presentation direction to be RTL
- rtl: #{to_boolean(attr 'revealjs_rtl', false)},
- // Randomizes the order of slides each time the presentation loads
- shuffle: #{to_boolean(attr 'revealjs_shuffle', false)},
- // Turns fragments on and off globally
- fragments: #{to_boolean(attr 'revealjs_fragments', true)},
- // 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)},
- // Flags if we should show a help overlay when the questionmark
- // 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)},
- // 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'},
- // 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},
- // Stop auto-sliding after user input
- autoSlideStoppable: #{to_boolean(attr 'revealjs_autoslidestoppable', true)},
- // Enable slide navigation via mouse wheel
- mouseWheel: #{to_boolean(attr 'revealjs_mousewheel', false)},
- // Hides the address bar on mobile devices
- hideAddressBar: #{to_boolean(attr 'revealjs_hideaddressbar', true)},
- // Opens links in an iframe preview overlay
- previewLinks: #{to_boolean(attr 'revealjs_previewlinks', false)},
- // Theme (e.g., beige, black, league, night, serif, simple, sky, solarized, white)
- // NOTE setting the theme in the config no longer works in reveal.js 3.x
- //theme: Reveal.getQueryHash().theme || '#{attr 'revealjs_theme', 'black'}',
- // Transition style (e.g., none, fade, slide, convex, concave, zoom)
- transition: Reveal.getQueryHash().transition || '#{attr 'revealjs_transition', 'slide'}',
- // Transition speed (e.g., default, fast, slow)
- 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'}',
- // Number of slides away from the current that are visible
- 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', ''}',
- // Parallax background size in CSS syntax (e.g., "2100px 900px")
- parallaxBackgroundSize: '#{attr 'revealjs_parallaxbackgroundsize', ''}',
-
- // The "normal" size of the presentation, aspect ratio will be preserved
- // when the presentation is scaled to fit different resolutions. Can be
- // specified using percentage units.
- width: #{attr 'revealjs_width', 960},
- height: #{attr 'revealjs_height', 700},
-
- // Factor of the display size that should remain empty around the content
- margin: #{attr 'revealjs_margin', 0.1},
-
- // Bounds for smallest/largest possible scale to apply to content
- minScale: #{attr 'revealjs_minscale', 0.2},
- maxScale: #{attr 'revealjs_maxscale', 1.5},
-
- // Optional libraries used to extend on reveal.js
- dependencies: [
- { src: '#{revealjsdir}/lib/js/classList.js', condition: function() { return !document.body.classList; } },
- { src: '#{revealjsdir}/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
- { src: '#{revealjsdir}/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
- #{(attr? 'source-highlighter', 'highlightjs') ? "{ src: '#{revealjsdir}/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }," : nil}
- { src: '#{revealjsdir}/plugin/zoom-js/zoom.js', async: true },
- { src: '#{revealjsdir}/plugin/notes/notes.js', async: true }
- ]
- });
- - unless (docinfo_content = (docinfo :footer, '.html')).empty?
- =docinfo_content
diff --git a/content/IoT/IoTDeveloper/pom.xml b/content/IoT/IoTDeveloper/pom.xml
index b5583f8..af81edc 100644
--- a/content/IoT/IoTDeveloper/pom.xml
+++ b/content/IoT/IoTDeveloper/pom.xml
@@ -22,9 +22,10 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>21</version>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.apache.training</groupId>
@@ -35,272 +36,4 @@
<name>IoT Developer Talk</name>
<description>How to be an IoT develper (and have fun!)</description>
- <properties>
- <project.main.contentfile>index_en</project.main.contentfile>
- <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.0.0-RC.2</asciidoctorj.version>
- <asciidoctorj.diagram.version>1.5.16</asciidoctorj.diagram.version>
- <asciidoctorj.extensions-lab.version>1.0.0</asciidoctorj.extensions-lab.version>
- <revealjs.version>3.8.0</revealjs.version>
- <asciidoctor-revealjs.version>2.0.0</asciidoctor-revealjs.version>
- </properties>
-
- <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 mofified version of an asciidoctor file ... nor sure we can stick an Apache Header on it -->
- <exclude>libs/docinfo-hack/document.html.slim</exclude>
-
- <!-- Maven related files -->
- <exclude>**/target/**</exclude>
- <!-- exclude the third-party files -->
- <exclude>**/third-party/**</exclude>
- <!-- exclude the README.md file -->
- <exclude>README.md</exclude>
- <!-- Eclipse related files -->
- <exclude>**/.project</exclude>
- <exclude>**/.settings/**</exclude>
- <exclude>**/.classpath</exclude>
-
- <!-- IntelliJ related files -->
- <exclude>**/.idea/**</exclude>
- <exclude>**/*.iml</exclude>
-
- <!-- Asciidoctor generated files -->
- <exclude>**/.asciidoctor/**</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>
-
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>1.4.1</version>
- <executions>
- <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>
- <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>
- <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>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>3.1.0</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>
- <!-- Patch one of the "slim" files as the 'docinfo' integration doesn't seem to work -->
- <resource>
- <directory>libs/docinfo-hack</directory>
- <targetPath>${project.build.directory}/asciidoctor-reveal.js-${asciidoctor-revealjs.version}/templates</targetPath>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <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>apache</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>
- <vg2svg>${basedir}/libs/third-party/node_modules/.bin/vg2svg</vg2svg>
- <plugin_pdf>enabled</plugin_pdf>
- </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>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>3.2.2</version>
- <configuration>
- <failOnMissingWebXml>false</failOnMissingWebXml>
- <warSourceDirectory>${project.build.directory}/generated-slides</warSourceDirectory>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>9.4.14.v20181114</version>
- </plugin>
- <plugin>
- <groupId>com.coderplus.maven.plugins</groupId>
- <artifactId>copy-rename-maven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>rename-slide-file</id>
- <phase>process-resources</phase>
- <goals>
- <goal>rename</goal>
- </goals>
- <configuration>
- <fileSets>
- <fileset>
- <sourceFile>${project.slides.directory}/${project.main.contentfile}.revealjs</sourceFile>
- <destinationFile>${project.slides.directory}/${project.main.contentfile}.html</destinationFile>
- </fileset>
- </fileSets>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/content/IoT/pom.xml b/content/IoT/pom.xml
new file mode 100644
index 0000000..08852f7
--- /dev/null
+++ b/content/IoT/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>training-content-iot</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Training: Content: IoT</name>
+
+ <modules>
+ <module>IoTDeveloper</module>
+ </modules>
+
+</project>
diff --git a/content/MyNewt/libs/docinfo-hack/document.html.slim b/content/MyNewt/libs/docinfo-hack/document.html.slim
deleted file mode 100644
index 0957c64..0000000
--- a/content/MyNewt/libs/docinfo-hack/document.html.slim
+++ /dev/null
@@ -1,214 +0,0 @@
-doctype 5
-html lang=(attr :lang, 'en' unless attr? :nolang)
- head
- meta charset="utf-8"
- - revealjsdir = (attr :revealjsdir, 'reveal.js')
- - unless (asset_uri_scheme = (attr 'asset-uri-scheme', 'https')).empty?
- - asset_uri_scheme = %(#{asset_uri_scheme}:)
- - cdn_base = %(#{asset_uri_scheme}//cdnjs.cloudflare.com/ajax/libs)
- - [:description, :keywords, :author, :copyright].each do |key|
- - if attr? key
- meta name=key content=(attr key)
- 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"
- link href="css/c3.min.css" rel="stylesheet"
- script src="js/d3.min.js" charset="utf-8"
- script src="js/c3.min.js"
- / Default theme required even when using custom theme
- - if attr? :revealjs_customtheme
- link rel='stylesheet' href=(attr :revealjs_customtheme) id='theme'
- - else
- link rel='stylesheet' href='#{revealjsdir}/css/theme/#{attr 'revealjs_theme', 'black'}.css' id='theme'
- - if attr? :icons, 'font'
- - if attr? 'iconfont-remote'
- link rel='stylesheet' href=(attr 'iconfont-cdn', %(#{cdn_base}/font-awesome/4.3.0/css/font-awesome.min.css))
- - else
- link rel='stylesheet' href=(normalize_web_path %(#{attr 'iconfont-name', 'font-awesome'}.css), (attr 'stylesdir', ''), false)
- - if attr? :stem
- - eqnums_val = (attr 'eqnums', 'none')
- - eqnums_val = 'AMS' if eqnums_val == ''
- - eqnums_opt = %( equationNumbers: { autoNumber: "#{eqnums_val}" } )
- script type='text/x-mathjax-config'
- | MathJax.Hub.Config({
- tex2jax: {
- inlineMath: [#{Asciidoctor::INLINE_MATH_DELIMITERS[:latexmath].to_s}],
- displayMath: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:latexmath].to_s}],
- ignoreClass: "nostem|nolatexmath"
- },
- asciimath2jax: {
- delimiters: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:asciimath].to_s}],
- ignoreClass: "nostem|noasciimath"
- },
- TeX: {#{eqnums_opt}}
- });
- script src='#{cdn_base}/mathjax/2.4.0/MathJax.js?config=TeX-MML-AM_HTMLorMML'
- - case 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"
- / If the query includes 'print-pdf', use the PDF print sheet
- javascript:
- var link = document.createElement( 'link' );
- link.rel = 'stylesheet';
- link.type = 'text/css';
- link.href = window.location.search.match( /print-pdf/gi ) ? "#{revealjsdir}/css/print/pdf.css" : "#{revealjsdir}/css/print/paper.css";
- document.getElementsByTagName( 'head' )[0].appendChild( link );
- /[if lt IE 9]
- <script src="#{revealjsdir}/lib/js/html5shiv.js"></script>
- - unless (docinfo_content = docinfo :header, '.html').empty?
- =docinfo_content
- - if attr? :customcss
- link rel='stylesheet' href=((customcss = attr :customcss).empty? ? 'asciidoctor-revealjs.css' : customcss)
- body
- .header
- .left
- .right
- .reveal
- / Any section element inside of this container is displayed as a slide
- .slides
- - unless notitle || !has_header?
- - bg_image = (attr? 'title-slide-background-image') ? (image_uri(attr 'title-slide-background-image')) : nil
- - bg_video = (attr? 'title-slide-background-video') ? (media_uri(attr 'title-slide-background-video')) : nil
- section.title(class = role
- data-state='title'
- data-transition=(attr 'title-slide-transition')
- data-transition-speed=(attr 'title-slide-transition-speed')
- data-background=(attr 'title-slide-background')
- data-background-size=(attr 'title-slide-background-size')
- data-background-image=bg_image
- 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-iframe=(attr 'title-slide-background-iframe')
- data-background-color=(attr 'title-slide-background-color')
- data-background-repeat=(attr 'title-slide-background-repeat')
- data-background-position=(attr 'title-slide-background-position')
- data-background-transition=(attr 'title-slide-background-transition'))
- - if (_title_obj = doctitle partition: true, use_fallback: true).subtitle?
- h1=slice_text _title_obj.title, (_slice = header.option? :slice)
- h2=slice_text _title_obj.subtitle, _slice
- - else
- h1=@header.title
- - preamble = @document.find_by context: :preamble
- - unless preamble.nil? or preamble.length == 0
- div.preamble=preamble.pop.content
- - unless author.nil?
- p.author: small=author
- =content
- .footer
- .left
- .right Licensed under the Apache License, Version 2.0.<br>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
- script src="#{revealjsdir}/lib/js/head.min.js"
- script src="#{revealjsdir}/js/reveal.js"
- javascript:
- // See https://github.com/hakimel/reveal.js#configuration for a full list of configuration options
- Reveal.initialize({
- // Display controls in the bottom right corner
- controls: #{to_boolean(attr 'revealjs_controls', true)},
- // Display a presentation progress bar
- progress: #{to_boolean(attr 'revealjs_progress', true)},
- // Set a per-slide timing for speaker notes, null means none
- defaultTiming: #{attr 'revealjs_defaultTiming', 'null'},
- // Display the page number of the current slide
- slideNumber: #{to_boolean(attr 'revealjs_slidenumber', false)},
- // Push each slide change to the browser history
- history: #{to_boolean(attr 'revealjs_history', false)},
- // Enable keyboard shortcuts for navigation
- keyboard: #{to_boolean(attr 'revealjs_keyboard', true)},
- // Enable the slide overview mode
- overview: #{to_boolean(attr 'revealjs_overview', true)},
- // Vertical centering of slides
- center: #{to_boolean(attr 'revealjs_center', true)},
- // Enables touch navigation on devices with touch input
- touch: #{to_boolean(attr 'revealjs_touch', true)},
- // Loop the presentation
- loop: #{to_boolean(attr 'revealjs_loop', false)},
- // Change the presentation direction to be RTL
- rtl: #{to_boolean(attr 'revealjs_rtl', false)},
- // Randomizes the order of slides each time the presentation loads
- shuffle: #{to_boolean(attr 'revealjs_shuffle', false)},
- // Turns fragments on and off globally
- fragments: #{to_boolean(attr 'revealjs_fragments', true)},
- // 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)},
- // Flags if we should show a help overlay when the questionmark
- // 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)},
- // 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'},
- // 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},
- // Stop auto-sliding after user input
- autoSlideStoppable: #{to_boolean(attr 'revealjs_autoslidestoppable', true)},
- // Enable slide navigation via mouse wheel
- mouseWheel: #{to_boolean(attr 'revealjs_mousewheel', false)},
- // Hides the address bar on mobile devices
- hideAddressBar: #{to_boolean(attr 'revealjs_hideaddressbar', true)},
- // Opens links in an iframe preview overlay
- previewLinks: #{to_boolean(attr 'revealjs_previewlinks', false)},
- // Theme (e.g., beige, black, league, night, serif, simple, sky, solarized, white)
- // NOTE setting the theme in the config no longer works in reveal.js 3.x
- //theme: Reveal.getQueryHash().theme || '#{attr 'revealjs_theme', 'black'}',
- // Transition style (e.g., none, fade, slide, convex, concave, zoom)
- transition: Reveal.getQueryHash().transition || '#{attr 'revealjs_transition', 'slide'}',
- // Transition speed (e.g., default, fast, slow)
- 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'}',
- // Number of slides away from the current that are visible
- 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', ''}',
- // Parallax background size in CSS syntax (e.g., "2100px 900px")
- parallaxBackgroundSize: '#{attr 'revealjs_parallaxbackgroundsize', ''}',
-
- // The "normal" size of the presentation, aspect ratio will be preserved
- // when the presentation is scaled to fit different resolutions. Can be
- // specified using percentage units.
- width: #{attr 'revealjs_width', 960},
- height: #{attr 'revealjs_height', 700},
-
- // Factor of the display size that should remain empty around the content
- margin: #{attr 'revealjs_margin', 0.1},
-
- // Bounds for smallest/largest possible scale to apply to content
- minScale: #{attr 'revealjs_minscale', 0.2},
- maxScale: #{attr 'revealjs_maxscale', 1.5},
-
- // Optional libraries used to extend on reveal.js
- dependencies: [
- { src: '#{revealjsdir}/lib/js/classList.js', condition: function() { return !document.body.classList; } },
- { src: '#{revealjsdir}/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
- { src: '#{revealjsdir}/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
- #{(attr? 'source-highlighter', 'highlightjs') ? "{ src: '#{revealjsdir}/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }," : nil}
- { src: '#{revealjsdir}/plugin/zoom-js/zoom.js', async: true },
- { src: '#{revealjsdir}/plugin/notes/notes.js', async: true }
- ]
- });
- - unless (docinfo_content = (docinfo :footer, '.html')).empty?
- =docinfo_content
diff --git a/content/MyNewt/pom.xml b/content/MyNewt/pom.xml
index ac019c3..b023f03 100644
--- a/content/MyNewt/pom.xml
+++ b/content/MyNewt/pom.xml
@@ -22,9 +22,10 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>21</version>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.apache.training</groupId>
@@ -37,270 +38,6 @@
<properties>
<project.main.contentfile>index_en</project.main.contentfile>
- <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.0.0-RC.2</asciidoctorj.version>
- <asciidoctorj.diagram.version>1.5.16</asciidoctorj.diagram.version>
- <asciidoctorj.extensions-lab.version>1.0.0</asciidoctorj.extensions-lab.version>
- <revealjs.version>3.8.0</revealjs.version>
- <asciidoctor-revealjs.version>2.0.0</asciidoctor-revealjs.version>
</properties>
- <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 mofified version of an asciidoctor file ... nor sure we can stick an Apache Header on it -->
- <exclude>libs/docinfo-hack/document.html.slim</exclude>
-
- <!-- Maven related files -->
- <exclude>**/target/**</exclude>
- <!-- exclude the third-party files -->
- <exclude>**/third-party/**</exclude>
- <!-- exclude the README.md file -->
- <exclude>README.md</exclude>
- <!-- Eclipse related files -->
- <exclude>**/.project</exclude>
- <exclude>**/.settings/**</exclude>
- <exclude>**/.classpath</exclude>
-
- <!-- IntelliJ related files -->
- <exclude>**/.idea/**</exclude>
- <exclude>**/*.iml</exclude>
-
- <!-- Asciidoctor generated files -->
- <exclude>**/.asciidoctor/**</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>
-
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>1.4.1</version>
- <executions>
- <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>
- <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>
- <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>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>3.1.0</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>
- <!-- Patch one of the "slim" files as the 'docinfo' integration doesn't seem to work -->
- <resource>
- <directory>libs/docinfo-hack</directory>
- <targetPath>${project.build.directory}/asciidoctor-reveal.js-${asciidoctor-revealjs.version}/templates</targetPath>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <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>apache</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>
- <vg2svg>${basedir}/libs/third-party/node_modules/.bin/vg2svg</vg2svg>
- <plugin_pdf>enabled</plugin_pdf>
- </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>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>3.2.2</version>
- <configuration>
- <failOnMissingWebXml>false</failOnMissingWebXml>
- <warSourceDirectory>${project.build.directory}/generated-slides</warSourceDirectory>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>9.4.14.v20181114</version>
- </plugin>
- <plugin>
- <groupId>com.coderplus.maven.plugins</groupId>
- <artifactId>copy-rename-maven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>rename-slide-file</id>
- <phase>process-resources</phase>
- <goals>
- <goal>rename</goal>
- </goals>
- <configuration>
- <fileSets>
- <fileset>
- <sourceFile>${project.slides.directory}/${project.main.contentfile}.revealjs</sourceFile>
- <destinationFile>${project.slides.directory}/${project.main.contentfile}.html</destinationFile>
- </fileset>
- </fileSets>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/content/Spark/1-Basics/libs/docinfo-hack/document.html.slim b/content/Spark/1-Basics/libs/docinfo-hack/document.html.slim
deleted file mode 100644
index 9d1e41e..0000000
--- a/content/Spark/1-Basics/libs/docinfo-hack/document.html.slim
+++ /dev/null
@@ -1,258 +0,0 @@
-doctype 5
-html lang=(attr :lang, 'en' unless attr? :nolang)
- head
- meta charset="utf-8"
- - if RUBY_ENGINE == 'opal' && JAVASCRIPT_PLATFORM == 'node'
- - revealjsdir = (attr :revealjsdir, 'node_modules/reveal.js')
- - else
- - revealjsdir = (attr :revealjsdir, 'reveal.js')
- - unless (asset_uri_scheme = (attr 'asset-uri-scheme', 'https')).empty?
- - asset_uri_scheme = %(#{asset_uri_scheme}:)
- - cdn_base = %(#{asset_uri_scheme}//cdnjs.cloudflare.com/ajax/libs)
- - [:description, :keywords, :author, :copyright].each do |key|
- - if attr? key
- meta name=key content=(attr key)
- 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 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
- / Default theme required even when using custom theme
- - if attr? :revealjs_customtheme
- link rel='stylesheet' href=(attr :revealjs_customtheme) id='theme'
- - else
- link rel='stylesheet' href='#{revealjsdir}/css/theme/#{attr 'revealjs_theme', 'black'}.css' id='theme'
- include asciidoctor_revealjs.css.slim
- - if attr? :icons, 'font'
- - if attr? 'iconfont-remote'
- link rel='stylesheet' href=(attr 'iconfont-cdn', %(#{cdn_base}/font-awesome/4.3.0/css/font-awesome.min.css))
- - else
- link rel='stylesheet' href=(normalize_web_path %(#{attr 'iconfont-name', 'font-awesome'}.css), (attr 'stylesdir', ''), false)
- - if attr? :stem
- - eqnums_val = (attr 'eqnums', 'none')
- - eqnums_val = 'AMS' if eqnums_val == ''
- - eqnums_opt = %( equationNumbers: { autoNumber: "#{eqnums_val}" } )
- script type='text/x-mathjax-config'
- | MathJax.Hub.Config({
- tex2jax: {
- inlineMath: [#{Asciidoctor::INLINE_MATH_DELIMITERS[:latexmath].to_s}],
- displayMath: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:latexmath].to_s}],
- ignoreClass: "nostem|nolatexmath"
- },
- asciimath2jax: {
- delimiters: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:asciimath].to_s}],
- ignoreClass: "nostem|noasciimath"
- },
- 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"
- / If the query includes 'print-pdf', use the PDF print sheet
- javascript:
- var link = document.createElement( 'link' );
- link.rel = 'stylesheet';
- link.type = 'text/css';
- link.href = window.location.search.match( /print-pdf/gi ) ? "#{revealjsdir}/css/print/pdf.css" : "#{revealjsdir}/css/print/paper.css";
- document.getElementsByTagName( 'head' )[0].appendChild( link );
- /[if lt IE 9]
- <script src="#{revealjsdir}/lib/js/html5shiv.js"></script>
- - unless (docinfo_content = docinfo :header, '.html').empty?
- =docinfo_content
- - if attr? :customcss
- link rel='stylesheet' href=((customcss = attr :customcss).empty? ? 'asciidoctor-revealjs.css' : customcss)
- body
- .header
- .left
- .right
- .reveal
- / Any section element inside of this container is displayed as a slide
- .slides
- - unless notitle || !has_header?
- - bg_image = (attr? 'title-slide-background-image') ? (image_uri(attr 'title-slide-background-image')) : nil
- - bg_video = (attr? 'title-slide-background-video') ? (media_uri(attr 'title-slide-background-video')) : nil
- section.title(class = role
- data-state='title'
- data-transition=(attr 'title-slide-transition')
- data-transition-speed=(attr 'title-slide-transition-speed')
- data-background=(attr 'title-slide-background')
- data-background-size=(attr 'title-slide-background-size')
- data-background-image=bg_image
- 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-iframe=(attr 'title-slide-background-iframe')
- data-background-color=(attr 'title-slide-background-color')
- data-background-repeat=(attr 'title-slide-background-repeat')
- data-background-position=(attr 'title-slide-background-position')
- data-background-transition=(attr 'title-slide-background-transition'))
- - if (_title_obj = doctitle partition: true, use_fallback: true).subtitle?
- h1=slice_text _title_obj.title, (_slice = header.option? :slice)
- h2=slice_text _title_obj.subtitle, _slice
- - else
- h1=@header.title
- - preamble = @document.find_by context: :preamble
- - unless preamble.nil? or preamble.length == 0
- div.preamble=preamble.pop.content
- - unless author.nil?
- p.author: small=author
- =content
- .footer
- .left
- .right
- script src="#{revealjsdir}/js/reveal.js"
- javascript:
- Array.prototype.slice.call(document.querySelectorAll('.slides section')).forEach(function(slide) {
- if (slide.getAttribute('data-background-color')) return;
- // user needs to explicitly say he wants CSS color to override otherwise we might break custom css or theme (#226)
- if (!(slide.classList.contains('canvas') || slide.classList.contains('background'))) return;
- var bgColor = getComputedStyle(slide).backgroundColor;
- if (bgColor !== 'rgba(0, 0, 0, 0)' && bgColor !== 'transparent') {
- slide.setAttribute('data-background-color', bgColor);
- slide.style.backgroundColor = 'transparent';
- }
- })
-
- // See https://github.com/hakimel/reveal.js#configuration for a full list of configuration options
- Reveal.initialize({
- // Display presentation control arrows
- 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)},
- // Determines where controls appear, "edges" or "bottom-right"
- controlsLayout: '#{attr 'revealjs_controlsLayout', 'bottom-right'}',
- // Visibility rule for backwards navigation arrows; "faded", "hidden"
- // or "visible"
- 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
- slideNumber: #{to_valid_slidenumber(attr 'revealjs_slidenumber', false)},
- // Control which views the slide number displays on
- showSlideNumber: '#{attr 'revealjs_showslidenumber', 'all'}',
- // Push each slide change to the browser history
- history: #{to_boolean(attr 'revealjs_history', false)},
- // Enable keyboard shortcuts for navigation
- keyboard: #{to_boolean(attr 'revealjs_keyboard', true)},
- // Enable the slide overview mode
- overview: #{to_boolean(attr 'revealjs_overview', true)},
- // Vertical centering of slides
- center: #{to_boolean(attr 'revealjs_center', true)},
- // Enables touch navigation on devices with touch input
- touch: #{to_boolean(attr 'revealjs_touch', true)},
- // Loop the presentation
- loop: #{to_boolean(attr 'revealjs_loop', false)},
- // Change the presentation direction to be RTL
- rtl: #{to_boolean(attr 'revealjs_rtl', false)},
- // Randomizes the order of slides each time the presentation loads
- shuffle: #{to_boolean(attr 'revealjs_shuffle', false)},
- // Turns fragments on and off globally
- 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)},
- // 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)},
- // Flags if we should show a help overlay when the questionmark
- // 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)},
- // 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'},
- // 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},
- // Stop auto-sliding after user input
- autoSlideStoppable: #{to_boolean(attr 'revealjs_autoSlideStoppable', true)},
- // Use this method for navigation when auto-sliding
- 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},
- // Enable slide navigation via mouse wheel
- mouseWheel: #{to_boolean(attr 'revealjs_mouseWheel', false)},
- // Hides the address bar on mobile devices
- 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)},
- // 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'}',
- // Transition style for full page slide backgrounds (e.g., none, fade, slide, convex, concave, zoom)
- backgroundTransition: '#{attr 'revealjs_backgroundTransition', 'fade'}',
- // Number of slides away from the current that are visible
- 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', ''}',
- // Parallax background size in CSS syntax (e.g., "2100px 900px")
- 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'},
- // The display mode that will be used to show slides
- display: '#{attr 'revealjs_display', 'block'}',
-
- // The "normal" size of the presentation, aspect ratio will be preserved
- // when the presentation is scaled to fit different resolutions. Can be
- // specified using percentage units.
- width: #{attr 'revealjs_width', 960},
- height: #{attr 'revealjs_height', 700},
-
- // Factor of the display size that should remain empty around the content
- margin: #{attr 'revealjs_margin', 0.1},
-
- // Bounds for smallest/largest possible scale to apply to content
- minScale: #{attr 'revealjs_minscale', 0.2},
- maxScale: #{attr 'revealjs_maxscale', 1.5},
-
- // Optional libraries used to extend on reveal.js
- dependencies: [
- { src: '#{revealjsdir}/lib/js/classList.js', condition: function() { return !document.body.classList; } },
- #{(document.attr? 'source-highlighter', 'highlightjs') ? "{ src: '#{revealjsdir}/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }," : nil}
- #{(attr? 'revealjs_plugin_zoom', 'disabled') ? "" : "{ src: '#{revealjsdir}/plugin/zoom-js/zoom.js', async: true }," }
- #{(attr? 'revealjs_plugin_notes', 'disabled') ? "" : "{ src: '#{revealjsdir}/plugin/notes/notes.js', async: true }," }
- #{(attr? 'revealjs_plugin_marked', 'enabled') ? "{ src: '#{revealjsdir}/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }," : "" }
- #{(attr? 'revealjs_plugin_markdown', 'enabled') ? "{ src: '#{revealjsdir}/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }," : "" }
- #{(attr? 'revealjs_plugin_pdf', 'enabled') ? "{ src: '#{revealjsdir}/plugin/print-pdf/print-pdf.js', async: true }," : "" }
- #{(attr? 'revealjs_plugins') ? File.read(attr('revealjs_plugins', '')) : ""}
- ],
-
- #{(attr? 'revealjs_plugins_configuration') ? File.read(attr('revealjs_plugins_configuration', '')) : ""}
-
- });
- - unless (docinfo_content = (docinfo :footer, '.html')).empty?
- =docinfo_content
diff --git a/content/Spark/1-Basics/pom.xml b/content/Spark/1-Basics/pom.xml
index d23acb4..e5e01ba 100644
--- a/content/Spark/1-Basics/pom.xml
+++ b/content/Spark/1-Basics/pom.xml
@@ -22,12 +22,10 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>21</version>
-
- <!-- Required in our case as per http://maven.apache.org/ref/3.0.3/maven-model/maven.html#class_parent -->
- <relativePath></relativePath>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.apache.training</groupId>
@@ -38,273 +36,4 @@
<name>Apache Spark Basics</name>
<description>An example project that demonstrates how to integrate convert Asciidoc to a reveal.js presentation with the Asciidoctor Maven plugin.</description>
- <properties>
- <project.main.contentfile>index</project.main.contentfile>
- <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.1.0</asciidoctorj.version>
- <asciidoctorj.diagram.version>1.5.18</asciidoctorj.diagram.version>
- <asciidoctorj.extensions-lab.version>1.0.0</asciidoctorj.extensions-lab.version>
- <revealjs.version>3.8.0</revealjs.version>
- <asciidoctor-revealjs.version>2.0.0</asciidoctor-revealjs.version>
-
- <copy-rename-maven-plugin.version>1.0</copy-rename-maven-plugin.version>
- <download-maven-plugin.version>1.4.1</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>
-
- <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 mofified 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>
-
- <!-- IntelliJ related files -->
- <exclude>**/.idea/**</exclude>
- <exclude>**/*.iml</exclude>
-
- <!-- Asciidoctor generated files -->
- <exclude>**/.asciidoctor/**</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>
-
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>${download-maven-plugin.version}</version>
- <executions>
- <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>
- <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>
- <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>
- <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>
- <!-- Patch one of the "slim" files as the 'docinfo' integration doesn't seem to work -->
- <resource>
- <directory>libs/docinfo-hack</directory>
- <targetPath>${project.build.directory}/asciidoctor-reveal.js-${asciidoctor-revealjs.version}/templates</targetPath>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <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>apache</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>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>${maven-war-plugin.version}</version>
- <configuration>
- <failOnMissingWebXml>false</failOnMissingWebXml>
- <warSourceDirectory>${project.build.directory}/generated-slides</warSourceDirectory>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>${jetty-maven-plugin.version}</version>
- </plugin>
- <plugin>
- <groupId>com.coderplus.maven.plugins</groupId>
- <artifactId>copy-rename-maven-plugin</artifactId>
- <version>${copy-rename-maven-plugin.version}</version>
- <executions>
- <execution>
- <id>rename-slide-file</id>
- <phase>process-resources</phase>
- <goals>
- <goal>rename</goal>
- </goals>
- <configuration>
- <sourceFile>${project.slides.directory}/${project.main.contentfile}.revealjs</sourceFile>
- <destinationFile>${project.slides.directory}/${project.main.contentfile}.html</destinationFile>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/content/Spark/pom.xml b/content/Spark/pom.xml
new file mode 100644
index 0000000..ee94571
--- /dev/null
+++ b/content/Spark/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>training-content-spark</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Training: Content: Spark</name>
+
+ <modules>
+ <module>1-Basics</module>
+ </modules>
+
+</project>
diff --git a/content/Training/Presentations/libs/docinfo-hack/document.html.slim b/content/Training/Presentations/libs/docinfo-hack/document.html.slim
deleted file mode 100644
index 0957c64..0000000
--- a/content/Training/Presentations/libs/docinfo-hack/document.html.slim
+++ /dev/null
@@ -1,214 +0,0 @@
-doctype 5
-html lang=(attr :lang, 'en' unless attr? :nolang)
- head
- meta charset="utf-8"
- - revealjsdir = (attr :revealjsdir, 'reveal.js')
- - unless (asset_uri_scheme = (attr 'asset-uri-scheme', 'https')).empty?
- - asset_uri_scheme = %(#{asset_uri_scheme}:)
- - cdn_base = %(#{asset_uri_scheme}//cdnjs.cloudflare.com/ajax/libs)
- - [:description, :keywords, :author, :copyright].each do |key|
- - if attr? key
- meta name=key content=(attr key)
- 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"
- link href="css/c3.min.css" rel="stylesheet"
- script src="js/d3.min.js" charset="utf-8"
- script src="js/c3.min.js"
- / Default theme required even when using custom theme
- - if attr? :revealjs_customtheme
- link rel='stylesheet' href=(attr :revealjs_customtheme) id='theme'
- - else
- link rel='stylesheet' href='#{revealjsdir}/css/theme/#{attr 'revealjs_theme', 'black'}.css' id='theme'
- - if attr? :icons, 'font'
- - if attr? 'iconfont-remote'
- link rel='stylesheet' href=(attr 'iconfont-cdn', %(#{cdn_base}/font-awesome/4.3.0/css/font-awesome.min.css))
- - else
- link rel='stylesheet' href=(normalize_web_path %(#{attr 'iconfont-name', 'font-awesome'}.css), (attr 'stylesdir', ''), false)
- - if attr? :stem
- - eqnums_val = (attr 'eqnums', 'none')
- - eqnums_val = 'AMS' if eqnums_val == ''
- - eqnums_opt = %( equationNumbers: { autoNumber: "#{eqnums_val}" } )
- script type='text/x-mathjax-config'
- | MathJax.Hub.Config({
- tex2jax: {
- inlineMath: [#{Asciidoctor::INLINE_MATH_DELIMITERS[:latexmath].to_s}],
- displayMath: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:latexmath].to_s}],
- ignoreClass: "nostem|nolatexmath"
- },
- asciimath2jax: {
- delimiters: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:asciimath].to_s}],
- ignoreClass: "nostem|noasciimath"
- },
- TeX: {#{eqnums_opt}}
- });
- script src='#{cdn_base}/mathjax/2.4.0/MathJax.js?config=TeX-MML-AM_HTMLorMML'
- - case 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"
- / If the query includes 'print-pdf', use the PDF print sheet
- javascript:
- var link = document.createElement( 'link' );
- link.rel = 'stylesheet';
- link.type = 'text/css';
- link.href = window.location.search.match( /print-pdf/gi ) ? "#{revealjsdir}/css/print/pdf.css" : "#{revealjsdir}/css/print/paper.css";
- document.getElementsByTagName( 'head' )[0].appendChild( link );
- /[if lt IE 9]
- <script src="#{revealjsdir}/lib/js/html5shiv.js"></script>
- - unless (docinfo_content = docinfo :header, '.html').empty?
- =docinfo_content
- - if attr? :customcss
- link rel='stylesheet' href=((customcss = attr :customcss).empty? ? 'asciidoctor-revealjs.css' : customcss)
- body
- .header
- .left
- .right
- .reveal
- / Any section element inside of this container is displayed as a slide
- .slides
- - unless notitle || !has_header?
- - bg_image = (attr? 'title-slide-background-image') ? (image_uri(attr 'title-slide-background-image')) : nil
- - bg_video = (attr? 'title-slide-background-video') ? (media_uri(attr 'title-slide-background-video')) : nil
- section.title(class = role
- data-state='title'
- data-transition=(attr 'title-slide-transition')
- data-transition-speed=(attr 'title-slide-transition-speed')
- data-background=(attr 'title-slide-background')
- data-background-size=(attr 'title-slide-background-size')
- data-background-image=bg_image
- 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-iframe=(attr 'title-slide-background-iframe')
- data-background-color=(attr 'title-slide-background-color')
- data-background-repeat=(attr 'title-slide-background-repeat')
- data-background-position=(attr 'title-slide-background-position')
- data-background-transition=(attr 'title-slide-background-transition'))
- - if (_title_obj = doctitle partition: true, use_fallback: true).subtitle?
- h1=slice_text _title_obj.title, (_slice = header.option? :slice)
- h2=slice_text _title_obj.subtitle, _slice
- - else
- h1=@header.title
- - preamble = @document.find_by context: :preamble
- - unless preamble.nil? or preamble.length == 0
- div.preamble=preamble.pop.content
- - unless author.nil?
- p.author: small=author
- =content
- .footer
- .left
- .right Licensed under the Apache License, Version 2.0.<br>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
- script src="#{revealjsdir}/lib/js/head.min.js"
- script src="#{revealjsdir}/js/reveal.js"
- javascript:
- // See https://github.com/hakimel/reveal.js#configuration for a full list of configuration options
- Reveal.initialize({
- // Display controls in the bottom right corner
- controls: #{to_boolean(attr 'revealjs_controls', true)},
- // Display a presentation progress bar
- progress: #{to_boolean(attr 'revealjs_progress', true)},
- // Set a per-slide timing for speaker notes, null means none
- defaultTiming: #{attr 'revealjs_defaultTiming', 'null'},
- // Display the page number of the current slide
- slideNumber: #{to_boolean(attr 'revealjs_slidenumber', false)},
- // Push each slide change to the browser history
- history: #{to_boolean(attr 'revealjs_history', false)},
- // Enable keyboard shortcuts for navigation
- keyboard: #{to_boolean(attr 'revealjs_keyboard', true)},
- // Enable the slide overview mode
- overview: #{to_boolean(attr 'revealjs_overview', true)},
- // Vertical centering of slides
- center: #{to_boolean(attr 'revealjs_center', true)},
- // Enables touch navigation on devices with touch input
- touch: #{to_boolean(attr 'revealjs_touch', true)},
- // Loop the presentation
- loop: #{to_boolean(attr 'revealjs_loop', false)},
- // Change the presentation direction to be RTL
- rtl: #{to_boolean(attr 'revealjs_rtl', false)},
- // Randomizes the order of slides each time the presentation loads
- shuffle: #{to_boolean(attr 'revealjs_shuffle', false)},
- // Turns fragments on and off globally
- fragments: #{to_boolean(attr 'revealjs_fragments', true)},
- // 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)},
- // Flags if we should show a help overlay when the questionmark
- // 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)},
- // 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'},
- // 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},
- // Stop auto-sliding after user input
- autoSlideStoppable: #{to_boolean(attr 'revealjs_autoslidestoppable', true)},
- // Enable slide navigation via mouse wheel
- mouseWheel: #{to_boolean(attr 'revealjs_mousewheel', false)},
- // Hides the address bar on mobile devices
- hideAddressBar: #{to_boolean(attr 'revealjs_hideaddressbar', true)},
- // Opens links in an iframe preview overlay
- previewLinks: #{to_boolean(attr 'revealjs_previewlinks', false)},
- // Theme (e.g., beige, black, league, night, serif, simple, sky, solarized, white)
- // NOTE setting the theme in the config no longer works in reveal.js 3.x
- //theme: Reveal.getQueryHash().theme || '#{attr 'revealjs_theme', 'black'}',
- // Transition style (e.g., none, fade, slide, convex, concave, zoom)
- transition: Reveal.getQueryHash().transition || '#{attr 'revealjs_transition', 'slide'}',
- // Transition speed (e.g., default, fast, slow)
- 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'}',
- // Number of slides away from the current that are visible
- 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', ''}',
- // Parallax background size in CSS syntax (e.g., "2100px 900px")
- parallaxBackgroundSize: '#{attr 'revealjs_parallaxbackgroundsize', ''}',
-
- // The "normal" size of the presentation, aspect ratio will be preserved
- // when the presentation is scaled to fit different resolutions. Can be
- // specified using percentage units.
- width: #{attr 'revealjs_width', 960},
- height: #{attr 'revealjs_height', 700},
-
- // Factor of the display size that should remain empty around the content
- margin: #{attr 'revealjs_margin', 0.1},
-
- // Bounds for smallest/largest possible scale to apply to content
- minScale: #{attr 'revealjs_minscale', 0.2},
- maxScale: #{attr 'revealjs_maxscale', 1.5},
-
- // Optional libraries used to extend on reveal.js
- dependencies: [
- { src: '#{revealjsdir}/lib/js/classList.js', condition: function() { return !document.body.classList; } },
- { src: '#{revealjsdir}/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
- { src: '#{revealjsdir}/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
- #{(attr? 'source-highlighter', 'highlightjs') ? "{ src: '#{revealjsdir}/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }," : nil}
- { src: '#{revealjsdir}/plugin/zoom-js/zoom.js', async: true },
- { src: '#{revealjsdir}/plugin/notes/notes.js', async: true }
- ]
- });
- - unless (docinfo_content = (docinfo :footer, '.html')).empty?
- =docinfo_content
diff --git a/content/Training/Presentations/pom.xml b/content/Training/Presentations/pom.xml
index 7879bfe..3fed030 100644
--- a/content/Training/Presentations/pom.xml
+++ b/content/Training/Presentations/pom.xml
@@ -22,9 +22,10 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>21</version>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.apache.training</groupId>
@@ -35,285 +36,4 @@
<name>Apache Training talk</name>
<description>An Apache Training talk</description>
- <properties>
- <project.slides.common-directory>${project.build.directory}/generated-slides/common</project.slides.common-directory>
- <project.slides.language-directory>${project.build.directory}/generated-slides/language</project.slides.language-directory>
- <project.main.contentfile>index</project.main.contentfile>
- <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.0.0-RC.2</asciidoctorj.version>
- <asciidoctorj.diagram.version>1.5.16</asciidoctorj.diagram.version>
- <asciidoctorj.extensions-lab.version>1.0.0</asciidoctorj.extensions-lab.version>
- <revealjs.version>3.8.0</revealjs.version>
- <asciidoctor-revealjs.version>2.0.0</asciidoctor-revealjs.version>
- </properties>
-
- <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 mofified version of an asciidoctor file ... nor sure we can stick an Apache Header on it -->
- <exclude>libs/docinfo-hack/document.html.slim</exclude>
-
- <!-- Maven related files -->
- <exclude>**/target/**</exclude>
- <!-- exclude the third-party files -->
- <exclude>**/third-party/**</exclude>
- <!-- exclude the README.md file -->
- <exclude>README.md</exclude>
- <!-- Eclipse related files -->
- <exclude>**/.project</exclude>
- <exclude>**/.settings/**</exclude>
- <exclude>**/.classpath</exclude>
-
- <!-- IntelliJ related files -->
- <exclude>**/.idea/**</exclude>
- <exclude>**/*.iml</exclude>
-
- <!-- Asciidoctor generated files -->
- <exclude>**/.asciidoctor/**</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>
-
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>1.4.1</version>
- <executions>
- <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>
- <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>
- <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>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>3.1.0</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>
- <!-- Patch one of the "slim" files as the 'docinfo' integration doesn't seem to work -->
- <resource>
- <directory>libs/docinfo-hack</directory>
- <targetPath>${project.build.directory}/asciidoctor-reveal.js-${asciidoctor-revealjs.version}/templates</targetPath>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctor-maven-plugin</artifactId>
- <version>${asciidoctor.maven.plugin.version}</version>
- <executions>
- <execution>
- <id>generate-slides-en</id>
- <phase>process-resources</phase>
- <goals>
- <goal>process-asciidoc</goal>
- </goals>
- <configuration>
- <sourceDocumentName>index_en.adoc</sourceDocumentName>
- </configuration>
- </execution>
- </executions>
- <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>apache</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>
- <vg2svg>${basedir}/libs/third-party/node_modules/.bin/vg2svg</vg2svg>
- <plugin_pdf>enabled</plugin_pdf>
- </attributes>
- </configuration>
- <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>
- <!--dependency>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctorj-extensions-lab</artifactId>
- <version>${asciidoctorj.extensions-lab.version}</version>
- <!- Referenced locally till it's officially released ->
- <scope>system</scope>
- <systemPath>${basedir}/libs/asciidoctorj-extensions-lab-${asciidoctorj.extensions-lab.version}.jar</systemPath>
- </dependency-->
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>3.2.2</version>
- <configuration>
- <failOnMissingWebXml>false</failOnMissingWebXml>
- <warSourceDirectory>${project.build.directory}/generated-slides</warSourceDirectory>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>9.4.14.v20181114</version>
- </plugin>
- <plugin>
- <groupId>com.coderplus.maven.plugins</groupId>
- <artifactId>copy-rename-maven-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>rename-slide-file</id>
- <phase>process-resources</phase>
- <goals>
- <goal>rename</goal>
- </goals>
- <configuration>
- <fileSets>
- <fileset>
- <sourceFile>${project.slides.directory}/${project.main.contentfile}_en.revealjs</sourceFile>
- <destinationFile>${project.slides.directory}/${project.main.contentfile}_en.html</destinationFile>
- </fileset>
- </fileSets>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/content/Training/pom.xml b/content/Training/pom.xml
new file mode 100644
index 0000000..3106332
--- /dev/null
+++ b/content/Training/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>training-content-training</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Training: Content: Training</name>
+
+ <modules>
+ <module>Presentations</module>
+ </modules>
+
+</project>
diff --git a/content/ZooKeeper/libs/docinfo-hack/document.html.slim b/content/ZooKeeper/libs/docinfo-hack/document.html.slim
deleted file mode 100644
index ec9e3cf..0000000
--- a/content/ZooKeeper/libs/docinfo-hack/document.html.slim
+++ /dev/null
@@ -1,214 +0,0 @@
-doctype 5
-html lang=(attr :lang, 'en' unless attr? :nolang)
- head
- meta charset="utf-8"
- - revealjsdir = (attr :revealjsdir, 'reveal.js')
- - unless (asset_uri_scheme = (attr 'asset-uri-scheme', 'https')).empty?
- - asset_uri_scheme = %(#{asset_uri_scheme}:)
- - cdn_base = %(#{asset_uri_scheme}//cdnjs.cloudflare.com/ajax/libs)
- - [:description, :keywords, :author, :copyright].each do |key|
- - if attr? key
- meta name=key content=(attr key)
- 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"
- link href="css/c3.min.css" rel="stylesheet"
- script src="js/d3.min.js" charset="utf-8"
- script src="js/c3.min.js"
- / Default theme required even when using custom theme
- - if attr? :revealjs_customtheme
- link rel='stylesheet' href=(attr :revealjs_customtheme) id='theme'
- - else
- link rel='stylesheet' href='#{revealjsdir}/css/theme/#{attr 'revealjs_theme', 'black'}.css' id='theme'
- - if attr? :icons, 'font'
- - if attr? 'iconfont-remote'
- link rel='stylesheet' href=(attr 'iconfont-cdn', %(#{cdn_base}/font-awesome/4.3.0/css/font-awesome.min.css))
- - else
- link rel='stylesheet' href=(normalize_web_path %(#{attr 'iconfont-name', 'font-awesome'}.css), (attr 'stylesdir', ''), false)
- - if attr? :stem
- - eqnums_val = (attr 'eqnums', 'none')
- - eqnums_val = 'AMS' if eqnums_val == ''
- - eqnums_opt = %( equationNumbers: { autoNumber: "#{eqnums_val}" } )
- script type='text/x-mathjax-config'
- | MathJax.Hub.Config({
- tex2jax: {
- inlineMath: [#{Asciidoctor::INLINE_MATH_DELIMITERS[:latexmath].to_s}],
- displayMath: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:latexmath].to_s}],
- ignoreClass: "nostem|nolatexmath"
- },
- asciimath2jax: {
- delimiters: [#{Asciidoctor::BLOCK_MATH_DELIMITERS[:asciimath].to_s}],
- ignoreClass: "nostem|noasciimath"
- },
- TeX: {#{eqnums_opt}}
- });
- script src='#{cdn_base}/mathjax/2.4.0/MathJax.js?config=TeX-MML-AM_HTMLorMML'
- - case 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"
- / If the query includes 'print-pdf', use the PDF print sheet
- javascript:
- var link = document.createElement( 'link' );
- link.rel = 'stylesheet';
- link.type = 'text/css';
- link.href = window.location.search.match( /print-pdf/gi ) ? "#{revealjsdir}/css/print/pdf.css" : "#{revealjsdir}/css/print/paper.css";
- document.getElementsByTagName( 'head' )[0].appendChild( link );
- /[if lt IE 9]
- <script src="#{revealjsdir}/lib/js/html5shiv.js"></script>
- - unless (docinfo_content = docinfo :header, '.html').empty?
- =docinfo_content
- - if attr? :customcss
- link rel='stylesheet' href=((customcss = attr :customcss).empty? ? 'asciidoctor-revealjs.css' : customcss)
- body
- .header
- .left
- .right
- .reveal
- / Any section element inside of this container is displayed as a slide
- .slides
- - unless notitle || !has_header?
- - bg_image = (attr? 'title-slide-background-image') ? (image_uri(attr 'title-slide-background-image')) : nil
- - bg_video = (attr? 'title-slide-background-video') ? (media_uri(attr 'title-slide-background-video')) : nil
- section.title(class = role
- data-state='title'
- data-transition=(attr 'title-slide-transition')
- data-transition-speed=(attr 'title-slide-transition-speed')
- data-background=(attr 'title-slide-background')
- data-background-size=(attr 'title-slide-background-size')
- data-background-image=bg_image
- 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-iframe=(attr 'title-slide-background-iframe')
- data-background-color=(attr 'title-slide-background-color')
- data-background-repeat=(attr 'title-slide-background-repeat')
- data-background-position=(attr 'title-slide-background-position')
- data-background-transition=(attr 'title-slide-background-transition'))
- - if (_title_obj = doctitle partition: true, use_fallback: true).subtitle?
- h1=slice_text _title_obj.title, (_slice = header.option? :slice)
- h2=slice_text _title_obj.subtitle, _slice
- - else
- h1=@header.title
- - preamble = @document.find_by context: :preamble
- - unless preamble.nil? or preamble.length == 0
- div.preamble=preamble.pop.content
- - unless author.nil?
- p.author: small=author
- =content
- .footer
- .left
- .right
- script src="#{revealjsdir}/lib/js/head.min.js"
- script src="#{revealjsdir}/js/reveal.js"
- javascript:
- // See https://github.com/hakimel/reveal.js#configuration for a full list of configuration options
- Reveal.initialize({
- // Display controls in the bottom right corner
- controls: #{to_boolean(attr 'revealjs_controls', true)},
- // Display a presentation progress bar
- progress: #{to_boolean(attr 'revealjs_progress', true)},
- // Set a per-slide timing for speaker notes, null means none
- defaultTiming: #{attr 'revealjs_defaultTiming', 'null'},
- // Display the page number of the current slide
- slideNumber: #{to_boolean(attr 'revealjs_slidenumber', false)},
- // Push each slide change to the browser history
- history: #{to_boolean(attr 'revealjs_history', false)},
- // Enable keyboard shortcuts for navigation
- keyboard: #{to_boolean(attr 'revealjs_keyboard', true)},
- // Enable the slide overview mode
- overview: #{to_boolean(attr 'revealjs_overview', true)},
- // Vertical centering of slides
- center: #{to_boolean(attr 'revealjs_center', true)},
- // Enables touch navigation on devices with touch input
- touch: #{to_boolean(attr 'revealjs_touch', true)},
- // Loop the presentation
- loop: #{to_boolean(attr 'revealjs_loop', false)},
- // Change the presentation direction to be RTL
- rtl: #{to_boolean(attr 'revealjs_rtl', false)},
- // Randomizes the order of slides each time the presentation loads
- shuffle: #{to_boolean(attr 'revealjs_shuffle', false)},
- // Turns fragments on and off globally
- fragments: #{to_boolean(attr 'revealjs_fragments', true)},
- // 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)},
- // Flags if we should show a help overlay when the questionmark
- // 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)},
- // 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'},
- // 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},
- // Stop auto-sliding after user input
- autoSlideStoppable: #{to_boolean(attr 'revealjs_autoslidestoppable', true)},
- // Enable slide navigation via mouse wheel
- mouseWheel: #{to_boolean(attr 'revealjs_mousewheel', false)},
- // Hides the address bar on mobile devices
- hideAddressBar: #{to_boolean(attr 'revealjs_hideaddressbar', true)},
- // Opens links in an iframe preview overlay
- previewLinks: #{to_boolean(attr 'revealjs_previewlinks', false)},
- // Theme (e.g., beige, black, league, night, serif, simple, sky, solarized, white)
- // NOTE setting the theme in the config no longer works in reveal.js 3.x
- //theme: Reveal.getQueryHash().theme || '#{attr 'revealjs_theme', 'black'}',
- // Transition style (e.g., none, fade, slide, convex, concave, zoom)
- transition: Reveal.getQueryHash().transition || '#{attr 'revealjs_transition', 'slide'}',
- // Transition speed (e.g., default, fast, slow)
- 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'}',
- // Number of slides away from the current that are visible
- 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', ''}',
- // Parallax background size in CSS syntax (e.g., "2100px 900px")
- parallaxBackgroundSize: '#{attr 'revealjs_parallaxbackgroundsize', ''}',
-
- // The "normal" size of the presentation, aspect ratio will be preserved
- // when the presentation is scaled to fit different resolutions. Can be
- // specified using percentage units.
- width: #{attr 'revealjs_width', 960},
- height: #{attr 'revealjs_height', 700},
-
- // Factor of the display size that should remain empty around the content
- margin: #{attr 'revealjs_margin', 0.1},
-
- // Bounds for smallest/largest possible scale to apply to content
- minScale: #{attr 'revealjs_minscale', 0.2},
- maxScale: #{attr 'revealjs_maxscale', 1.5},
-
- // Optional libraries used to extend on reveal.js
- dependencies: [
- { src: '#{revealjsdir}/lib/js/classList.js', condition: function() { return !document.body.classList; } },
- { src: '#{revealjsdir}/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
- { src: '#{revealjsdir}/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
- #{(attr? 'source-highlighter', 'highlightjs') ? "{ src: '#{revealjsdir}/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }," : nil}
- { src: '#{revealjsdir}/plugin/zoom-js/zoom.js', async: true },
- { src: '#{revealjsdir}/plugin/notes/notes.js', async: true }
- ]
- });
- - unless (docinfo_content = (docinfo :footer, '.html')).empty?
- =docinfo_content
diff --git a/content/ZooKeeper/pom.xml b/content/ZooKeeper/pom.xml
index 79b9da3..1d8deac 100644
--- a/content/ZooKeeper/pom.xml
+++ b/content/ZooKeeper/pom.xml
@@ -22,12 +22,10 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>21</version>
-
- <!-- Required in our case as per http://maven.apache.org/ref/3.0.3/maven-model/maven.html#class_parent -->
- <relativePath></relativePath>
+ <groupId>org.apache.training</groupId>
+ <artifactId>content-parent-pom</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath/>
</parent>
<groupId>org.apache.training</groupId>
@@ -37,304 +35,4 @@
<name>Training: Apache ZooKeeper</name>
- <properties>
- <project.slides.common-directory>${project.build.directory}/generated-slides/common</project.slides.common-directory>
- <project.slides.language-directory>${project.build.directory}/generated-slides/language</project.slides.language-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.0.0-RC.2</asciidoctorj.version>
- <asciidoctorj.diagram.version>1.5.16</asciidoctorj.diagram.version>
- <asciidoctorj.extensions-lab.version>1.0.0</asciidoctorj.extensions-lab.version>
- <revealjs.version>3.7.0</revealjs.version>
- <asciidoctor-revealjs.version>2.0.0</asciidoctor-revealjs.version>
-
- <download-maven-plugin.version>1.4.1</download-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>
- <jetty-maven-plugin.version>9.4.14.v20181114</jetty-maven-plugin.version>
- </properties>
-
- <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 mofified 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>
-
- <!-- IntelliJ related files -->
- <exclude>**/.idea/**</exclude>
- <exclude>**/*.iml</exclude>
-
- <!-- Asciidoctor generated files -->
- <exclude>**/.asciidoctor/**</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>
-
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>${download-maven-plugin.version}</version>
- <executions>
- <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>
- <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.common-directory}</outputDirectory>
- </configuration>
- </execution>
- <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.common-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.common-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.common-directory}/js</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <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.common-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.common-directory}/reveal.js-${revealjs.version}/css/theme</targetPath>
- </resource>
- <!-- Patch one of the "slim" files as the 'docinfo' integration doesn't seem to work -->
- <resource>
- <directory>libs/docinfo-hack</directory>
- <targetPath>${project.build.directory}/asciidoctor-reveal.js-${asciidoctor-revealjs.version}/templates</targetPath>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctor-maven-plugin</artifactId>
- <version>${asciidoctor.maven.plugin.version}</version>
- <executions>
- <execution>
- <id>generate-slides-en</id>
- <phase>process-resources</phase>
- <goals>
- <goal>process-asciidoc</goal>
- </goals>
- <configuration>
- <sourceDocumentName>index_en.adoc</sourceDocumentName>
- <outputDirectory>${project.slides.language-directory}/en</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>generate-slides-de</id>
- <phase>process-resources</phase>
- <goals>
- <goal>process-asciidoc</goal>
- </goals>
- <configuration>
- <sourceDocumentName>index_de.adoc</sourceDocumentName>
- <outputDirectory>${project.slides.language-directory}/de</outputDirectory>
- </configuration>
- </execution>
- </executions>
- <!-- Common configuration -->
- <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>
- <!-- output file-->
- <outputFile>index.html</outputFile>
- <!-- 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>apache</revealjs_theme>
- <!-- Some basic settings -->
- <revealjs_transition>linear</revealjs_transition>
- <project-version>${project.version}</project-version>
- <source-highlighter>highlightjs</source-highlighter>
- <erd>${basedir}/libs/third-party/erd/.stack-work/dist/x86_64-osx/Cabal-2.2.0.1/build/erd/erd</erd>
- <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>
- <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>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>${maven-war-plugin.version}</version>
- <executions>
- <execution>
- <id>default-war</id>
- <phase>package</phase>
- <goals>
- <goal>war</goal>
- </goals>
- <configuration>
- <webResources>
- <resource>
- <directory>${project.slides.language-directory}/en</directory>
- </resource>
- </webResources>
- <webappDirectory>${project.build.directory}/${project.artifactId}-${project.version}-en</webappDirectory>
- <classifier>en</classifier>
- </configuration>
- </execution>
- <execution>
- <id>default-war-de</id>
- <phase>package</phase>
- <goals>
- <goal>war</goal>
- </goals>
- <configuration>
- <webResources>
- <resource>
- <directory>${project.slides.language-directory}/de</directory>
- </resource>
- </webResources>
- <webappDirectory>${project.build.directory}/${project.artifactId}-${project.version}-de</webappDirectory>
- <classifier>de</classifier>
- </configuration>
- </execution>
- </executions>
- <configuration>
- <failOnMissingWebXml>false</failOnMissingWebXml>
- <warSourceDirectory>${project.build.directory}/generated-slides/common</warSourceDirectory>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>${jetty-maven-plugin.version}</version>
- <configuration>
- <war>${project.build.directory}/${project.artifactId}-${project.version}-en.war</war>
- </configuration>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/content/pom.xml b/content/pom.xml
new file mode 100644
index 0000000..deafd93
--- /dev/null
+++ b/content/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.training</groupId>
+ <artifactId>training</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>training-content</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>Training: Content</name>
+
+ <modules>
+ <module>ApacheCon</module>
+ <module>ApacheFlink</module>
+ <module>ApacheHive</module>
+ <module>ApacheWay</module>
+ <module>ComDev</module>
+ <module>Hadoop</module>
+ <module>Ignite</module>
+ <module>Incubator</module>
+ <module>IoT</module>
+ <module>MyNewt</module>
+ <module>Spark</module>
+ <module>Training</module>
+ <module>ZooKeeper</module>
+ </modules>
+
+</project>
diff --git a/pom.xml b/pom.xml
index 883b603..10691a6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,6 +39,7 @@
<modules>
<module>site</module>
<module>tools</module>
+ <module>content</module>
</modules>
</project>
diff --git a/tools/content-archetype/src/main/resources/archetype-resources/pom.xml b/tools/content-archetype/src/main/resources/archetype-resources/pom.xml
index 236e553..6e27087 100644
--- a/tools/content-archetype/src/main/resources/archetype-resources/pom.xml
+++ b/tools/content-archetype/src/main/resources/archetype-resources/pom.xml
@@ -21,10 +21,11 @@
<parent>
<groupId>org.apache.training</groupId>
- <artifactId>content-master-pom</artifactId>
+ <artifactId>content-parent-pom</artifactId>
<version>1.0.0-SNAPSHOT</version>
<!-- Required in our case as per http://maven.apache.org/ref/3.0.3/maven-model/maven.html#class_parent -->
+ <relativePath></relativePath>
</parent>
<artifactId>${artifactId}</artifactId>
diff --git a/tools/content-parent-pom/pom.xml b/tools/content-parent-pom/pom.xml
index ea4fb30..33bf4ad 100644
--- a/tools/content-parent-pom/pom.xml
+++ b/tools/content-parent-pom/pom.xml
@@ -31,7 +31,7 @@
</parent>
<groupId>org.apache.training</groupId>
- <artifactId>content-master-pom</artifactId>
+ <artifactId>content-parent-pom</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
@@ -46,6 +46,8 @@
<project.slides.directory>${project.build.directory}/generated-slides</project.slides.directory>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <java.version>1.8</java.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>
@@ -114,6 +116,9 @@
<!-- Output of the profiler maven extension -->
<exclude>**/.profiler/**</exclude>
+
+ <exclude>licenses/**</exclude>
+ <exclude>README.md</exclude>
</excludes>
</configuration>
</plugin>
@@ -415,6 +420,21 @@
</configuration>
</plugin>
</plugins>
+
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>${java.version}</source>
+ <target>${java.version}</target>
+ <testSource>${java.version}</testSource>
+ <testTarget>${java.version}</testTarget>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
</build>
</project>