diff --git a/Jenkinsfile b/Jenkinsfile
index 0a09fd0..8965bb3 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -155,11 +155,12 @@
                 echo 'Staging Site'
                 sh 'mvn -P${JENKINS_PROFILE} site:stage'
                 // Stash the generated site so we can publish it on the 'git-website' node.
-                stash includes: 'target/staging/**/*', name: 'edgent-site'
+//                stash includes: 'target/staging/**/*', name: 'edgent-site'
             }
         }
 
-        stage('Deploy site') {
+        // Commented out for now as currently the site is generated differently / manually
+/*        stage('Deploy site') {
             when {
                 branch 'develop'
             }
@@ -187,7 +188,7 @@
                 }
             }
         }
-    }
+    }*/
 
     // Send out notifications on unsuccessful builds.
     post {
diff --git a/pom.xml b/pom.xml
index c73c5f2..1dd01f0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -292,7 +292,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-site-plugin</artifactId>
-          <version>3.6</version>
+          <version>3.7.1</version>
         </plugin>
       </plugins>
     </pluginManagement>
@@ -533,8 +533,6 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-site-plugin</artifactId>
-        <!-- get errors with site:site task when using the default (3.6) version -->
-        <version>3.4</version><!--$NO-MVN-MAN-VER$-->
         <configuration>
           <generateReports>true</generateReports>
           <generateSitemap>true</generateSitemap>
@@ -542,23 +540,34 @@
           <locales>en</locales>
           <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
           <outputEncoding>${project.reporting.outputencoding}</outputEncoding>
+          <!--
+            IntelliJ can't find the asciidoc config option in the site plugin, which is correct.
+            However this config section is used by the asciidoctor site plugin extension. So plead
+            ignore this error, it's actually ok.
+          -->
+          <asciidoc>
+            <attributes>
+              <source-highlighter>prettify</source-highlighter>
+              <!--
+                When running asciidoctor as part of the site-generation, it will generate the diagrams of
+                sub-modules into the root modules img directory, which will break everything. Therefore we
+                tell it to generate to some outside directory and have a second execution of asciidoctor
+                generate the images to the correct location. This is a hack that should be removed as soon
+                as possible.
+              -->
+              <imagesoutdir>${project.build.directory}/dump</imagesoutdir>
+            </attributes>
+            <requires>
+              <require>asciidoctor-diagram</require>
+            </requires>
+          </asciidoc>
         </configuration>
         <dependencies>
-          <!-- All dependencies needed by the reflow skin -->
+          <!-- All dependenci es needed by the reflow skin -->
           <dependency>
-            <groupId>lt.velykis.maven.skins</groupId>
+            <groupId>io.github.devacfr.maven.skins</groupId>
             <artifactId>reflow-velocity-tools</artifactId>
-            <version>1.1.1</version>
-          </dependency>
-          <dependency>
-            <groupId>org.apache.velocity</groupId>
-            <artifactId>velocity</artifactId>
-            <version>1.7</version>
-          </dependency>
-          <dependency>
-            <groupId>org.apache.maven.doxia</groupId>
-            <artifactId>doxia-core</artifactId>
-            <version>1.6</version>
+            <version>1.3.10</version>
           </dependency>
           <!-- add support for scm/git site deployment -->
           <dependency>
@@ -585,22 +594,22 @@
           <dependency>
             <groupId>org.asciidoctor</groupId>
             <artifactId>asciidoctor-maven-plugin</artifactId>
-            <version>1.5.5</version>
+            <version>1.5.6</version>
           </dependency>
           <dependency>
             <groupId>org.jruby</groupId>
             <artifactId>jruby-complete</artifactId>
-            <version>9.1.10.0</version>
+            <version>9.1.13.0</version>
           </dependency>
           <dependency>
             <groupId>org.asciidoctor</groupId>
             <artifactId>asciidoctorj</artifactId>
-            <version>1.5.5</version>
+            <version>1.5.6</version>
           </dependency>
           <dependency>
             <groupId>org.asciidoctor</groupId>
             <artifactId>asciidoctorj-diagram</artifactId>
-            <version>1.5.4</version>
+            <version>1.5.4.1</version>
           </dependency>
         </dependencies>
       </plugin>
diff --git a/src/site/site.xml b/src/site/site.xml
index 4ae9ff4..0838588 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -19,15 +19,20 @@
  -->
 <project name="Edgent">
 
-    <skin>
-        <groupId>lt.velykis.maven.skins</groupId>
-        <artifactId>reflow-maven-skin</artifactId>
-        <version>1.1.1</version>
-    </skin>
+  <skin>
+    <groupId>io.github.devacfr.maven.skins</groupId>
+    <artifactId>reflow-maven-skin</artifactId>
+    <version>1.5.0</version>
+  </skin>
 
-    <!--
-    Details on how to configure the reflow skin:
-    http://andriusvelykis.github.io/reflow-maven-skin/skin/
+  <!-- Hide the publish date as this will cause changes on every generated page every day -->
+  <publishDate position="none"/>
+  <!-- Hide the version as we are usually deploying the develop version -->
+  <version position="none" />
+
+  <!--
+  Details on how to configure the reflow skin:
+  http://andriusvelykis.github.io/reflow-maven-skin/skin/
 -->
     <custom>
         <reflowSkin>
