plugin.js 817 B

1234567891011121314151617181920212223242526272829303132333435363738
  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. }
  9. export default class CrowiPlugin {
  10. /**
  11. * process plugin entry
  12. *
  13. * @param {Crowi} crowi
  14. * @param {CrowiRenderer} crowiRenderer
  15. *
  16. * @memberof CrowiPlugin
  17. */
  18. installAll(crowi, crowiRenderer) {
  19. for (let pluginName of Object.keys(plugins)) {
  20. let meta = plugins[pluginName].meta;
  21. let entries = plugins[pluginName].entries;
  22. // v1 is deprecated
  23. // v2
  24. if (2 === meta.pluginSchemaVersion) {
  25. entries.forEach((entry) => {
  26. entry(crowi, crowiRenderer);
  27. });
  28. }
  29. }
  30. }
  31. }
  32. window.crowiPlugin = new CrowiPlugin(); // FIXME