Plugin architecture
Break up innoDoc features into core and plugins.
By using a plugin architecture we could move certain functionality into external plugins, which would also reduce code complexity of the innoDoc core. On the other hand users can choose what they need, reducing the overall footprint by excluding certain functionality.
Tasks
-
Publish plugins as NPM modules? -
How to specify and fetch plugins at build time? -
How to extend a Next.js application dynamically? - Entry points, hooks, callbacks
- Additional page routes
- Additional components
Candidates
- User authentication
- Shibboleth/SAML SSO, OAuth, E-Mail registration
- MathJax rendering
- Theme component library (Antd/MUI/...)
- AST content renderers
- Provide basic set of elements (heading, link, ...) in core
- Exercises
- LaTeX formular rendering
- YouTube video embedding
- etc.