فهرست منبع

add instanciation for plugin code

Yuki Takei 9 سال پیش
والد
کامیت
c2524412ef
4فایلهای تغییر یافته به همراه19 افزوده شده و 2 حذف شده
  1. 1 0
      package.json
  2. 12 1
      plugin/plugin.js
  3. 6 0
      resource/js/util/CrowiRenderer.js
  4. 0 1
      webpack.plugin.config.js

+ 1 - 0
package.json

@@ -110,6 +110,7 @@
     "start": "node app.js",
     "test": "gulp test",
     "build": "gulp",
+    "install-plugin": "npm -prefix ./plugin install -- ",
     "webpack": "webpack",
     "webpack:plugin": "webpack --config webpack.plugin.config.js",
     "postinstall": "gulp"

+ 12 - 1
plugin/plugin.js

@@ -1 +1,12 @@
-require('path');
+export default class CrowiPlugin {
+
+  constructor() {
+  }
+
+  getAllPreProcessors() {
+    return []
+  }
+
+}
+
+window.crowiPlugin = new CrowiPlugin();     // FIXME

+ 6 - 0
resource/js/util/CrowiRenderer.js

@@ -21,6 +21,12 @@ export default class CrowiRenderer {
       new Emoji(),
     ];
 
+    var isEnablePlugin = true;  // TODO configurable
+    if (isEnablePlugin) {
+      var crowiPlugin = window.crowiPlugin;
+      this.preProcessors = this.preProcessors.concat(crowiPlugin.getAllPreProcessors());
+    }
+
     this.langProcessors = {
       'tsv': new Tsv2Table(),
       'tsv-h': new Tsv2Table({header: true}),

+ 0 - 1
webpack.plugin.config.js

@@ -21,7 +21,6 @@ var config = {
       {
         test: /.jsx?$/,
         loader: 'babel-loader',
-        exclude: /node_modules/,
         query: {
           presets: ['es2015', 'react']
         }