plugin.js 987 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. const plugins = {
  2. // 'crowi-plugin-X': {
  3. // meta: require('crowi-plugin-X'),
  4. // entries: [
  5. // require('crowi-plugin-X/lib/client-entry')
  6. // ]
  7. // }
  8. 'crowi-plugin-lsx': {
  9. meta: require('crowi-plugin-lsx'),
  10. entries: [
  11. require('crowi-plugin-lsx/lib/client-entry')
  12. ]
  13. }
  14. }
  15. export default class CrowiPlugin {
  16. /**
  17. * process plugin entry
  18. *
  19. * @param {Crowi} crowi
  20. * @param {CrowiRenderer} crowiRenderer
  21. *
  22. * @memberof CrowiPlugin
  23. */
  24. installAll(crowi, crowiRenderer) {
  25. for (let pluginName of Object.keys(plugins)) {
  26. let meta = plugins[pluginName].meta;
  27. let entries = plugins[pluginName].entries;
  28. // v1 is deprecated
  29. // v2
  30. console.log(meta);
  31. if (2 === meta.pluginSchemaVersion) {
  32. entries.forEach((entry) => {
  33. entry(crowi, crowiRenderer);
  34. });
  35. }
  36. }
  37. }
  38. }
  39. window.crowiPlugin = new CrowiPlugin(); // FIXME