Organize Mermaid
See original GitHub issueI think that MermaidJS is a great idea, a language to write diagrams, but this repository needs some organizing because I have seen dead documentation and inconsistent code-style in many places.
Ideas
These are some ideas that I came up with to make mermaid
a better project.
- Enforce Code styling
I have seen the code having inconsistent code style in many places
- Add a GitHub Action
- Add a
lint:fix
script (#2471) - Lint all files
- Note that for the HTML files, the HTML will have to be escaped to prevent parsing errors and messed up the formatting
- Use
eslint-plugin-markdown
(#2530) - Use
eslint-plugin-html
(#2531) - Use
prettier
on all files (not onlysrc/**/*.js
)- Many files of many types have inconsistent
prettier
code-style - Use
prettier-plugin-jsdoc
(#2471)
- Many files of many types have inconsistent
- Add a commit hook using Husky (#1878) (#2522)
- Enforce
.editorconfig
is followed using linters - Use
stylelint
- Use
eslint-plugin-jsdoc
https://npmjs.com/package/eslint-plugin-jsdoc (#2471)- When implementing this remember to turn off conflicting rules with
prettier-plugin-jsdoc
- When implementing this remember to turn off conflicting rules with
- Documentation
- Synchronize
README
anddocs/README
(see https://github.com/Yash-Singh1/eslint-plugin-userscripts/blob/main/.github/workflows/readme-in-sync.yml) - Synchronize
CHANGELOG
anddocs/CHANGELOG
- Merge flowchart docs in
diagrams-and-syntax-and-examples
and at root of docs and move all diagram documentation todiagrams-and-syntax-and-examples
- Remove
theme_themed.css
- Remove redundant example and code (see https://github.com/mermaid-js/mermaid/pull/2449#issue-770022456) (#2449)
- Group images in
landing
inside a newimg
folder - Use
markdownlint
so the documentation is more maintainable - Grammar and casing in multiple files
- Finish up
n00b-advanced.md
- Reference and update the
upgrading.md
andbreakingChanges.md
- Search for and remove dead documentation and images
- Keep syntax and docs in sync (there are many parsing features that are in the code but not in the docs, e.g. #2340, #2275)
- Maybe make it necessary to document changes to syntax
- Synchronize
- Metadata
- Update descriptions in
package.json
- Actually install defined Husky Hooks (#2522)
- Move
todo.md
somewhere else- I understand it might be useful for personal notes, but putting that in GitHub projects, or making it more formal as a
ROADMAP.md
would be better
- I understand it might be useful for personal notes, but putting that in GitHub projects, or making it more formal as a
- Mark
dist/*
aslinguist-generated
- Have more specific issue templates (#2739)
- Diagram Proposals
- Syntax Proposals
- Theme Proposals
- Don’t lock/unlock issues (#967) (#2503)
- This prevents users from being able to give their ideas against why the issues are closed because there are times when the issue is closed and then another idea is brought up.
- Add some sort of deploy bot to allow preview of documentation on PRs (maybe Netlify because that is what we use in
mermaid-live-editor
) - Standardize commit message with https://www.conventionalcommits.org/en/v1.0.0/ (#2529)
- Update descriptions in
- Bulid
- Don’t push
dist
to GitHub - Group
webpack
files
- Don’t push
- Source
- Add JSDOC to helper functions to help contributors and add IntelliSense (#2464)
- Switch from Annex B
escape
andunescape
to something else
Issue Analytics
- State:
- Created 2 years ago
- Reactions:8
- Comments:19 (3 by maintainers)
Top Results From Across the Web
Mermaid Layouts - GitLab
This page is intended to help out with some advanced layout options for Mermaid diagrams such as creating diagrams that are wider than...
Read more >theorganizedmermaid - Instagram
Natasha-Organizing Consultant/Real Mermaid/Artist/Gamer. www.TheOrganizedMermaid.com 805-491-1293 Join Poshmark w/code ORGANIZEDTASHA for a $10 credit.
Read more >The Organized Mermaid
The Organized Mermaid offers the best professional organizer & decluttering services in Camarillo CA, Ventura County & Santa Barbara County.
Read more >Mermaid Cheat Sheet @ https://jojozhuang.github.io
Cheat Sheet for Mermaid. 1. Flowcharts. A flowchart is a type of diagram that represents an algorithm, workflow or process. The flowchart shows...
Read more >Mermaid: Create diagrams quickly and effortlessly
Mermaid is a tool that lets you create complicated diagrams in Markdown — it works with simple commands and an intuitive syntax.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@financelurker thats a good idea. I think that we are reaching a point where the base package of mermaid needs to be split up. If you don’t care about gantt charts why include and load them? I have been thinking about a lazy loading. This could be another way or even better a part of that setup.
There are some refactoring activities that need to happen first though. The code that initially handled two diagrams is not as clean when handling 10+ diagrams after"organic growth". We need to define what a diagram is so that mermaid can treat them all diagrams in the same way with a basic interface. This is high up on my prioritisation list and diagram organisation is a part of that.
Well, I don’t know either. But having a look at https://github.com/mermaid-js/mermaid/issues/177 there’s a lot of demand of different and new diagram types. And cleaning up the mermaid architecture (described in my issue here: https://github.com/mermaid-js/mermaid/issues/3061 ) could make adding new diagram types more easy and streamlined (especially for people who don’t want to understand the orchestration-layer of mermaid).