From 47d5efb29e086e8baef5debd1619b54c5b088005 Mon Sep 17 00:00:00 2001
From: Wu Cheng-Han <jacky_cute0808@hotmail.com>
Date: Tue, 29 Nov 2016 00:44:15 +0800
Subject: [PATCH] Fix slide resource path and style load orders to avoid
 conflicts

---
 public/js/slide.js     |  4 ++--
 public/views/slide.ejs | 13 ++++++++-----
 webpackBaseConfig.js   |  8 ++++++++
 3 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/public/js/slide.js b/public/js/slide.js
index fa4adcb5e..4962470ec 100644
--- a/public/js/slide.js
+++ b/public/js/slide.js
@@ -36,7 +36,7 @@ function extend() {
 
 // Optional libraries used to extend on reveal.js
 var deps = [{
-    src: serverurl + '/vendor/reveal.js/lib/js/classList.js',
+    src: serverurl + '/build/reveal.js/lib/js/classList.js',
     condition: function() {
         return !document.body.classList;
     }
@@ -53,7 +53,7 @@ var deps = [{
         $(".slides").show();
     }
 }, {
-    src: serverurl + '/vendor/reveal.js/plugin/notes/notes.js',
+    src: serverurl + '/build/reveal.js/plugin/notes/notes.js',
     async: true,
     condition: function() {
         return !!document.body.classList;
diff --git a/public/views/slide.ejs b/public/views/slide.ejs
index bfc5eddf5..0a2d82149 100644
--- a/public/views/slide.ejs
+++ b/public/views/slide.ejs
@@ -14,6 +14,10 @@
         <title><%= title %></title>
         <link rel="icon" type="image/png" href="<%- url %>/favicon.png">
         <link rel="apple-touch-icon" href="<%- url %>/apple-touch-icon.png">
+
+        <!-- For reveal.js -->
+        <link rel="stylesheet" href="<%- url %>/build/reveal.js/css/reveal.css">
+
         <% if(useCDN) { %>
         <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous" />
         <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css" integrity="sha256-3iu9jgsy9TpTwXKb7bNQzqWekRX7pPK+2OLj3R922fo=" crossorigin="anonymous" />
@@ -25,11 +29,10 @@
         <%- include build/slide-pack-header %>
         <% } %>
 
-        <!-- For reveal.js -->
-        <link rel="stylesheet" href="<%- url %>/vendor/reveal.js/css/reveal.css">
-        <link rel="stylesheet" href="<%- url %>/vendor/reveal.js/css/theme/black.css" id="theme">
+        <!-- For reveal.js theme -->
+        <link rel="stylesheet" href="<%- url %>/build/reveal.js/css/theme/black.css" id="theme">
         <!-- For syntax highlighting -->
-        <link rel="stylesheet" href="<%- url %>/vendor/reveal.js/lib/css/zenburn.css">
+        <link rel="stylesheet" href="<%- url %>/build/reveal.js/lib/css/zenburn.css">
         <!-- For overwrite reveal.js -->
         <link rel="stylesheet" href="<%- url %>/css/slide.css">
 
@@ -38,7 +41,7 @@
 			var link = document.createElement( 'link' );
 			link.rel = 'stylesheet';
 			link.type = 'text/css';
-            link.href = '<%- url %>/vendor/reveal.js/' + (window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css');
+            link.href = '<%- url %>/build/reveal.js/' + (window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css');
 			document.getElementsByTagName( 'head' )[0].appendChild( link );
 		</script>
 
diff --git a/webpackBaseConfig.js b/webpackBaseConfig.js
index 998191bac..fa9d03133 100644
--- a/webpackBaseConfig.js
+++ b/webpackBaseConfig.js
@@ -136,6 +136,14 @@ module.exports = {
                     dot: false
                 },
                 to: 'emojify.js/'
+            },
+            {
+                context: path.join(__dirname, 'node_modules/reveal.js'),
+                from: {
+                    glob: '**/*',
+                    dot: false
+                },
+                to: 'reveal.js/'
             }
         ])
     ],