ソースを参照

Add a massive hack

Kevin van Zonneveld 9 年 前
コミット
3fedf47f64

+ 3 - 2
website/package.json

@@ -9,7 +9,6 @@
     "autoprefixer": "^6.1.2",
     "autoprefixer": "^6.1.2",
     "hexo": "^3.1.1",
     "hexo": "^3.1.1",
     "hexo-browsersync": "^0.2.0",
     "hexo-browsersync": "^0.2.0",
-    "hexo-renderer-uppyexamples": "file:./private_modules/hexo-renderer-uppyexamples",
     "hexo-deployer-git": "0.0.4",
     "hexo-deployer-git": "0.0.4",
     "hexo-generator-archive": "^0.1.2",
     "hexo-generator-archive": "^0.1.2",
     "hexo-generator-category": "^0.1.2",
     "hexo-generator-category": "^0.1.2",
@@ -19,11 +18,13 @@
     "hexo-renderer-marked": "^0.2.4",
     "hexo-renderer-marked": "^0.2.4",
     "hexo-renderer-postcss": "https://github.com/arturi/hexo-renderer-postcss#afca2bc12f5816067b15a9d24017c70e077b9f0b",
     "hexo-renderer-postcss": "https://github.com/arturi/hexo-renderer-postcss#afca2bc12f5816067b15a9d24017c70e077b9f0b",
     "hexo-renderer-scss": "^1.0.1",
     "hexo-renderer-scss": "^1.0.1",
+    "hexo-renderer-uppyexamples": "file:./private_modules/hexo-renderer-uppyexamples",
     "hexo-server": "^0.1.2",
     "hexo-server": "^0.1.2",
     "hexo-tag-emojis": "^2.0.0",
     "hexo-tag-emojis": "^2.0.0",
     "hexo-util": "^0.2.1",
     "hexo-util": "^0.2.1",
     "mkdirp": "^0.5.1",
     "mkdirp": "^0.5.1",
-    "postcss-svg": "^1.0.4"
+    "postcss-svg": "^1.0.4",
+    "uuid": "^2.0.1"
   },
   },
   "devDependencies": {
   "devDependencies": {
     "node-notifier": "^4.4.0",
     "node-notifier": "^4.4.0",

+ 15 - 2
website/private_modules/hexo-renderer-uppyexamples/index.js

@@ -5,6 +5,7 @@
 var exec             = require('child_process').exec;
 var exec             = require('child_process').exec;
 var path             = require('path');
 var path             = require('path');
 var fs               = require('fs');
 var fs               = require('fs');
+var uuid             = require('uuid');
 var webRoot          = path.dirname(path.dirname(__dirname));
 var webRoot          = path.dirname(path.dirname(__dirname));
 var uppyRoot         = path.dirname(webRoot);
 var uppyRoot         = path.dirname(webRoot);
 var browserifyScript = webRoot + '/build-examples.js'
 var browserifyScript = webRoot + '/build-examples.js'
@@ -20,6 +21,7 @@ hexo.extend.renderer.register('es6', 'js', function(data, options, callback) {
   }
   }
 
 
   var slug    = data.path.replace(/[^a-zA-Z0-9\_\.]/g, '-');
   var slug    = data.path.replace(/[^a-zA-Z0-9\_\.]/g, '-');
+  var slug    = uuid.v4();
   var dstPath = '/tmp/' + slug + '.js';
   var dstPath = '/tmp/' + slug + '.js';
   var cmd     = 'node ' + browserifyScript + ' ' + data.path + ' ' + dstPath + ' --colors';
   var cmd     = 'node ' + browserifyScript + ' ' + data.path + ' ' + dstPath + ' --colors';
   // hexo.log.i('hexo-renderer-uppyexamples: change detected in examples. running: ' + cmd);
   // hexo.log.i('hexo-renderer-uppyexamples: change detected in examples. running: ' + cmd);
@@ -30,13 +32,24 @@ hexo.extend.renderer.register('es6', 'js', function(data, options, callback) {
 
 
     hexo.log.i('hexo-renderer-uppyexamples: ' + stdout.trim());
     hexo.log.i('hexo-renderer-uppyexamples: ' + stdout.trim());
 
 
-    fs.readFile(dstPath, 'utf-8', function(err, tmpJs) {
+    fs.readFile(dstPath, 'utf-8', function(err, bundledJS) {
       if (err) {
       if (err) {
         return callback(err);
         return callback(err);
       }
       }
       hexo.log.i('hexo-renderer-uppyexamples: read: ' + dstPath);
       hexo.log.i('hexo-renderer-uppyexamples: read: ' + dstPath);
 
 
-      callback(null, tmpJs);
+      callback(null, bundledJS);
+
+      // @TODO REMOVE THIS MASSIVE HACK!
+      // Once this is resolved: https://github.com/hexojs/hexo/issues/1663
+      var finalDest = data.path.replace('/src/', '/public/')
+      finalDest = finalDest.replace('.es6', '.js');
+
+      setTimeout(function(){
+        hexo.log.i('hexo-renderer-uppyexamples: applying hack for: ' + finalDest);
+        fs.writeFileSync(finalDest, bundledJS);
+      }, 1000)
+
     });
     });
   });
   });
 });
 });