Add support of Mermaid
What does this MR do?
This MR adds support of Mermaid - a tool for generation of diagrams and flowcharts from text.
mermaid library breaks current GitLab's layout including SVG elements.
The upstream has a bugfix for it which is not merged yet (low maintainers activity).
So until the fix is merged, I have created a forked version of
mermaid with all needed fixes (an npm package is published too).
Once the upstream is updated, we should remove the fork and use the original library.
Why was this MR needed?
It adds an ability to draw charts right inside GItLab.
Screenshots (if relevant)
- Add screenshots
- Test mermaid in wiki pages
- Test mermaid in files
- Test mermaid in snippets
- Force this upstream PR to be merged or fix the bug in GitLab.
- Add backend specs
- Add frontend specs
- Update documentation (markdown help page).
Does this MR meet the acceptance criteria?
- Changelog entry added, if necessary
- Documentation created/updated
- API support added
- Tests added for this feature/bug
- Has been reviewed by UX
- Has been reviewed by Frontend
- Has been reviewed by Backend
- Has been reviewed by Database
- Conform by the merge request performance guides
- Conform by the style guides
- Squashed related commits together
What are the relevant issue numbers?
Closes #3711 (closed)