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

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


The following commit(s) were added to refs/heads/develop by this push:
     new b9248e6  Add sample video intro and outro
     new 8eb2668  Merge branch 'develop' of https://github.com/apache/training 
into develop
b9248e6 is described below

commit b9248e6f3a189ccb0905f5d43869ad024399d9b9
Author: Justin Mclean <[email protected]>
AuthorDate: Tue Sep 30 18:57:31 2025 +1000

    Add sample video intro and outro
---
 content/Apache/Training/Video/README.md            |  57 +++
 content/Apache/Training/Video/pom.xml              |  64 +++
 .../Video/src/main/asciidoc/_settings.adoc         |  36 ++
 .../Training/Video/src/main/asciidoc/index.adoc    |  94 +++++
 .../main/java/org/apache/training/StringUtils.java |  27 ++
 .../Training/Video/src/main/resources/apache.css   | 437 +++++++++++++++++++++
 .../Video/src/main/resources/images/ASF_oak.png    | Bin 0 -> 429377 bytes
 7 files changed, 715 insertions(+)

diff --git a/content/Apache/Training/Video/README.md 
b/content/Apache/Training/Video/README.md
new file mode 100644
index 0000000..cf2dfe4
--- /dev/null
+++ b/content/Apache/Training/Video/README.md
@@ -0,0 +1,57 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      https://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+# Presentation with Reveal.JS and AsciiDoctor
+
+Remarks:
+- In order to use the preview of the IntelliJ asciidoctor plugin, you need to 
set an attribute in the plugin settings: `imagesdir` = `../resources/images`
+- Any css adjustments can go to `src/main/theme/apache.css` as this is 
automatically embedded into the themes directory.
+
+## Building the presentation
+
+Apache Training makes use of several tools in order to compile the 
presentations.
+The probably simplest way to build the project is using Docker, as we provide 
the Dockerfile for installing all prerequisites.
+```
+docker compose up
+```
+This should produce compiled versions of all presentations in your local 
working copy.
+
+If you want to build the presentation on your local system the following 
command should do.
+However, if you are missing prerequisites, then this build will most probably 
fail.
+
+By running the following command, you can generate the presentation:
+```
+mvn package
+``` 
+## Running the presentation
+
+In order to show the presentation, go into the `target` directory and look for 
a directory named {artifactId}-{version}.
+This direcotry contains an `index.html` file.
+
+Simply open this in any browser of your choice.
+
+## Generating PDF versions
+
+In order to generate a PDF version of the presentation just add `?print-pdf` 
to the url. (Keep in mind, that you have to add it before any `#blahblah`)
+
+The following link should do the trick:
+```
+http:///{someFilePath}/?print-pdf
+```
+As soon as that's loaded, the presentation will look a bit odd. Now just use 
the normal `print` functionality of the browser and select `print as PDF`.
diff --git a/content/Apache/Training/Video/pom.xml 
b/content/Apache/Training/Video/pom.xml
new file mode 100644
index 0000000..5b71d10
--- /dev/null
+++ b/content/Apache/Training/Video/pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      https://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+--><project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.training</groupId>
+        <artifactId>content-parent-pom</artifactId>
+        <version>1.4.0</version>
+        
<relativePath>../../../../tools/content-parent-pom/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>trainnig-video</artifactId>
+    <groupId>org.apache.training.content</groupId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>war</packaging>
+
+    <name>Training: Content: Training: Video</name>
+
+    <!-- Make Snapshots of Apache projects available -->
+    <repositories>
+        <repository>
+            <id>apache-snapshots</id>
+            
<url>https://repository.apache.org/content/repositories/snapshots</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
+
+    <!-- Make Snapshots of Apache plugins available -->
+    <pluginRepositories>
+        <pluginRepository>
+            <id>apache-snapshots</id>
+            
<url>https://repository.apache.org/content/repositories/snapshots</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </pluginRepository>
+    </pluginRepositories>
+
+</project>
diff --git a/content/Apache/Training/Video/src/main/asciidoc/_settings.adoc 
b/content/Apache/Training/Video/src/main/asciidoc/_settings.adoc
new file mode 100644
index 0000000..242a08b
--- /dev/null
+++ b/content/Apache/Training/Video/src/main/asciidoc/_settings.adoc
@@ -0,0 +1,36 @@
+////
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      https://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+////
+
+:goto:
+:menu:
+:navigation:
+:status:
+:arrows:
+:revealjs_theme: cc_black
+:revealjs_progress: true
+:revealjs_slidenumber: true
+:pdf-page-size: A4
+:revealjs_center: false
+:revealjs_history: true
+:icons: font
+:imagesdir: images
+:sourcedir: ../java
+:title-slide-background-image: background-dark-orig.jpg
+:idprefix:
+:idseparator: -
diff --git a/content/Apache/Training/Video/src/main/asciidoc/index.adoc 
b/content/Apache/Training/Video/src/main/asciidoc/index.adoc
new file mode 100644
index 0000000..098187c
--- /dev/null
+++ b/content/Apache/Training/Video/src/main/asciidoc/index.adoc
@@ -0,0 +1,94 @@
+// 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.
+
+:revealjs_theme: white
+:revealjs_slideNumber: false
+:revealjs_progress: false
+:revealjs_center: true
+:revealjs_controls: false
+:revealjs_history: true
+:icons: font
+:sectanchors:
+:customcss: apache.css
+
+// ----- Intro - Frame 1 -----
+[%notitle]
+== Title
+image::ASF_oak.png[ASF Oak Leaf, width=220]
+
+[.series-title]
+Apache Incubator Training Series
+
+[.notes]
+--
+Universal intro slide (frame 1).
+Logo centered, series title in ASF blue.
+Hold ~3 seconds.
+--
+
+
+// ----- Intro - Frame 2 (Module Title) -----
+[%notitle]
+== Title
+
+[.module-title]
+*IPMC Onboarding*
+
+[.module-subtitle]
+Supporting Podlings the Apache Way
+
+[.notes]
+--
+Module intro slide (frame 2).
+Replace title/subtitle per module.
+Hold ~7–10 seconds.
+--
+
+// ----- Blamk -----
+[%notitle]
+== Title
+
+// ----- Outro - Frame 1 -----
+[%notitle]
+== Title
+image::asf_oak.png[ASF Oak Leaf, width=220]
+
+[.tagline]
+*Community Over Code*
+
+[.notes]
+--
+Outro frame 1: logo centered, tagline in ASF red.
+Hold ~5 seconds.
+--
+
+
+// ----- Outro - Frame 2 -----
+[%notitle]
+== Title
+image::asf_oak.png[ASF Oak Leaf, width=220, role=top-right]
+
+Thanks for watching this Incubator module.
+
+[.url]
+https://incubator.apache.org/training
+
+[.notes]
+--
+Outro frame 2: site URL in ASF blue.
+Hold ~5 seconds and fade out.
+--
\ No newline at end of file
diff --git 
a/content/Apache/Training/Video/src/main/java/org/apache/training/StringUtils.java
 
b/content/Apache/Training/Video/src/main/java/org/apache/training/StringUtils.java
new file mode 100644
index 0000000..beac597
--- /dev/null
+++ 
b/content/Apache/Training/Video/src/main/java/org/apache/training/StringUtils.java
@@ -0,0 +1,27 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    https://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+package org.apache.training;
+
+public class StringUtils {
+    // tag::contains[]
+    public boolean contains(String haystack, String needle) {
+        return haystack.contains(needle);
+    }
+    // end::contains[]
+}
diff --git a/content/Apache/Training/Video/src/main/resources/apache.css 
b/content/Apache/Training/Video/src/main/resources/apache.css
new file mode 100644
index 0000000..c489b4f
--- /dev/null
+++ b/content/Apache/Training/Video/src/main/resources/apache.css
@@ -0,0 +1,437 @@
+/*
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    https://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+*/
+
+section.has-light-background, section.has-light-background h1, 
section.has-light-background h2, section.has-light-background h3, 
section.has-light-background h4, section.has-light-background h5, 
section.has-light-background h6 {
+  color: #fff; }
+
+/*********************************************
+ * GLOBAL STYLES
+ *********************************************/
+body {
+/* TODO: Fix this */
+/*  background-image: url("../../../images/background.jpg");*/
+  background-repeat: no-repeat;
+  background-size: cover;
+  background-color: #fff; }
+
+.reveal {
+  font-family: Panton-Regular, Helvetica, sans-serif;
+  font-size: 34px;
+  font-weight: normal;
+  color: #000; }
+
+::selection {
+  color: #000;
+  background: #bee4fd;
+  text-shadow: none; }
+
+.reveal .slides > section, .reveal .slides > section > section {
+  line-height: 1.3;
+  font-weight: inherit; }
+
+/*********************************************
+ * HEADERS
+ *********************************************/
+.reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 {
+  margin: 0 0 20px 0;
+  color: #000;
+  font-family: Panton-Regular, Helvetica, sans-serif;
+  font-weight: 600;
+  line-height: 1.2;
+  letter-spacing: normal;
+  text-transform: uppercase;
+  text-shadow: none;
+  word-wrap: break-word; }
+
+.reveal h1 {
+  font-size: 2.5em; }
+
+.reveal h2 {
+  font-size: 1.6em; }
+
+.reveal h3 {
+  font-size: 1.3em; }
+
+.reveal h4 {
+  font-size: 1em; }
+
+.reveal h1 {
+  text-shadow: none; }
+
+/*********************************************
+ * OTHER
+ *********************************************/
+.reveal p {
+  margin: 20px 0;
+  line-height: 1.3; }
+
+/* Ensure certain elements are never larger than the slide itself */
+.reveal img, .reveal video, .reveal iframe {
+  max-width: 95%;
+  max-height: 95%; }
+
+.reveal strong, .reveal b {
+  font-weight: bold; }
+
+.reveal em {
+  font-style: italic; }
+
+.reveal ol, .reveal dl, .reveal ul {
+  display: inline-block;
+  text-align: left;
+  margin: 0 0 0 1em; }
+
+.reveal ol {
+  list-style-type: decimal; }
+
+.reveal ul {
+  list-style-type: disc; }
+
+.reveal ul ul {
+  list-style-type: square; }
+
+.reveal ul ul ul {
+  list-style-type: circle; }
+
+.reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul {
+  display: block;
+  margin-left: 40px; }
+
+.reveal dt {
+  font-weight: bold; }
+
+.reveal dd {
+  margin-left: 40px; }
+
+.reveal q, .reveal blockquote {
+  quotes: none; }
+
+.reveal blockquote {
+  display: block;
+  position: relative;
+  width: 70%;
+  margin: 20px auto;
+  padding: 5px;
+  font-style: italic;
+  background: rgba(255, 255, 255, 0.05);
+  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2); }
+
+.reveal blockquote p:first-child, .reveal blockquote p:last-child {
+  display: inline-block; }
+
+.reveal q {
+  font-style: italic; }
+
+.reveal pre {
+  display: block;
+  position: relative;
+  width: 90%;
+  margin: 20px auto;
+  text-align: left;
+  font-size: 0.55em;
+  font-family: monospace;
+  line-height: 1.2em;
+  word-wrap: break-word;
+  box-shadow: 0 0 6px rgba(0, 0, 0, 0.3); }
+
+.reveal code {
+  font-family: monospace; }
+
+.reveal pre code {
+  display: block;
+  padding: 5px;
+  overflow: auto;
+  max-height: 400px;
+  word-wrap: normal;
+  background: #3F3F3F;
+  color: #DCDCDC; }
+
+.reveal table {
+  margin: auto;
+  border-collapse: collapse;
+  border-spacing: 0; }
+
+.reveal table th {
+  font-weight: bold; }
+
+.reveal table th, .reveal table td {
+  text-align: left;
+  padding: 0.2em 0.5em 0.2em 0.5em;
+  border-bottom: 1px solid; }
+
+.reveal table th[align="center"], .reveal table td[align="center"] {
+  text-align: center; }
+
+.reveal table th[align="right"], .reveal table td[align="right"] {
+  text-align: right; }
+
+.reveal table tr:last-child td {
+  border-bottom: none; }
+
+.reveal sup {
+  vertical-align: super; }
+
+.reveal sub {
+  vertical-align: sub; }
+
+.reveal small {
+  display: inline-block;
+  font-size: 0.6em;
+  line-height: 1.2em;
+  vertical-align: top; }
+
+.reveal small * {
+  vertical-align: top; }
+
+/*********************************************
+ * LINKS
+ *********************************************/
+.reveal a {
+  color: #42affa;
+  text-decoration: none;
+  -webkit-transition: color 0.15s ease;
+  -moz-transition: color 0.15s ease;
+  transition: color 0.15s ease; }
+
+.reveal a:hover {
+  color: #8dcffc;
+  text-shadow: none;
+  border: none; }
+
+.reveal .roll span:after {
+  color: #fff;
+  background: #068ee9; }
+
+/*********************************************
+ * IMAGES
+ *********************************************/
+.reveal section img {
+  margin: 15px 0;
+  /*background: rgba(255, 255, 255, 0.12);*/
+  /*border: 4px solid #fff;*/
+  /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);*/ }
+
+.reveal a img {
+  -webkit-transition: all 0.15s linear;
+  -moz-transition: all 0.15s linear;
+  transition: all 0.15s linear; }
+
+.reveal a:hover img {
+  background: rgba(255, 255, 255, 0.2);
+  border-color: #42affa;
+  box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
+
+/*********************************************
+ * NAVIGATION CONTROLS
+ *********************************************/
+.reveal .controls div.navigate-left, .reveal .controls 
div.navigate-left.enabled {
+  border-right-color: #42affa; }
+
+.reveal .controls div.navigate-right, .reveal .controls 
div.navigate-right.enabled {
+  border-left-color: #42affa; }
+
+.reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled {
+  border-bottom-color: #42affa; }
+
+.reveal .controls div.navigate-down, .reveal .controls 
div.navigate-down.enabled {
+  border-top-color: #42affa; }
+
+.reveal .controls div.navigate-left.enabled:hover {
+  border-right-color: #8dcffc; }
+
+.reveal .controls div.navigate-right.enabled:hover {
+  border-left-color: #8dcffc; }
+
+.reveal .controls div.navigate-up.enabled:hover {
+  border-bottom-color: #8dcffc; }
+
+.reveal .controls div.navigate-down.enabled:hover {
+  border-top-color: #8dcffc; }
+
+/*********************************************
+ * PROGRESS BAR
+ *********************************************/
+.reveal .progress {
+  background: rgba(0, 0, 0, 0.2); }
+
+.reveal .progress span {
+  background: #42affa;
+  -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
+  -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
+  transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
+
+/*********************************************
+ * SLIDE NUMBER
+ *********************************************/
+.reveal .slide-number {
+  color: #42affa;
+  background-color: rgba(0, 0, 0, 0);
+}
+
+/*********************************************
+ * GENERAL PURPOSE COLORS
+ *********************************************/
+
+.reveal .red {
+  color: red;
+}
+
+.reveal .orange {
+  color: orange;
+}
+
+.reveal .yellow {
+  color: yellow;
+}
+
+.reveal .green {
+  color: green;
+}
+
+/*********************************************
+ * C3JS Charts
+ *********************************************/
+
+.c3 {
+  fill: white;  }
+
+.c3 line, .c3 path {
+  stroke: white !important; }
+
+/*********************************************
+ * Custom styling of individual charts
+ *********************************************/
+
+#most-significant-barriers .c3-shape .c3-shape-2 .c3-bar .c3-bar-2 {
+  color: red;
+}
+
+/*********************************************
+ * Footer and Header
+ *********************************************/
+
+.header {
+  position:relative;
+}
+/*.header .left {
+  position:absolute;
+  top: 5px;
+  left: 5px;
+  width: 196px;
+  height: 100px;
+  background-image: url("../../../images/logo-building-iot.png");
+}*/
+/*
+.header .right {
+  position:absolute;
+  top: 5px;
+  right: 5px;
+  width: 246px;
+  height: 100px;
+  background-image: url("../../../images/logo-apache.png");
+}
+*/
+.footer {
+  position:relative;
+}
+/*.footer .left {
+  position:absolute;
+  bottom: 5px;
+  left: 5px;
+  width: 392px;
+  height: 50px;
+  background-image: url("../../../images/logo-company.png");
+}
+.footer .right {
+  position:absolute;
+  bottom: 5px;
+  right: 5px;
+  width: 306px;
+  height: 100px;
+  background-image: url("../../../images/logo-training.png");
+}*/
+
+/*********************************************
+ * Add the ability to split into two columns
+ *********************************************/
+
+.reveal .west {
+  position: fixed;
+  left: 5%;
+}
+
+.reveal .east {
+  position: fixed;
+  right: 5%;
+}
+
+.reveal ul, .reveal ol {
+  list-style: none;
+  margin-left: 0;
+  padding-left: 0;
+}
+.reveal ul > li::marker, .reveal ol > li::marker {
+  content: "";
+}
+
+/* Series title (intro frame 1) */
+.series-title {
+color: #205493; /* ASF blue */
+font-size: 2.2em;
+font-weight: 700;
+}
+
+/* Module title (intro frame 2) */
+.module-title {
+color: #205493; /* ASF blue */
+font-size: 2.5em;
+font-weight: 800;
+}
+
+/* Module subtitle */
+.module-subtitle {
+color: #333333; /* dark grey */
+font-size: 1.6em;
+font-style: italic;
+}
+
+/* Tagline (outro frame 1) */
+.tagline {
+color: #205493; /* ASF blue */
+font-size: 2.2em;
+font-weight: 700;
+}
+
+/* Outro URL */
+.url {
+color: #205493; /* ASF blue */
+font-size: 1.4em;
+}
+
+/* Optional: make the oak logo role=top-right float */
+.reveal section img.top-right {
+position: absolute;
+top: 1.0rem;
+right: 1.0rem;
+}
+
+/* Ensure high contrast on light theme */
+.reveal section {
+color: #333333;
+}
\ No newline at end of file
diff --git 
a/content/Apache/Training/Video/src/main/resources/images/ASF_oak.png 
b/content/Apache/Training/Video/src/main/resources/images/ASF_oak.png
new file mode 100644
index 0000000..fbb755d
Binary files /dev/null and 
b/content/Apache/Training/Video/src/main/resources/images/ASF_oak.png differ

Reply via email to