|
|
@@ -1,10 +1,39 @@
|
|
|
+const plugins = [
|
|
|
+ // require('crowi-plugin-...')
|
|
|
+]
|
|
|
+
|
|
|
+// import all plugins
|
|
|
+var pluginMetaDatas = [];
|
|
|
+plugins.forEach((plugin) => {
|
|
|
+ pluginMetaDatas.push(plugin.meta);
|
|
|
+})
|
|
|
+
|
|
|
export default class CrowiPlugin {
|
|
|
|
|
|
- constructor() {
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * plug-in PreProcessors
|
|
|
+ *
|
|
|
+ * @param {Crowi} crowi
|
|
|
+ * @param {CrowiRenderer} crowiRenderer
|
|
|
+ *
|
|
|
+ * @memberof CrowiPlugin
|
|
|
+ */
|
|
|
+ pluginPreProcessors(crowi, crowiRenderer) {
|
|
|
+ var additionalPreProcessors = [];
|
|
|
+
|
|
|
+ pluginMetaDatas.forEach((meta) => {
|
|
|
+ // v1
|
|
|
+ if (meta.pluginSchemaVersion === 1) {
|
|
|
+ meta.preProcessorFactories.forEach((f) => {
|
|
|
+ // instanciate PreProcessor
|
|
|
+ var preProcessor = f(crowi);
|
|
|
+ additionalPreProcessors.push(preProcessor);
|
|
|
+ })
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
- getAllPreProcessors() {
|
|
|
- return []
|
|
|
+ crowiRenderer.preProcessors = crowiRenderer.preProcessors.concat(
|
|
|
+ crowiRenderer.preProcessors, additionalPreProcessors);
|
|
|
}
|
|
|
|
|
|
}
|