Compare commits

...

584 Commits

Author SHA1 Message Date
Sidharth Vinod
95274278f3 Merge pull request #5762 from mermaid-js/changeset-release/master
Version Packages
2024-08-24 12:48:56 +05:30
github-actions[bot]
1532721f09 Version Packages 2024-08-24 07:17:31 +00:00
Sidharth Vinod
5db856cfb0 Merge pull request #5761 from mermaid-js/sidv/fixElkTypes
fix: Type file path for layout-elk
2024-08-24 12:41:56 +05:30
Sidharth Vinod
b34dfe8f45 fix: Type file path for layout-elk 2024-08-24 12:41:18 +05:30
Sidharth Vinod
158f9925ce Merge pull request #5760 from mermaid-js/changeset-release/master
Version Packages
2024-08-24 12:33:37 +05:30
github-actions[bot]
dab8f08a9e Version Packages 2024-08-24 07:03:01 +00:00
Sidharth Vinod
313fefe704 Merge pull request #5759 from mermaid-js/develop
Release v11.0.1
2024-08-24 12:31:04 +05:30
Sidharth Vinod
17c0af1cf6 chore: Update flowchart widths 2024-08-24 12:18:19 +05:30
Sidharth Vinod
1bb09cc9a8 Merge branch 'master' into develop
* master:
  Correct casing for hand drawn
  Updates to information about the new syntax
  Updating syntax reference with code showing how to select layout and look.
  [autofix.ci] apply automated fixes
  Version Packages (#5749)
  Bump mermaid minor
  Revert mermaid version
  add latest blog posts
  Version Packages (#5748)
  Test changeset (#5746)
  Version Packages
  Release parser, v0.1.0, test changeset
2024-08-24 11:55:07 +05:30
Sidharth Vinod
1e35341136 Merge pull request #5758 from mermaid-js/sidv/fixTypes
fix: layout-elk types
2024-08-24 11:53:47 +05:30
Sidharth Vinod
501a55d8f2 chore: Add changeset 2024-08-24 11:51:33 +05:30
Sidharth Vinod
ca57235e05 fix: Type export for layout-elk 2024-08-24 11:51:00 +05:30
Knut Sveidqvist
a4e1479759 Correct casing for hand drawn 2024-08-23 17:49:52 +02:00
Knut Sveidqvist
e499f700ce Updates to information about the new syntax 2024-08-23 17:41:24 +02:00
Knut Sveidqvist
d559fcc90b Updating syntax reference with code showing how to select layout and look. 2024-08-23 17:35:44 +02:00
Sidharth Vinod
35b98f2b89 Merge pull request #5750 from mermaid-js/add-blog-posts
DOCS: add latest blog posts
2024-08-23 20:40:16 +05:30
autofix-ci[bot]
e391966de8 [autofix.ci] apply automated fixes 2024-08-23 15:08:07 +00:00
github-actions[bot]
4d10e3f258 Version Packages (#5749)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-23 20:33:20 +05:30
Sidharth Vinod
bf05d8781e Bump mermaid minor 2024-08-23 20:30:02 +05:30
Sidharth Vinod
2efe741924 Revert mermaid version 2024-08-23 20:29:33 +05:30
Steph
f04fa4d565 add latest blog posts 2024-08-23 07:58:53 -07:00
github-actions[bot]
5bbf3678c5 Version Packages (#5748)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-23 20:22:20 +05:30
Sidharth Vinod
83926c9707 Test changeset (#5746) 2024-08-23 20:18:23 +05:30
Sidharth Vinod
49cb8d8388 Merge pull request #5745 from mermaid-js/changeset-release/master
Version Packages
2024-08-23 19:29:09 +05:30
github-actions[bot]
eb3ed2a5e4 Version Packages 2024-08-23 13:56:03 +00:00
Sidharth Vinod
28f9181dd4 Merge pull request #5744 from mermaid-js/sidv/release-Parser
Release parser, v0.1.0, test changeset
2024-08-23 19:23:19 +05:30
Sidharth Vinod
5013484924 Release parser, v0.1.0, test changeset 2024-08-23 19:21:40 +05:30
Sidharth Vinod
a10f46932f Merge pull request #5664 from Austin-Fulbright/feature/4401_creating_langium_parser_gitGraph
Feature/4401 creating langium parser git graph
2024-08-23 19:11:51 +05:30
Sidharth Vinod
5deaef456e chore: add changeset 2024-08-23 19:11:04 +05:30
Sidharth Vinod
a87f77339e Merge branch 'develop' into pr/Austin-Fulbright/5664
* develop: (34 commits)
  Mermaid version v11.0.0
  Run release drafter in release branch
  [autofix.ci] apply automated fixes
  Updating syntax reference with code showing how to select layout and look.
  Fix for selecting the correct diagramPadding for flowcharts
  Fix for turned arrow heads and missing edge sections
  Basic fix for handdrawn subgraph styling
  Fix for text alignment issue
  #5237 Fix for weird line intersection
  Fix config
  docs: Update release version
  docs: Update release version
  chore: Revert version changes
  chore: Revert version changes
  Remove release drafter
  Add changeset to PR template
  Remove changesets
  Update changelog format
  verify Docs version before publish
  chore: Remove prePublishOnly
  ...
2024-08-23 19:08:46 +05:30
Knut Sveidqvist
078038b080 Merge branch 'master' into develop 2024-08-23 15:33:01 +02:00
Sidharth Vinod
ea9a06160c Merge pull request #5733 from mermaid-js/sidv/changesets
Add changesets
2024-08-23 18:29:26 +05:30
Sidharth Vinod
6c89763ef9 Merge branch 'develop' into feature/4401_creating_langium_parser_gitGraph 2024-08-23 17:40:08 +05:30
Knut Sveidqvist
2cfdd1620a Mermaid version v11.0.0 2024-08-23 14:07:47 +02:00
Knut Sveidqvist
b9f4faa916 Merge branch 'release/11.0.0' 2024-08-23 14:05:39 +02:00
Sidharth Vinod
21c636c4c6 Run release drafter in release branch 2024-08-23 16:23:45 +05:30
autofix-ci[bot]
dd57030732 [autofix.ci] apply automated fixes 2024-08-23 10:13:11 +00:00
Knut Sveidqvist
efba4c18d1 Updating syntax reference with code showing how to select layout and look. 2024-08-23 12:08:09 +02:00
Knut Sveidqvist
48fd76e076 Fix for selecting the correct diagramPadding for flowcharts 2024-08-23 10:35:14 +02:00
Knut Sveidqvist
fdf376f9c8 Merge branch 'release/11.0.0' of github.com:mermaid-js/mermaid into release/11.0.0 2024-08-23 09:42:27 +02:00
Knut Sveidqvist
46b7ee87dd Fix for turned arrow heads and missing edge sections 2024-08-23 09:42:02 +02:00
Sidharth Vinod
14a94c0c51 Merge branch 'develop' into release/11.0.0
* develop:
  Update ComboStrap link
2024-08-23 12:08:56 +05:30
Sidharth Vinod
24490f7789 Update ComboStrap link 2024-08-23 12:07:41 +05:30
Knut Sveidqvist
09afb077f0 Basic fix for handdrawn subgraph styling 2024-08-23 08:24:36 +02:00
Ashish Jain
99ee235e75 Fix for text alignment issue 2024-08-22 17:52:48 +02:00
Sidharth Vinod
029a444d32 Merge branch 'develop' into release/11.0.0
* develop:
  chore: Update lockfile
  chore: Fix peer dependencies
2024-08-22 20:17:01 +05:30
Sidharth Vinod
8c4c92a861 Merge pull request #5737 from mermaid-js/sidv/fixPeerDependency
chore: Fix peer dependencies
2024-08-22 20:16:04 +05:30
Knut Sveidqvist
19d46fc823 #5237 Fix for weird line intersection 2024-08-22 16:29:23 +02:00
Sidharth Vinod
ae2dc70385 chore: Update lockfile 2024-08-22 19:45:49 +05:30
Sidharth Vinod
0ad44c12fe chore: Fix peer dependencies 2024-08-22 19:41:19 +05:30
Sidharth Vinod
ad12fa7fff Fix config 2024-08-22 19:35:10 +05:30
Sidharth Vinod
53bff117aa Merge branch 'develop' into release/11.0.0
* develop:
  update link to mermaid chart playground
  fix promo bar links
  Fix text color
  Add animated transitions
  feat: Update promo bar links
  update badge on mermaid chart page
  remove product hunt badge
  chore: Revert pnpm changes
  add most recent blog posts
  update product hunt badges
  chore: Update docs
  Add Slidev to the list of integrations
  add announcement bar to docs and minor styling update
  update product hunt badge on mermaid chart page
  add product hunt badge to homepage
  fix linting issue
  add blog post confluence plugin
2024-08-22 16:58:55 +05:30
Sidharth Vinod
2fe5e678bf Merge branch 'master' into develop
* master:
  update link to mermaid chart playground
  fix promo bar links
  Fix text color
  Add animated transitions
  feat: Update promo bar links
  update badge on mermaid chart page
  remove product hunt badge
  chore: Revert pnpm changes
  add most recent blog posts
  update product hunt badges
  chore: Update docs
  Add Slidev to the list of integrations
  add announcement bar to docs and minor styling update
  update product hunt badge on mermaid chart page
  add product hunt badge to homepage
  fix linting issue
  add blog post confluence plugin
2024-08-22 16:58:19 +05:30
Sidharth Vinod
4665b6bf15 docs: Update release version 2024-08-22 16:54:40 +05:30
Sidharth Vinod
a9d317f997 docs: Update release version 2024-08-22 16:52:02 +05:30
Sidharth Vinod
9c032648c1 Merge branch 'develop' into sidv/changesets 2024-08-22 16:48:58 +05:30
Sidharth Vinod
0e68788de4 Merge branch 'release/11.0.0' of https://github.com/mermaid-js/mermaid into release/11.0.0
* 'release/11.0.0' of https://github.com/mermaid-js/mermaid:
  #5237 Proper setting of the handdrawn seed in the visual tests
2024-08-22 16:48:03 +05:30
Knut Sveidqvist
44037c0c9d Merge branch 'release/11.0.0' of github.com:mermaid-js/mermaid into release/11.0.0 2024-08-22 13:13:33 +02:00
Knut Sveidqvist
95e47d283e #5237 Proper setting of the handdrawn seed in the visual tests 2024-08-22 13:13:09 +02:00
Sidharth Vinod
9dcda25355 Merge branch 'develop' into sidv/changesets
* develop:
  Fix docs
2024-08-22 16:20:03 +05:30
Sidharth Vinod
225115ad07 Fix docs 2024-08-22 16:19:49 +05:30
Sidharth Vinod
0c316d9dc2 chore: Revert version changes 2024-08-22 16:18:59 +05:30
Sidharth Vinod
5ed5274256 chore: Revert version changes 2024-08-22 16:18:39 +05:30
Sidharth Vinod
283ec73ed9 Remove release drafter 2024-08-22 16:17:17 +05:30
Sidharth Vinod
eac8459041 Add changeset to PR template 2024-08-22 16:17:07 +05:30
Sidharth Vinod
598de7019a Remove changesets 2024-08-22 16:11:31 +05:30
Sidharth Vinod
cc545f4433 Update changelog format 2024-08-22 15:57:56 +05:30
Sidharth Vinod
61632f2d7f verify Docs version before publish 2024-08-22 15:47:00 +05:30
Sidharth Vinod
3d9a24dd28 chore: Remove prePublishOnly 2024-08-22 15:46:04 +05:30
Sidharth Vinod
c4b92069ba chore: Copy readme before publish 2024-08-22 15:45:20 +05:30
Sidharth Vinod
c892a89536 Mark @mermaid-js/mermaid-example-diagram as private 2024-08-22 15:37:20 +05:30
Sidharth Vinod
89c782c094 Merge branch 'sidv/changesets' of https://github.com/mermaid-js/mermaid into sidv/changesets
* 'sidv/changesets' of https://github.com/mermaid-js/mermaid:
  [autofix.ci] apply automated fixes
2024-08-22 15:29:24 +05:30
Sidharth Vinod
7debe2fc59 Split changesets 2024-08-22 15:27:30 +05:30
autofix-ci[bot]
fc44d1fcdd [autofix.ci] apply automated fixes 2024-08-22 09:56:56 +00:00
Sidharth Vinod
6e7a24e200 Update version and publish scripts 2024-08-22 15:21:48 +05:30
Sidharth Vinod
8815e447ad Merge branch 'develop' into sidv/changesets
* develop:
  Revert pnpm-lock changes
  chore: Fix build issue
  Removing the redundant element in the render function
2024-08-22 15:10:04 +05:30
Sidharth Vinod
c3ca401888 Merge branch 'sidv/changesets' of https://github.com/mermaid-js/mermaid into sidv/changesets
* 'sidv/changesets' of https://github.com/mermaid-js/mermaid:
  [autofix.ci] apply automated fixes
2024-08-22 15:09:41 +05:30
Sidharth Vinod
4da479388d Revert pnpm-lock changes 2024-08-22 15:05:18 +05:30
Sidharth Vinod
0a0546e241 chore: Fix build issue 2024-08-22 15:00:53 +05:30
Sidharth Vinod
c61159b63f Update release command 2024-08-22 14:37:17 +05:30
autofix-ci[bot]
7a1c25bb3b [autofix.ci] apply automated fixes 2024-08-22 08:57:34 +00:00
Sidharth Vinod
d0ea3dd82b chore: Update release command 2024-08-22 14:27:34 +05:30
Sidharth Vinod
36444ab242 Update access 2024-08-22 14:22:33 +05:30
Sidharth Vinod
0cf639cb1b Merge branch 'develop' into sidv/changesets
* develop:
  [autofix.ci] apply automated fixes
  fix: Type of render
  chore: Rename Group to SVGGroup
  [autofix.ci] apply automated fixes
  feat: Inject internal helpers into render function
  chore: Move render function to bottom
  chore: ts-ignore errors
  [autofix.ci] apply automated fixes
  chore: Cleanup layoutelk
2024-08-22 14:21:33 +05:30
Sidharth Vinod
90364a020b docs: Add changeset 2024-08-22 14:19:44 +05:30
Sidharth Vinod
6e4b349c3a chore: Ignore packages in changeset 2024-08-22 14:11:54 +05:30
Sidharth Vinod
03d6531a7d chore: Revert package versions to match master 2024-08-22 14:10:25 +05:30
Sidharth Vinod
dd5866a4cb chore: Add changeset workflow 2024-08-22 14:10:08 +05:30
Knut Sveidqvist
47ac57be69 Removing the redundant element in the render function 2024-08-22 10:11:13 +02:00
Austin-Fulbright
52f5d95c81 Merge branch 'develop' into feature/4401_creating_langium_parser_gitGraph 2024-08-21 12:33:18 -04:00
Knut Sveidqvist
f1c066b68e Merge branch 'develop' into release/11.0.0 2024-08-21 16:26:14 +02:00
Sidharth Vinod
3eaf8b7177 feat: Add changesets 2024-08-21 19:54:59 +05:30
Knut Sveidqvist
0b9554c675 Merge pull request #5730 from mermaid-js/sidv/cleanupLayoutElk
chore: Cleanup layoutelk
2024-08-21 16:24:31 +02:00
Knut Sveidqvist
9134e1c837 #5237 Clean and fix for issue with edges to the diamond shape 2024-08-21 16:11:59 +02:00
Knut Sveidqvist
10c25348f3 #5237 Removing unused code 2024-08-21 14:42:44 +02:00
autofix-ci[bot]
8ffd198d8b [autofix.ci] apply automated fixes 2024-08-21 12:16:35 +00:00
Sidharth Vinod
7c81096bbc Merge branch 'sidv/cleanupLayoutElk' of https://github.com/mermaid-js/mermaid into sidv/cleanupLayoutElk
* 'sidv/cleanupLayoutElk' of https://github.com/mermaid-js/mermaid:
  [autofix.ci] apply automated fixes
2024-08-21 17:41:26 +05:30
Sidharth Vinod
3593fa63db fix: Type of render
Make optional parameter an object
2024-08-21 17:41:11 +05:30
Sidharth Vinod
037ba2fa9c chore: Rename Group to SVGGroup 2024-08-21 17:39:01 +05:30
autofix-ci[bot]
4d7b1e8eaf [autofix.ci] apply automated fixes 2024-08-21 11:57:36 +00:00
Sidharth Vinod
f6e1515f66 feat: Inject internal helpers into render function 2024-08-21 17:22:21 +05:30
Sidharth Vinod
c5be9fd882 chore: Move render function to bottom 2024-08-21 17:12:59 +05:30
Sidharth Vinod
01b5935a4e chore: ts-ignore errors 2024-08-21 17:12:03 +05:30
Sidharth Vinod
c1cd39bd65 Merge branch 'develop' into sidv/cleanupLayoutElk
* develop:
2024-08-21 17:10:51 +05:30
Sidharth Vinod
b2db7eb6bf Merge branch 'elk-migration' into sidv/cleanupLayoutElk
* elk-migration:
  chore: Use spaces
  docs: Add Readme
  chore: Use default export
  [autofix.ci] apply automated fixes
2024-08-21 17:10:17 +05:30
Knut Sveidqvist
f4097dfd82 Merge pull request #5729 from mermaid-js/elk-migration
Support flowchart-elk to use layout: elk
2024-08-21 13:10:26 +02:00
Sidharth Vinod
797877bcbf chore: Use spaces 2024-08-21 16:23:56 +05:30
Sidharth Vinod
db8a0028a6 docs: Add Readme 2024-08-21 16:22:10 +05:30
Sidharth Vinod
50a535125e chore: Use default export 2024-08-21 15:29:08 +05:30
autofix-ci[bot]
ed07a9e896 [autofix.ci] apply automated fixes 2024-08-21 09:12:02 +00:00
autofix-ci[bot]
43ffb00996 [autofix.ci] apply automated fixes 2024-08-21 09:10:09 +00:00
Sidharth Vinod
04e205bcb4 Merge branch 'elk-migration' into sidv/cleanupLayoutElk
* elk-migration:
  chore: Update pnpm and lockfile
2024-08-21 14:36:15 +05:30
Sidharth Vinod
58aa4c467f Merge branch 'develop' into elk-migration
* develop:
  chore: Update pnpm and lockfile
2024-08-21 14:34:55 +05:30
Sidharth Vinod
0cc7eb7638 Merge pull request #5728 from mermaid-js/sidv/updatePNPM
chore: Update pnpm and lockfile
2024-08-21 14:34:32 +05:30
Sidharth Vinod
4e126e174b chore: Cleanup layoutelk 2024-08-21 14:17:06 +05:30
Sidharth Vinod
44875691db chore: Remove mermaid-flowchart-elk 2024-08-21 13:37:58 +05:30
Sidharth Vinod
c140e1a658 chore: Update pnpm and lockfile 2024-08-21 13:33:32 +05:30
Sidharth Vinod
77118ad40c feat: Use dagre as fallback if elk layout is not present
Warn users that we are using the fallback
2024-08-21 13:30:02 +05:30
Sidharth Vinod
bc3fe33428 feat: Set config.layout=elk when using flowchart-elk 2024-08-21 13:29:09 +05:30
Sidharth Vinod
754fa24104 chore: Remove redundant flowDiagram-v2 2024-08-21 13:28:11 +05:30
Sidharth Vinod
69b3a9d3a2 feat: Support fallback layouts in renderer 2024-08-21 13:27:23 +05:30
Austin Fulbright
24ba5b73da added gitgraph in imperative state 2024-08-20 14:53:01 -04:00
Austin-Fulbright
8ef30a2642 Merge branch 'develop' into feature/4401_creating_langium_parser_gitGraph 2024-08-20 14:34:50 -04:00
Sidharth Vinod
8fdeb6d9d3 Merge branch 'develop' of https://github.com/mermaid-js/mermaid into develop
* 'develop' of https://github.com/mermaid-js/mermaid:
  #5726 Refactor paragraph margin in mermaid styles
  #5726 Setting the default margin
  [autofix.ci] apply automated fixes
  fix: Create a copy of config passed in initialize, so that theme variables are not leaked to the object
  refactor!(sankey): default to `useMaxWidth` true
  refactor!(git): default to `useMaxWidth` true
  [autofix.ci] apply automated fixes
  [autofix.ci] apply automated fixes
  chore: Simplify dataFetcher helper functions
  chore: Simplify dataFetcher helper functions
2024-08-20 20:45:04 +05:30
Sidharth Vinod
21efbbdbe8 chore: Skip running autofix.ci on renovate branches 2024-08-20 20:45:00 +05:30
Sidharth Vinod
1956d3d63c Merge pull request #5670 from mermaid-js/sidv/5237_review
5237 Review Updates
2024-08-20 18:15:37 +05:30
Knut Sveidqvist
25efa4e63f Merge pull request #5727 from mermaid-js/5726_doctype
Aligning doctype so that mermaid renders in the same way with or without it
2024-08-20 14:45:14 +02:00
Knut Sveidqvist
6df6f5ab2c Merge pull request #5725 from mermaid-js/sidv/copyInitOptions
fix: Create a copy of config passed in initialize, so that theme variables are not leaked to the object
2024-08-20 14:45:00 +02:00
Knut Sveidqvist
c5dfa4213d Merge pull request #5724 from aloisklink/fix/default-sankey-useMaxWidth-to-true
refactor!(sankey): default to `useMaxWidth` true
2024-08-20 14:44:38 +02:00
Knut Sveidqvist
a48d970410 Merge pull request #5723 from aloisklink/fix/default-gitGraph-useMaxWidth-to-true
refactor!(git): default to `useMaxWidth` true
2024-08-20 14:44:19 +02:00
Knut Sveidqvist
1168db6830 #5726 Refactor paragraph margin in mermaid styles 2024-08-20 14:28:17 +02:00
Knut Sveidqvist
f76cab1ba3 #5726 Setting the default margin 2024-08-20 14:13:46 +02:00
autofix-ci[bot]
78fbf36c6e [autofix.ci] apply automated fixes 2024-08-20 11:32:49 +00:00
Sidharth Vinod
3ee19337ca fix: Create a copy of config passed in initialize, so that theme variables are not leaked to the object 2024-08-20 16:57:11 +05:30
Austin Fulbright
3ac242978d fixed merge 2024-08-20 07:04:05 -04:00
Austin Fulbright
94ee076aad fixed config for user configs 2024-08-20 06:46:33 -04:00
Austin Fulbright
7a7b41557d implemented transfer objects from parser to db 2024-08-20 06:37:49 -04:00
Austin Fulbright
d9d9cc9ddc added objects to be transfered from parser to db 2024-08-20 06:06:19 -04:00
Austin-Fulbright
4ec0dcfe1f Merge branch 'develop' into feature/4401_creating_langium_parser_gitGraph 2024-08-20 06:03:37 -04:00
Alois Klink
d82958d73d refactor!(sankey): default to useMaxWidth true
All other diagrams default to `useMaxWidth` `true`.

BREAKING CHANGE: Change the default value of `useMaxWidth` for sankey
                 diagrams to `true`.
2024-08-20 18:53:40 +09:00
Alois Klink
6b5286eff8 refactor!(git): default to useMaxWidth true
All other diagrams (with the exception of Sankey) default to `true`.

BREAKING CHANGE: Change the default value of `useMaxWidth` for gitgraphs
                 to `true`.
2024-08-20 18:53:22 +09:00
Sidharth Vinod
04c29e2a96 Merge pull request #5335 from FutzMonitor/4175Issue-allowSemicolons
Allow Semicolons in Timeline Titles, Sections, Periods, and Events
2024-08-20 09:07:17 +00:00
Sidharth Vinod
4e7d65062a Revert #5305
As it doesn't fix the issue in all cases.
2024-08-20 14:29:42 +05:30
Sidharth Vinod
d5432ce811 Merge pull request #5305 from Mikek16/fix/RequirementDiagramOverflow
Fix Requirement overflow
2024-08-20 14:26:50 +05:30
Sidharth Vinod
262bf4e2b0 chore: Simplify unit test 2024-08-20 14:25:52 +05:30
Sidharth Vinod
f63eb45e7d Merge branch 'develop' into pr/FutzMonitor/5335
* develop: (485 commits)
  [autofix.ci] apply automated fixes
  add MonsterWriter to list of community integrations
  fix: Making insertCluster async
  Ignore codeql warning
  Removed the un-necessary test
  Fixed broken test
  [autofix.ci] apply automated fixes
  Fixed lint issue
  #5237 Fix for text alignment for handdrawn text using svg labels
  #5237 Fix for subroutine positioning
  Updated handDrawn cypress test
  adding handDrawn cypress test
  #5237 Async fix for clusters
  sequence diagram NaN values issue
  review comment fixes
  #5237 Replace generic object with Map
  #5237 Removing old flowchart renderer
  #5237 Fixes from comments
  Adding elk test
  chore(deps): update eslint
  ...
2024-08-20 14:17:55 +05:30
Sidharth Vinod
22168ed760 Merge branch 'develop' into fix/RequirementDiagramOverflow 2024-08-20 13:26:24 +05:30
Sidharth Vinod
210f8c2306 Merge pull request #5399 from FutzMonitor/5356Issue
Allow Hashtags in Timeline Titles, Sections, and Events
2024-08-20 07:53:15 +00:00
Sidharth Vinod
6205ddd430 Merge pull request #5719 from wolfoo2931/develop
add MonsterWriter to list of community integrations
2024-08-20 07:24:44 +00:00
autofix-ci[bot]
4e40f29f33 [autofix.ci] apply automated fixes 2024-08-20 07:12:51 +00:00
Sidharth Vinod
0faeeb6411 Merge branch 'develop' into sidv/5237_review 2024-08-20 12:37:36 +05:30
Austin Fulbright
b93691be0e fixed small error 2024-08-20 01:00:13 -04:00
Austin Fulbright
66e53df04b added most suggested changes 2024-08-20 00:30:01 -04:00
autofix-ci[bot]
bd0237369b [autofix.ci] apply automated fixes 2024-08-17 14:56:05 +00:00
Oliver Wolf
79d50ebc76 add MonsterWriter to list of community integrations 2024-08-17 16:45:52 +02:00
Austin Fulbright
53798beb96 fixed gitgraphconfig problem 2024-08-15 16:10:20 -04:00
Austin Fulbright
299e559aa5 added config as global 2024-08-14 10:51:45 -04:00
autofix-ci[bot]
3539a35578 [autofix.ci] apply automated fixes 2024-08-13 21:56:26 +00:00
Austin-Fulbright
d50150cbfa Merge branch 'mermaid-js:develop' into feature/4401_creating_langium_parser_gitGraph 2024-08-13 17:51:21 -04:00
Knut Sveidqvist
c5eb07c83f fix: Making insertCluster async 2024-08-13 13:47:15 +02:00
Austin-Fulbright
73aae9e86e Merge branch 'develop' into feature/4401_creating_langium_parser_gitGraph 2024-08-12 09:13:42 -04:00
Ashish Jain
87b2084d97 Merge pull request #5604 from mermaid-js/5237-unified-layout-common-renderer
Streamlining and enhancing diagram rendering across various diagram types
2024-08-12 12:30:52 +00:00
Ashish Jain
9b42ffd070 Ignore codeql warning 2024-08-12 14:08:30 +02:00
Ashish Jain
d2bbe83e08 Removed the un-necessary test 2024-08-12 13:59:34 +02:00
Ashish Jain
61cfb156cc Fixed broken test 2024-08-12 13:51:10 +02:00
autofix-ci[bot]
d24239530c [autofix.ci] apply automated fixes 2024-08-12 09:25:34 +00:00
Ashish Jain
2352137f6b Fixed lint issue 2024-08-12 11:19:53 +02:00
Ashish Jain
3b2bb5a6ec Merge from develop 2024-08-12 11:11:14 +02:00
Knut Sveidqvist
7f9d4cd079 #5237 Fix for text alignment for handdrawn text using svg labels 2024-08-12 09:35:01 +02:00
Austin Fulbright
d73a090875 fixed BT with parallel commits and added more unit tests 2024-08-10 23:33:23 -04:00
Austin Fulbright
aba306b685 fixed highlight color 2024-08-10 12:32:25 -04:00
Austin Fulbright
c49a1bf60c fixed custom type REVERSE for merge, fixed branch spacing for TB 2024-08-10 12:28:24 -04:00
Austin Fulbright
d684e0d924 added more unit tests to gitGraphParser.ts and gitGraphRenderer.ts 2024-08-10 11:22:22 -04:00
Austin Fulbright
269284c6d7 added parser unit tests and organized config in gitGraphAst.ts 2024-08-10 10:37:24 -04:00
Austin Fulbright
62950c31a4 finished gitGraphRenderer.ts 2024-08-10 07:46:10 -04:00
Austin-Fulbright
e0d0cdcf1f Merge branch 'mermaid-js:develop' into feature/4401_creating_langium_parser_gitGraph 2024-08-10 06:15:10 -04:00
Austin Fulbright
a93b8324ad made draw commit more readable, included more helper functions and interfaces, added in-source test suite to renderer 2024-08-10 06:08:57 -04:00
Ashish Jain
39fdaef0a4 merge commit 2024-08-09 16:53:35 +02:00
Knut Sveidqvist
db725c1de5 #5237 Fix for subroutine positioning 2024-08-09 16:40:28 +02:00
Ashish Jain
734f1add8e Updated handDrawn cypress test 2024-08-09 16:37:57 +02:00
Ashish Jain
9b9f4ea704 adding handDrawn cypress test 2024-08-09 15:43:08 +02:00
Knut Sveidqvist
02eb8dacb6 Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-08-09 15:16:29 +02:00
Knut Sveidqvist
afb69a3bb0 #5237 Async fix for clusters 2024-08-09 15:14:48 +02:00
Ashish Jain
095e8ca9e7 sequence diagram NaN values issue 2024-08-09 15:10:43 +02:00
Ashish Jain
95fb824cc7 merge commit 2024-08-09 15:07:44 +02:00
Ashish Jain
d4d7ca7d65 review comment fixes 2024-08-09 15:07:09 +02:00
Knut Sveidqvist
537512fb27 #5237 Replace generic object with Map 2024-08-09 14:54:01 +02:00
Knut Sveidqvist
ba0d21682a #5237 Removing old flowchart renderer 2024-08-09 14:47:51 +02:00
Knut Sveidqvist
729080f4b1 #5237 Fixes from comments 2024-08-09 14:04:53 +02:00
Knut Sveidqvist
c2a479ab44 Adding elk test 2024-08-09 08:45:47 +02:00
Sidharth Vinod
59aaa310dd Merge pull request #5704 from mermaid-js/fix-promo-bar-links
DOCS: fix promo bar links
2024-08-09 10:22:02 +05:30
steph
f4ce428d66 update link to mermaid chart playground 2024-08-08 21:49:01 -07:00
steph
5aecd127bd fix promo bar links 2024-08-08 21:42:00 -07:00
Austin Fulbright
2218929416 fixed types in gitGraphTypes 2024-08-08 19:49:09 -04:00
Austin Fulbright
00603e7bac fix ts-ignore errors refactored large functions to use helpers 2024-08-08 18:47:34 -04:00
Sidharth Vinod
47601ac311 Merge pull request #5689 from mermaid-js/renovate/eslint
chore(deps): update eslint (minor)
2024-08-07 07:44:07 +00:00
Sidharth Vinod
1990786c2c Merge pull request #5697 from mermaid-js/sidv/updatePromo
Update Promo Links
2024-08-07 13:13:58 +05:30
Sidharth Vinod
980c97a44c Fix text color 2024-08-07 12:24:03 +05:30
Sidharth Vinod
42177a3098 Add animated transitions 2024-08-07 12:10:35 +05:30
Sidharth Vinod
657e38f6e0 feat: Update promo bar links 2024-08-07 11:35:12 +05:30
Austin Fulbright
8fe0ed1d03 added parser test and combined the two gitGraph tests 2024-08-06 19:26:13 -04:00
renovate[bot]
6cd0585339 chore(deps): update eslint 2024-08-06 16:42:55 +00:00
Sidharth Vinod
e32151cc40 Merge pull request #5690 from mermaid-js/renovate/major-eslint
chore(deps): update dependency eslint-plugin-unicorn to v55
2024-08-06 22:08:30 +05:30
Austin Fulbright
38e048b94e fixed hash error loc & line properties 2024-08-05 14:08:42 -04:00
Austin Fulbright
2a38d46fd9 fixed the rest of the concerns, refactored portions of the gitGraphParser test to handle async actions 2024-08-05 13:53:51 -04:00
Austin-Fulbright
9ed38ccf3a Merge branch 'mermaid-js:develop' into feature/4401_creating_langium_parser_gitGraph 2024-08-05 11:07:32 -04:00
Knut Sveidqvist
61cc2fc215 #5237 Fix for issue with edge routing for elk layout 2024-08-05 12:59:10 +02:00
renovate[bot]
53e5f3a0c8 chore(deps): update dependency eslint-plugin-unicorn to v55 2024-08-05 00:36:40 +00:00
Sidharth Vinod
3f4c346e0c Merge pull request #5671 from mermaid-js/renovate/patch-eslint
chore(deps): update dependency typescript-eslint to v8.0.0
2024-08-03 10:02:13 +00:00
Sidharth Vinod
e8ddae4882 Merge pull request #5679 from mermaid-js/product-hunt-updates
DOCS: Product Hunt updates
2024-08-03 15:32:01 +05:30
renovate[bot]
09c966b271 chore(deps): update dependency typescript-eslint to v8.0.0 2024-08-02 13:54:33 +00:00
Sidharth Vinod
f7ed91b5bd chore: Bump parser version 2024-08-02 14:30:11 +05:30
Knut Sveidqvist
aa24229786 #5237 Fix for issue with styling rectWithTitle 2024-08-01 16:09:00 +02:00
Knut Sveidqvist
c4ce8543d3 5237 Fix for edges to diamond shapes 2024-07-31 15:03:25 +02:00
Steph
c0d6d89330 update badge on mermaid chart page 2024-07-30 12:30:46 -07:00
Steph
1cdc73d270 remove product hunt badge 2024-07-29 00:25:23 -07:00
Sidharth Vinod
1f44d11e15 Merge pull request #5672 from mermaid-js/renovate/eslint
chore(deps): update eslint (minor)
2024-07-29 04:06:50 +00:00
renovate[bot]
2fdcb0bfe6 chore(deps): update eslint 2024-07-29 00:51:52 +00:00
autofix-ci[bot]
6b336cbe77 [autofix.ci] apply automated fixes 2024-07-27 13:16:26 +00:00
Sidharth Vinod
cdca63dcfe chore: Simplify dataFetcher helper functions 2024-07-27 15:18:09 +05:30
Sidharth Vinod
b79191e39c chore: Simplify dataFetcher helper functions 2024-07-27 15:14:52 +05:30
Austin-Fulbright
f30085c47e Update packages/mermaid/src/diagrams/git/gitGraphAst.ts
Co-authored-by: Sidharth Vinod <github@sidharth.dev>
2024-07-27 04:06:43 -04:00
Austin-Fulbright
ef25160b8e Update packages/mermaid/src/diagrams/git/gitGraphAst.ts
Co-authored-by: Sidharth Vinod <github@sidharth.dev>
2024-07-27 04:06:09 -04:00
Austin-Fulbright
6c1e5aae92 Delete packages/mermaid/src/diagrams/git/parser/gitGraph.jison 2024-07-27 04:05:34 -04:00
Austin-Fulbright
a0207f9195 Update packages/mermaid/src/diagrams/git/gitGraphAst.ts
Co-authored-by: Sidharth Vinod <github@sidharth.dev>
2024-07-27 04:04:23 -04:00
Austin-Fulbright
346efdd384 Update packages/mermaid/src/diagrams/git/gitGraphAst.ts
Co-authored-by: Sidharth Vinod <github@sidharth.dev>
2024-07-27 04:04:16 -04:00
Austin-Fulbright
6e5e5f9c61 Update packages/mermaid/src/diagrams/git/gitGraphAst.ts
Co-authored-by: Sidharth Vinod <github@sidharth.dev>
2024-07-27 04:03:25 -04:00
Austin-Fulbright
871f0478c6 Update packages/parser/src/language/gitGraph/module.ts
Co-authored-by: Sidharth Vinod <github@sidharth.dev>
2024-07-27 04:03:19 -04:00
Austin-Fulbright
5dfc94e6f5 Update packages/mermaid/src/diagrams/git/gitGraphParser.ts
Co-authored-by: Sidharth Vinod <github@sidharth.dev>
2024-07-27 04:03:14 -04:00
Austin-Fulbright
ec2d9c9a08 Update packages/mermaid/src/diagrams/git/gitGraphParser.ts
Co-authored-by: Sidharth Vinod <github@sidharth.dev>
2024-07-27 04:03:08 -04:00
Austin-Fulbright
281064f714 Update packages/mermaid/src/diagrams/git/gitGraphAst.ts
Co-authored-by: Sidharth Vinod <github@sidharth.dev>
2024-07-27 04:03:02 -04:00
Austin-Fulbright
62757c529f Update packages/mermaid/src/diagrams/git/gitGraphAst.ts
Co-authored-by: Sidharth Vinod <github@sidharth.dev>
2024-07-27 04:02:56 -04:00
Austin-Fulbright
e57fee1f37 Update packages/mermaid/src/diagrams/git/gitGraphAst.ts
Co-authored-by: Sidharth Vinod <github@sidharth.dev>
2024-07-27 04:02:49 -04:00
Austin Fulbright
0d4c3e5f72 added unit tests for gitGraph parser 2024-07-27 03:51:28 -04:00
Austin Fulbright
275dbe9b2e fixed all rendering differences 2024-07-27 02:02:12 -04:00
Austin-Fulbright
9f6a7b79ac allows for custom merge type 2024-07-27 00:49:07 -04:00
Austin Fulbright
3168084cf5 fixed rendering 2024-07-27 00:03:59 -04:00
Austin Fulbright
887e5803d8 fixed some features and added propper default direction 2024-07-26 23:28:07 -04:00
Austin Fulbright
a386bd0b74 fixed tags for gitGraph 2024-07-26 22:55:40 -04:00
Austin Fulbright
1af90946bc fixed options e2e test 2024-07-25 06:22:37 -04:00
Austin Fulbright
d0eadebb99 added parser 2024-07-25 05:25:19 -04:00
Austin Fulbright
1a95d48852 added Imperative state 2024-07-24 13:53:00 -04:00
Austin Fulbright
0b67cffdfa fixed cherrypicking tests 2024-07-24 10:37:21 -04:00
Austin Fulbright
d2e2017907 fixed undefined for type errors 2024-07-24 09:48:46 -04:00
Austin Fulbright
5460bc0a0c fixed checkout branch with no commits 2024-07-24 07:13:10 -04:00
Austin-Fulbright
ebd4da95cd Merge branch 'mermaid-js:develop' into feature/4401_creating_langium_parser_gitGraph 2024-07-24 05:37:54 -04:00
Sidharth Vinod
4694ec08d3 Merge pull request #5663 from mermaid-js/add-blog-posts
DOCS: Add blog posts
2024-07-24 11:03:58 +05:30
Sidharth Vinod
e26dbfe11a chore: Revert pnpm changes 2024-07-24 11:03:40 +05:30
Sidharth Vinod
0d6552e63d Merge pull request #5662 from mermaid-js/update-product-hunt-content
DOCS: Update product hunt badges
2024-07-24 10:45:31 +05:30
Steph
e683b8886a add most recent blog posts 2024-07-23 16:57:03 -07:00
Steph
765e0cd35c update product hunt badges 2024-07-23 16:46:42 -07:00
Sidharth Vinod
c0bf6d8bbc Merge pull request #5657 from mermaid-js/renovate/patch-eslint
chore(deps): update dependency typescript-eslint to v8.0.0-alpha.51
2024-07-23 10:39:11 +05:30
renovate[bot]
d809d8ba28 chore(deps): update dependency typescript-eslint to v8.0.0-alpha.49 2024-07-22 10:39:47 +00:00
Sidharth Vinod
c91dc7d0bc Merge pull request #5656 from mermaid-js/renovate/autofix-ci-action-digest
chore(deps): update autofix-ci/action digest to ff86a55
2024-07-22 16:02:18 +05:30
Sidharth Vinod
7bc75851cf Merge pull request #5658 from mermaid-js/update-browserslist
Update Browserslist
2024-07-22 16:01:58 +05:30
Knut Sveidqvist
1c0cb8b2d7 Adding base theme to config.schema 2024-07-22 11:00:51 +02:00
renovate[bot]
ee8893291c chore(deps): update autofix-ci/action digest to ff86a55 2024-07-22 08:28:09 +00:00
Sidharth Vinod
fca35a3363 Merge pull request #5654 from Gusted/elkjs
Remove `elkjs` dependency from mermaid package
2024-07-22 13:57:07 +05:30
Austin Fulbright
6f7c291512 Added gitGraphAst as typescript added gitGraphTypes and gitGraphParser 2024-07-22 04:10:36 -04:00
cmmoran
0ad2282395 chore: update browsers list 2024-07-22 07:06:49 +00:00
Austin Fulbright
1d0e98dd62 Added the langium module for gitGraph 2024-07-21 19:50:59 -04:00
Gusted
f20d89ee51 Remove elkjs dependency from mermaid package
The ELK integration was moved to it's own package in
https://github.com/mermaid-js/mermaid/pull/5049 to avoid pulling in a
copyleft dependency by default. However the `elkjs` dependency is still
present in the mermaid package, this patch removes it.
2024-07-19 19:12:18 +02:00
Ashish Jain
2800f555c7 fix lint issue 2024-07-19 14:12:19 +02:00
Ashish Jain
86e4642046 fix review comments 2024-07-19 14:09:31 +02:00
Knut Sveidqvist
2718cdae51 #5237 Fix for issues generated by linkting/cleanup 2024-07-19 12:19:27 +02:00
autofix-ci[bot]
7175f5776f [autofix.ci] apply automated fixes 2024-07-19 09:55:36 +00:00
Knut Sveidqvist
d96dcd2529 #5237 Updated configuration schema for elk layout 2024-07-19 11:53:15 +02:00
Ashish Jain
5b47950f9f merge from develop 2024-07-19 10:31:52 +02:00
Sidharth Vinod
3c3d28d8ee Merge pull request #5643 from mermaid-js/renovate/patch-eslint
chore(deps): update dependency typescript-eslint to v8.0.0-alpha.45
2024-07-18 21:51:08 +05:30
Sidharth Vinod
61f55feca1 Merge pull request #5647 from mermaid-js/fix/3801
feat(3801): Multiple Tags support for Git Graph
2024-07-18 21:50:11 +05:30
Ashish Jain
138ee49943 fix for broken katex,state,error spec 2024-07-18 16:24:59 +02:00
Knut Sveidqvist
09c5c62e07 Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-07-18 14:32:24 +02:00
Knut Sveidqvist
63850fde66 #5237 Fix for issue from failing test, self loops to/from clusters 2024-07-18 14:32:10 +02:00
Ashish Jain
f30d370e3b fix for other styling fixes 2024-07-18 13:24:43 +02:00
renovate[bot]
9b77c8a1aa chore(deps): update dependency typescript-eslint to v8.0.0-alpha.44 2024-07-18 10:23:14 +00:00
Sidharth Vinod
932260f26b Merge pull request #5641 from inverted-capital/patch-1
typo
2024-07-18 10:06:28 +00:00
Sidharth Vinod
5b86fe38ae Update lockfile 2024-07-18 15:30:49 +05:30
Sidharth Vinod
4bf52cc0c0 Merge pull request #5645 from mermaid-js/update-browserslist
Update Browserslist
2024-07-18 15:23:50 +05:30
Sidharth Vinod
bae2741e0e Merge pull request #5591 from DannyBen/patch-1
Add Madness to integrations-community.md
2024-07-18 15:04:48 +05:30
autofix-ci[bot]
aba109afa4 [autofix.ci] apply automated fixes 2024-07-18 09:30:19 +00:00
autofix-ci[bot]
7dda1f5724 [autofix.ci] apply automated fixes 2024-07-18 09:29:46 +00:00
Sidharth Vinod
7389b9476b Merge branch 'develop' into patch-1 2024-07-18 14:57:57 +05:30
Sidharth Vinod
bcc998cdae Merge branch 'develop' into patch-1 2024-07-18 14:57:27 +05:30
Sidharth Vinod
7db2de3bbd Merge pull request #5651 from mermaid-js/sidv/autofix
Add autofix.ci
2024-07-18 14:57:13 +05:30
autofix-ci[bot]
c5cf5550c6 [autofix.ci] apply automated fixes 2024-07-18 09:05:13 +00:00
Sidharth Vinod
dd18cd187f docs: Test autofix.ci 2024-07-18 14:32:52 +05:30
Sidharth Vinod
c269f6fcee chore: Remove update step from lint.yml 2024-07-18 14:31:06 +05:30
Sidharth Vinod
fd8f3c3039 Add autofix.ci 2024-07-18 14:28:45 +05:30
Sidharth Vinod
eb714eb71a chore: Cleanup getConfig() 2024-07-18 10:07:06 +05:30
Ashish Jain
15c85efd88 fix for broken images, htmlLabel false issues 2024-07-17 23:33:52 +02:00
Yash Singh
5a6edf2fc4 Merge pull request #5649 from mermaid-js/fix/wrap-double-space
fix: double space in wrapped sequence diagram messages
2024-07-17 18:33:33 +00:00
Ashish Jain
b3dfb5a21f merge from develop 2024-07-17 14:46:40 +02:00
Yash Singh
99644bad17 fix: double space in wrapped sequence diagram messages 2024-07-16 21:25:59 -07:00
Yash Singh
ab1a2ec411 fix: clone if editor doesnt exist in script 2024-07-16 18:24:04 -07:00
Yash Singh
38a7a47d11 chore: push better live editor script alongside 2024-07-16 13:26:20 -07:00
Yash Singh
acb799cca0 test: e2e bottom-top 2024-07-16 13:24:17 -07:00
Yash Singh
bfeab9ec0b test: e2e left-right 2024-07-16 13:20:27 -07:00
Yash Singh
b6a03fca8b Merge branch 'develop' into fix/3801 2024-07-16 13:05:44 -07:00
Yash Singh
5868a96494 test: git graph 2024-07-16 12:42:19 -07:00
Yash Singh
05a3806075 feat: cherry picks with multiple tags 2024-07-16 12:39:18 -07:00
Yash Singh
74c6fc35a8 fix: tests 2024-07-16 12:07:12 -07:00
Yash Singh
594f2180a0 feat: implement multiple tags 2024-07-16 11:33:17 -07:00
Sidharth Vinod
b1b480a13b Merge pull request #5636 from mermaid-js/sidv/marked
feat: Use marked instead of mdast-util-from-markdown
2024-07-16 12:09:45 +00:00
Sidharth Vinod
3681a7a4c1 Merge pull request #5644 from mermaid-js/renovate/eslint
chore(deps): update eslint (minor)
2024-07-16 12:08:04 +00:00
Ashish Jain
d2a73bcef4 fix: mocked SVG element 2024-07-15 15:16:27 +02:00
Ashish Jain
f9a20ab94e fix: broken test, link style 2024-07-15 15:04:11 +02:00
ashishjain0512
dd7b071a94 Update docs 2024-07-15 11:13:38 +00:00
Ashish Jain
2fb50a2d69 fix: typo issue 2024-07-15 13:10:37 +02:00
Ashish Jain
061aaf6f28 fix: typo issue 2024-07-15 12:38:30 +02:00
Ashish Jain
6ead2e16ea fix: typo issue 2024-07-15 12:32:25 +02:00
Ashish Jain
8950fb1795 fix: lint & build issue 2024-07-15 11:48:46 +02:00
cmmoran
cdb87c193c chore: update browsers list 2024-07-15 07:06:52 +00:00
renovate[bot]
587c3c8884 chore(deps): update eslint 2024-07-15 00:50:26 +00:00
inverted-capital
9343c6fd37 typo 2024-07-15 10:05:54 +12:00
Sidharth Vinod
8b5b1d4701 Merge branch 'develop' into sidv/marked
* develop:
  docs: fix the classDef example in stateDiagram not display as code block, and long text display overflows
2024-07-13 22:34:10 +05:30
Sidharth Vinod
70dcfc83e6 chore: move abs below return check 2024-07-13 22:33:54 +05:30
Sidharth Vinod
3698c2b1e4 fix: Handle negative numbers in formatBytes 2024-07-13 22:32:45 +05:30
Sidharth Vinod
df872427af chore: Use single quotes 2024-07-13 18:55:24 +05:30
Sidharth Vinod
720aef6ff0 fix: emphasis => em 2024-07-13 17:44:43 +05:30
Sidharth Vinod
d71fe28a35 fix: Handle spaces after newline 2024-07-13 15:11:53 +05:30
Sidharth Vinod
644199d0d0 test: Change emphasis to em 2024-07-13 14:26:15 +05:30
Sidharth Vinod
207bc7c090 chore: Fix emphasis type 2024-07-13 14:14:16 +05:30
Sidharth Vinod
4bb75e5e37 Merge pull request #5640 from ScriptBloom/docs/5639_optimize-state-diagram-example-display
docs: fix the classDef example in stateDiagram not display as code block, and long text display overflows
2024-07-13 08:27:33 +00:00
ScriptBloom
84b51792d6 docs: fix the classDef example in stateDiagram not display as code block, and long text display overflows 2024-07-13 02:33:05 +08:00
Ashish Jain
7a45ed8733 fix: lint issue 2024-07-12 09:55:42 +02:00
Sidharth Vinod
cc6eae22b3 feat: Use marked instead of mdast-util-from-markdown
This will remove 33 dependencies pulled down by mdast-util-from-markdown. marked has 0 dependencies.

mermaid's dependency count will go from 102 to 69
2024-07-11 10:51:12 +05:30
Ashish Jain
9cb959ba87 fix flowchart subgraph label 2024-07-10 14:28:58 +02:00
Ashish Jain
aa279f6410 fix flowchart title class 2024-07-10 11:26:16 +02:00
Sidharth Vinod
7afff877e5 Merge pull request #5635 from mermaid-js/sidv/testDevelopCI
test: Argos parallel
2024-07-10 06:01:37 +00:00
Sidharth Vinod
4eba114c8b Merge branch 'develop' into sidv/testDevelopCI 2024-07-10 11:17:03 +05:30
Sidharth Vinod
4434cf39a7 chore: Fix boolean check in e2e.yml 2024-07-10 10:57:03 +05:30
Sidharth Vinod
8bdd37ca44 chore: Fix boolean check in e2e.yml 2024-07-10 10:56:06 +05:30
Sidharth Vinod
0d110350f4 chore: Add new test 2024-07-10 10:47:47 +05:30
Sidharth Vinod
d686cee2af ci: Do not run parallel in push to develop 2024-07-10 10:44:59 +05:30
Sidharth Vinod
192946337a Merge pull request #5633 from mermaid-js/sidv/argosThreshold
feat: Add threshold to argos test
2024-07-09 08:44:45 +00:00
Sidharth Vinod
6b7f33e1e5 feat: Add threshold to argos test 2024-07-09 14:01:47 +05:30
Sidharth Vinod
728334b3ba Merge pull request #5628 from mermaid-js/renovate/patch-all-patch
fix(deps): update all patch dependencies (patch)
2024-07-09 06:24:54 +00:00
Sidharth Vinod
515d880f0a Merge pull request #5629 from KermanX/patch-1
Add Slidev to the list of integrations
2024-07-09 10:44:34 +05:30
Sidharth Vinod
60a30a3beb chore: Update docs 2024-07-09 10:43:27 +05:30
_Kerman
e95e915d2b Add Slidev to the list of integrations 2024-07-09 10:40:49 +05:30
renovate[bot]
aa1432af5a fix(deps): update all patch dependencies 2024-07-08 16:09:20 +00:00
Sidharth Vinod
d44c65eb59 Merge pull request #5627 from mermaid-js/renovate/patch-eslint
chore(deps): update eslint (patch)
2024-07-08 21:34:46 +05:30
Sidharth Vinod
c7e1b45377 Merge pull request #5630 from mermaid-js/update-browserslist
Update Browserslist
2024-07-08 21:34:12 +05:30
Ashish Jain
fe22a5f7b3 fix flowchart edges 2024-07-08 14:04:59 +02:00
Ashish Jain
e63b5a7de2 Merge pull request #5606 from mermaid-js/sidv/5237_Cleanup
chore: 5237 Cleanup
2024-07-08 13:10:16 +02:00
cmmoran
01fa7e6dad chore: update browsers list 2024-07-08 07:07:43 +00:00
renovate[bot]
5dbe3ee444 chore(deps): update eslint 2024-07-08 00:46:52 +00:00
Sidharth Vinod
b263164c83 Merge pull request #5625 from mermaid-js/fix/5624_ClassDirection
fix(class): #5624 Reset direction to default in classDiagram
2024-07-07 11:05:46 +00:00
Sidharth Vinod
a80dd711a7 fix(class): #5624 Reset direction to default in classDiagram 2024-07-07 16:28:57 +05:30
Ashish Jain
7f185d06df fix for direction 2024-07-04 22:08:53 +02:00
Ashish Jain
8ea7d5b80e fix for direction 2024-07-04 21:44:06 +02:00
Sidharth Vinod
adf4351afd Merge pull request #5607 from dontry/chore/bump-zenuml-core-version
chore: Update @zenuml/core dependency to version 3.23.27
2024-07-04 21:07:56 +05:30
Sidharth Vinod
f014061292 Merge branch 'develop' into pr/dontry/5607
* develop: (31 commits)
  ci: upgrade to pnpm/action-setup@v4 to avoid CI failures
  chore(deps): update dependency eslint-plugin-unicorn to v54
  chore(deps): update dependency eslint-plugin-jsdoc to v48.5.0
  chore(deps): update all patch dependencies
  Sync docs folder
  Add Doctave to .cspell libraries
  Adds Doctave to list of integrations
  chore: update browsers list
  chore: Cleanup tsconfig
  chore: Fix lint
  Apply suggestions from code review
  chore: Remove extra words from cspell
  chore: Log granular rebuild times
  fix: Message wrap
  fix: Message wrap
  chore: Use `??` instead of `||`
  chore: Organise imports
  chore: Remove unused variables
  chore: Remove cross-env from eslint
  chore: Cleanup rules
  ...
2024-07-04 20:36:32 +05:30
Sidharth Vinod
7f815693a0 Merge pull request #5621 from frantic1048/ci-bump-pnpm-action-setup-to-v4
ci: upgrade to pnpm/action-setup@v4 to avoid CI failures
2024-07-04 13:59:09 +05:30
Sidharth Vinod
03a634607a Merge branch '5237-unified-layout-common-renderer' into sidv/5237_Cleanup
* 5237-unified-layout-common-renderer:
  #5237 Fix fir subgraphs with elk
  #5237 Fix for diamond intersections with ELK, tweak
  #5237 Fix for diamond intersections with ELK
  fix for note with a composite state
  #5237 Handling of subgraphs using elk
  #5237 Handling of subgraphs using elk
  Fix fro direction in layout data
2024-07-04 12:47:57 +05:30
Jiahao Guo
fde668a3a6 ci: upgrade to pnpm/action-setup@v4 to avoid CI failures
see: https://github.com/pnpm/action-setup/issues/135
2024-07-04 15:00:09 +08:00
Knut Sveidqvist
6b7d78ebcf #5237 Fix fir subgraphs with elk 2024-07-03 15:47:33 +02:00
Knut Sveidqvist
8db678a039 #5237 Fix for diamond intersections with ELK, tweak 2024-07-03 14:52:35 +02:00
Sidharth Vinod
81419d1ef9 MC-5237 Updates from review 2024-07-03 18:19:41 +05:30
Knut Sveidqvist
91670385f5 Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-07-03 13:59:36 +02:00
Knut Sveidqvist
017a86bc0e #5237 Fix for diamond intersections with ELK 2024-07-03 13:59:24 +02:00
Ashish Jain
d12cdf4fbe fix for note with a composite state 2024-07-03 13:32:12 +02:00
Knut Sveidqvist
9930d2927b Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-07-03 11:35:05 +02:00
Ashish Jain
8aa85d72de chnages from knut 2024-07-03 11:34:40 +02:00
Knut Sveidqvist
345e3cdaa7 #5237 Handling of subgraphs using elk 2024-07-03 11:33:05 +02:00
Knut Sveidqvist
d0b712f0fb #5237 Handling of subgraphs using elk 2024-07-03 11:31:53 +02:00
Ashish Jain
caf8341445 Fix fro direction in layout data 2024-07-03 11:31:50 +02:00
Sidharth Vinod
f3474fa778 Merge branch '5237-unified-layout-common-renderer' into sidv/5237_Cleanup
* 5237-unified-layout-common-renderer: (36 commits)
  5237 New default width for flowchart edges
  #5237 Fix for rough styling of regular states and dividers in state diagrams
  chore: Remove "sideEffects: false"
  Added test for divider alignment
  Remove logs
  chore: Fix eslint errors
  chore: eslint autofix
  chore: Cleanup tsconfig
  chore: Fix lint
  Apply suggestions from code review
  chore: Remove extra words from cspell
  chore: Log granular rebuild times
  fix: Message wrap
  fix: Message wrap
  chore: Use `??` instead of `||`
  chore: Organise imports
  chore: Remove unused variables
  chore: Remove cross-env from eslint
  chore: Cleanup rules
  chore: Fix eslint issues
  ...
2024-07-03 14:23:42 +05:30
Knut Sveidqvist
772a7fcfbb 5237 New default width for flowchart edges 2024-07-02 11:06:01 +02:00
Knut Sveidqvist
9a638ece80 #5237 Fix for rough styling of regular states and dividers in state diagrams 2024-07-02 10:38:46 +02:00
Sidharth Vinod
161506baf2 Merge pull request #5612 from mermaid-js/renovate/major-eslint
chore(deps): update dependency eslint-plugin-unicorn to v54
2024-07-02 01:12:59 +05:30
renovate[bot]
364511b133 chore(deps): update dependency eslint-plugin-unicorn to v54 2024-07-01 10:01:33 +00:00
Sidharth Vinod
b5b2bc4aa5 chore: Remove "sideEffects: false" 2024-07-01 15:28:53 +05:30
Sidharth Vinod
934a761c37 Merge pull request #5611 from mermaid-js/renovate/eslint
chore(deps): update dependency eslint-plugin-jsdoc to v48.5.0
2024-07-01 09:44:32 +00:00
Sidharth Vinod
2c2bd62e25 Merge pull request #5613 from mermaid-js/update-browserslist
Update Browserslist
2024-07-01 15:14:15 +05:30
Sidharth Vinod
6e35c32cb2 Merge pull request #5610 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-07-01 15:14:00 +05:30
renovate[bot]
f78f3e79f7 chore(deps): update dependency eslint-plugin-jsdoc to v48.5.0 2024-07-01 09:33:29 +00:00
renovate[bot]
49c6c4d873 chore(deps): update all patch dependencies 2024-07-01 09:31:54 +00:00
Sidharth Vinod
95d629e615 Merge pull request #5614 from begleynk/patch-1
Adds Doctave to list of integrations
2024-07-01 09:09:33 +00:00
Ashish Jain
efd5cf1c67 Added test for divider alignment 2024-07-01 11:06:45 +02:00
Sidharth Vinod
6337470b1b Merge pull request #5603 from mermaid-js/sidv/eslintv9
Update eslint to v9
2024-07-01 08:58:10 +00:00
Niklas Begley
254ec07da9 Sync docs folder 2024-07-01 11:50:56 +03:00
Niklas Begley
ec27270748 Add Doctave to .cspell libraries 2024-07-01 08:37:24 +00:00
Niklas Begley
00467c646c Adds Doctave to list of integrations 2024-07-01 11:05:40 +03:00
Sidharth Vinod
771d3fcbbe Remove logs 2024-07-01 13:02:52 +05:30
cmmoran
775d8bb353 chore: update browsers list 2024-07-01 07:06:57 +00:00
Sidharth Vinod
06377b8231 chore: Fix eslint errors 2024-06-30 16:21:25 +05:30
Sidharth Vinod
4e55f4cf3d chore: eslint autofix 2024-06-30 16:21:17 +05:30
Sidharth Vinod
d5a03a9054 Merge branch 'sidv/eslintv9' into 5237-unified-layout-common-renderer-eslint
* sidv/eslintv9: (24 commits)
  chore: Cleanup tsconfig
  chore: Fix lint
  Apply suggestions from code review
  chore: Remove extra words from cspell
  chore: Log granular rebuild times
  fix: Message wrap
  fix: Message wrap
  chore: Use `??` instead of `||`
  chore: Organise imports
  chore: Remove unused variables
  chore: Remove cross-env from eslint
  chore: Cleanup rules
  chore: Fix eslint issues
  chore: Fix eslint issues
  chore: Add type checked rules, auto fix
  chore: Remove max_old_space_size as v9 does not have perf issues
  fix: Eslint jison linting
  chore: Resolve eslint errors
  chore: Resolve eslint errors
  chore: Remove orphaned files
  ...
2024-06-30 15:58:14 +05:30
Sidharth Vinod
f3a65f3178 chore: Cleanup tsconfig 2024-06-30 15:39:57 +05:30
Sidharth Vinod
b27d83e0e7 Merge pull request #5608 from mermaid-js/sidv/eslintv9Typed
ESLint V9 - Typed
2024-06-30 15:00:32 +05:30
Sidharth Vinod
55bd9e6efa chore: Fix lint 2024-06-30 14:50:53 +05:30
Sidharth Vinod
8b8c0dd57c Apply suggestions from code review
Co-authored-by: Alois Klink <alois@aloisklink.com>
2024-06-30 14:47:03 +05:30
Sidharth Vinod
d8d608fd99 chore: Remove extra words from cspell
Co-authored-by: Alois Klink <alois@aloisklink.com>
2024-06-30 14:37:59 +05:30
Sidharth Vinod
2efb2565ad Merge branch 'sidv/eslintv9' into sidv/eslintv9Typed
* sidv/eslintv9:
  chore: Log granular rebuild times
  Separate eslint packages from updates
2024-06-30 14:31:32 +05:30
Sidharth Vinod
c8a3290163 Merge branch 'develop' into sidv/eslintv9
* develop:
  chore: Log granular rebuild times
  Separate eslint packages from updates
2024-06-30 14:27:38 +05:30
Alois Klink
14a231767a Merge pull request #5609 from mermaid-js/sidv/esbuild_logs
chore: Log granular rebuild times
2024-06-30 08:35:13 +00:00
Sidharth Vinod
803e9eb2bd chore: Log granular rebuild times 2024-06-30 13:47:33 +05:30
Sidharth Vinod
29a3967c0e fix: Message wrap 2024-06-30 12:49:36 +05:30
Sidharth Vinod
cf72d33335 fix: Message wrap 2024-06-30 11:37:36 +05:30
Sidharth Vinod
7534462966 chore: Use ?? instead of || 2024-06-30 11:09:47 +05:30
Sidharth Vinod
d4525331cb chore: Organise imports 2024-06-30 10:51:11 +05:30
Sidharth Vinod
501cdbfcf7 Merge branch 'sidv/eslintv9' into sidv/eslintv9Typed
* sidv/eslintv9:
  chore: Remove unused variables
  chore: Remove cross-env from eslint
2024-06-30 01:47:58 +05:30
Sidharth Vinod
13bba48e92 chore: Remove unused variables 2024-06-30 01:45:14 +05:30
Sidharth Vinod
f1bd8fa91b chore: Remove cross-env from eslint 2024-06-30 01:30:05 +05:30
Sidharth Vinod
d9a12997ce chore: Cleanup rules 2024-06-30 01:29:28 +05:30
Sidharth Vinod
1fad9e6eef chore: Fix eslint issues 2024-06-30 01:19:11 +05:30
Sidharth Vinod
d9b2934a50 chore: Fix eslint issues 2024-06-30 01:16:46 +05:30
Sidharth Vinod
6b87fb3418 chore: Add type checked rules, auto fix 2024-06-30 00:58:02 +05:30
Knut Sveidqvist
444de0f133 5237 fix for async katex rendering when using elk 2024-06-29 21:19:09 +02:00
Sidharth Vinod
51fc56b95d chore: Remove max_old_space_size as v9 does not have perf issues 2024-06-29 23:44:29 +05:30
Sidharth Vinod
195e314c42 fix: Eslint jison linting 2024-06-29 16:31:19 +05:30
Sidharth Vinod
4c6e2783b0 chore: Resolve eslint errors 2024-06-29 16:20:46 +05:30
Sidharth Vinod
4a50feb5d9 chore: Resolve eslint errors 2024-06-29 16:09:50 +05:30
Sidharth Vinod
3f2e823330 chore: Remove orphaned files 2024-06-29 16:09:05 +05:30
dontry
16a15c4179 chore: Update @zenuml/core dependency to version 3.23.27 2024-06-29 20:19:43 +10:00
Sidharth Vinod
49cb10457e chore: Cleanup nodes 2024-06-29 03:10:32 +05:30
Sidharth Vinod
67c1eb34eb chore: Cleanup intersect 2024-06-29 03:06:53 +05:30
Sidharth Vinod
9cc59f0206 chore: Cleanup edges 2024-06-29 03:04:27 +05:30
Sidharth Vinod
7167710800 chore: Cleanup 2024-06-29 02:54:51 +05:30
Sidharth Vinod
de115e2071 chore: Cleanup doLayout 2024-06-29 02:54:40 +05:30
Sidharth Vinod
e32e7f3256 chore: Cleanup logger 2024-06-29 02:51:29 +05:30
Sidharth Vinod
8132f0a5b0 chore: Cleanup state diagram 2024-06-29 02:50:56 +05:30
Sidharth Vinod
3c6ae36611 chore: Cleanup dataFetcher 2024-06-29 02:42:03 +05:30
Sidharth Vinod
b1b5ad3c9b chore: Cleanup flowRenderer-v3-unified.ts 2024-06-28 22:00:11 +05:30
Sidharth Vinod
3b2c751cd2 chore: Remove flowDiagram-v3-unified.ts 2024-06-28 21:52:16 +05:30
Sidharth Vinod
5e8ac1a66e chore: Cleanup flowDetector 2024-06-28 21:51:10 +05:30
Sidharth Vinod
02ef40223c chore: Cleanup flowDB 2024-06-28 21:50:33 +05:30
Sidharth Vinod
69538aad09 chore: Use for-of loops, fix imports, use let 2024-06-28 21:43:07 +05:30
Sidharth Vinod
ce8256b8f6 chore: Swap negative if condition 2024-06-28 21:40:37 +05:30
Sidharth Vinod
ced5cef2a3 chore: Remove unused comments 2024-06-28 21:36:58 +05:30
Sidharth Vinod
93b41eddb9 chore: Remove unused comments 2024-06-28 21:36:30 +05:30
Sidharth Vinod
39c6533881 chore: Cleanup layout-elk 2024-06-28 21:28:00 +05:30
Alois Klink
0ba712f53c build(eslint): add tsconfig for all linted files 2024-06-28 23:02:02 +09:00
Alois Klink
14622b0386 squash! chore: Update to eslint v9 with flat config
Use typescript-eslint v8 for ESLint v9 support.
2024-06-28 22:56:03 +09:00
Knut Sveidqvist
35797f867f #5237 Styling fixes 2024-06-28 15:27:32 +02:00
Knut Sveidqvist
3f0ababca6 Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-06-28 08:47:28 +02:00
Knut Sveidqvist
6231682867 #5237 cleanup diagram definition 2024-06-28 08:45:25 +02:00
Sidharth Vinod
9400e46827 Separate eslint packages from updates 2024-06-28 12:11:41 +05:30
Knut Sveidqvist
b92eae5b34 #5237 Fix for line-height issue 2024-06-28 08:40:04 +02:00
Knut Sveidqvist
5e6215d4f2 #5237 Fix for issue with text-centering in state-diagrams with htmlLabels true and subgraph title bkg 2024-06-28 08:32:33 +02:00
Sidharth Vinod
871a13aff8 Merge branch 'develop' into sidv/eslintv9
* develop: (59 commits)
  docs: Update mermaid.init remove date
  docs: Remove incorrect =
  chore: Prettier format
  chore: Update config.type.ts
  chore Add vitest.workspace.js
  chore: Stricter TS version
  chore: Remove MermaidAPI from docs
  doc: Update deprecation message
  doc: Update deprecation message
  fix: prevent escaping label styles
  chore: update browsers list
  chore(deps): update all patch dependencies
  docs: Added demo diagram of bidirectional arrows for sequence diagrams
  fix(deps): update all patch dependencies
  chore: Update drupal regex
  chore: Update pnpm
  chore: Update docs to remove html tag like text
  rebuild
  chore: Use string templates
  chore: Update docs
  ...
2024-06-28 11:59:55 +05:30
Sidharth Vinod
7f2902594c Merge branch 'develop' into 5237-unified-layout-common-renderer
* develop: (59 commits)
  docs: Update mermaid.init remove date
  docs: Remove incorrect =
  chore: Prettier format
  chore: Update config.type.ts
  chore Add vitest.workspace.js
  chore: Stricter TS version
  chore: Remove MermaidAPI from docs
  doc: Update deprecation message
  doc: Update deprecation message
  fix: prevent escaping label styles
  chore: update browsers list
  chore(deps): update all patch dependencies
  docs: Added demo diagram of bidirectional arrows for sequence diagrams
  fix(deps): update all patch dependencies
  chore: Update drupal regex
  chore: Update pnpm
  chore: Update docs to remove html tag like text
  rebuild
  chore: Use string templates
  chore: Update docs
  ...
2024-06-28 11:51:54 +05:30
Sidharth Vinod
ceb487f2d4 Merge pull request #4821 from mermaid-js/sidv/deprecateMermaidAPI
chore: Deprecate mermaidAPI
2024-06-28 11:42:18 +05:30
Sidharth Vinod
6095aaae61 Merge pull request #5598 from mermaid-js/fix/replace-string-with-dom
fix: prevent escaping label styles
2024-06-28 05:54:03 +00:00
Sidharth Vinod
c1052bd3c5 docs: Update mermaid.init remove date 2024-06-27 18:05:40 +05:30
Sidharth Vinod
a2cc86a414 docs: Remove incorrect = 2024-06-27 17:20:22 +05:30
Sidharth Vinod
2057649581 Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop:
  chore: Prettier format
2024-06-27 17:10:55 +05:30
Sidharth Vinod
ba0d91da32 chore: Prettier format 2024-06-27 17:07:38 +05:30
Sidharth Vinod
63f81f36a9 chore: Update config.type.ts 2024-06-27 17:03:08 +05:30
Sidharth Vinod
8e46e10429 Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop:
  chore Add vitest.workspace.js
2024-06-27 16:59:34 +05:30
Sidharth Vinod
3411a6e46d chore Add vitest.workspace.js 2024-06-27 16:59:13 +05:30
Sidharth Vinod
115a4976ff Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop:
  chore: Stricter TS version
2024-06-27 16:57:51 +05:30
Sidharth Vinod
a796940de3 chore: Stricter TS version 2024-06-27 16:57:32 +05:30
Sidharth Vinod
4b5e73102c chore: Remove MermaidAPI from docs 2024-06-27 16:55:05 +05:30
Sidharth Vinod
c5805383c7 doc: Update deprecation message 2024-06-27 15:36:12 +05:30
Sidharth Vinod
eb7d18dfca doc: Update deprecation message 2024-06-27 15:32:13 +05:30
Sidharth Vinod
eb0cb42f36 Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop: (21 commits)
  chore: update browsers list
  chore(deps): update all patch dependencies
  docs: Added demo diagram of bidirectional arrows for sequence diagrams
  fix(deps): update all patch dependencies
  chore: Update drupal regex
  chore: Update pnpm
  rebuild
  chore: Use string templates
  chore: Fix docs
  fix tests
  update arrow startx position
  move arrowhead adjustment to buildMessageModel
  fixed incorrect spacing, added e2e-test
  Format
  Replace regex with contain match
  Format
  Fix test
  Add charset=UTF-8
  Encode string to UTF-8 before encoding to Base64
  fix arrow pointer x position
  ...
2024-06-27 14:15:46 +05:30
Sidharth Vinod
18e2879867 feat: Allow html tags in markdown 2024-06-27 13:38:50 +05:30
Sidharth Vinod
99552b3389 Merge pull request #5602 from mermaid-js/add-product-hunt-badge
DOCS: Product Hunt
2024-06-27 11:23:10 +05:30
steph
7391b05c43 add announcement bar to docs and minor styling update 2024-06-26 22:23:42 -07:00
steph
0691c722c3 update product hunt badge on mermaid chart page 2024-06-26 22:21:49 -07:00
steph
534a10edea add product hunt badge to homepage 2024-06-26 21:24:27 -07:00
Ashish Jain
a46f993e3e Fix composite state with label 2024-06-26 14:51:19 +02:00
Knut Sveidqvist
fc78ee0fc5 #5237 Fix for label opacity 2024-06-26 13:51:02 +02:00
Knut Sveidqvist
ee6ae6a47a #5237 fix for issue with alignment of subgraph titles 2024-06-26 13:15:52 +02:00
Knut Sveidqvist
6d7b2b1e14 Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-06-25 16:52:13 +02:00
Knut Sveidqvist
2117e71b51 #5237 Support for config nodespace and rankspace 2024-06-25 16:32:14 +02:00
Knut Sveidqvist
c3423beeda #5237 Support for invisisblwe links 2024-06-25 16:22:56 +02:00
Ashish Jain
de51bc40c7 #5237 Fix for the styling on different shapes 2024-06-25 16:17:52 +02:00
Knut Sveidqvist
aa9f4a7760 #5237 Support for default link styles 2024-06-25 15:58:58 +02:00
Knut Sveidqvist
9979ea1d74 #5237 Fix of alignment with htmlLabels 2024-06-25 15:48:19 +02:00
Knut Sveidqvist
fc31b22eb0 #5237 Fix of label styling 2024-06-25 15:19:12 +02:00
Knut Sveidqvist
c221350d59 #5237 Fix of alignment issues 2024-06-25 13:20:05 +02:00
Knut Sveidqvist
881a68241c Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-06-25 09:59:32 +02:00
Knut Sveidqvist
469acbe810 #5237 Fix of issue with styling of nodes for flowcharts 2024-06-25 09:42:55 +02:00
Yash Singh
ab726f008c fix: prevent escaping label styles 2024-06-24 16:07:43 -07:00
Knut Sveidqvist
9b56cb3feb #5237 Fix for issue with styling using new rendering flow 2024-06-24 14:17:56 +02:00
Ashish Jain
cfacd3b2e1 #5237 Added hasKatex check 2024-06-24 12:07:39 +02:00
Sidharth Vinod
ce3b0af03a Merge pull request #5592 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-06-24 09:01:25 +00:00
Sidharth Vinod
c7c1218e02 Merge pull request #5593 from mermaid-js/update-browserslist
Update Browserslist
2024-06-24 14:31:51 +05:30
cmmoran
f5bdbf22e7 chore: update browsers list 2024-06-24 07:07:40 +00:00
renovate[bot]
1ab23d137f chore(deps): update all patch dependencies 2024-06-24 01:33:30 +00:00
Danny Ben Shitrit
b608083c2f Add Madness to integrations-community.md 2024-06-23 15:54:11 +03:00
Sidharth Vinod
cba968ccc0 Merge pull request #5544 from mermaid-js/renovate/patch-all-patch
fix(deps): update all patch dependencies (patch)
2024-06-22 16:04:50 +00:00
Sidharth Vinod
0f3778aea8 Merge pull request #5589 from Justin-Garey/docs/123_bidirectional-sequence-arrows-demo
docs: Added demo diagram of bidirectional arrows for sequence diagrams
2024-06-22 16:04:32 +00:00
Justin
ac5c61dbd4 docs: Added demo diagram of bidirectional arrows for sequence diagrams 2024-06-21 14:16:21 +00:00
renovate[bot]
6c785c9316 fix(deps): update all patch dependencies 2024-06-21 11:12:06 +00:00
Sidharth Vinod
58483fb231 chore: Update drupal regex 2024-06-21 16:37:55 +05:30
Sidharth Vinod
0d8c3fcf8c chore: Update pnpm 2024-06-21 16:31:29 +05:30
Sidharth Vinod
9f375139d5 Merge pull request #5556 from OG-NI/bug/5555_xychart_incorrect_spacing
[XYChart] fixed incorrect spacing between data points
2024-06-21 03:39:47 +00:00
Sidharth Vinod
5ba3696f95 chore: Update docs to remove html tag like text 2024-06-21 08:45:52 +05:30
Ingo
0c49d2b84e Merge branch 'develop' into bug/5555_xychart_incorrect_spacing 2024-06-20 20:49:00 +02:00
OG-NI
42414e85d1 rebuild 2024-06-20 20:38:51 +02:00
Sidharth Vinod
77a02fefe4 Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop: (138 commits)
  chore: Update docs
  chore: Add argos token to cypress config.
  chore: Remove cy.get('svg') calls
  chore: fix Argos parallel
  chore: Support local screenshot testing without applitools or argos
  chore: Skip checking drupal links
  chore: Remove reference screenshot generation from E2E
  chore: Remove cytoscape patch.
  chore(argos): disable matchImageSnapshot
  chore(argos): put parallel mode only when necessary
  chore(argos): setup parallel mode
  chore: setup Argos Visual Testing on E2E
  Fixed linters
  Added more specs for elk detector
  Fixed wrong elk detector, check only beginning of the line for diagram keywords
  Removed unused patch
  Fix cytoscape patch
  chore: Remove cytoscape patch.
  docs: fix node version in CONTRIBUTING.md
  Explain line breaks in `sequenceDiagram.md`
  ...
2024-06-20 23:40:17 +05:30
Sidharth Vinod
1e43ad1ee3 Merge pull request #5520 from iansan5653/fix-sandbox-utf16
Fix `sandbox` mode with UTF-16 characters
2024-06-20 18:07:40 +00:00
Sidharth Vinod
cda41a1cdf Merge pull request #5209 from Ronid1/feature/4051_sequence_diagram-multi-directional-arrow
Feature/4051 sequence diagram multi directional arrow
2024-06-20 18:07:17 +00:00
Ronid1
1a199d630f Merge branch 'develop' of https://github.com/mermaid-js/mermaid into feature/4051_sequence_diagram-multi-directional-arrow 2024-06-20 10:25:42 -07:00
Sidharth Vinod
51c07163aa Merge branch 'develop' into pr/iansan5653/5520
* develop:
  chore: Update docs
  chore: Add argos token to cypress config.
  chore: Remove cy.get('svg') calls
  Explain line breaks in `sequenceDiagram.md`
  add integration test
  fix note z position
  Correct the System_Boundary stereotype
2024-06-20 22:48:45 +05:30
Sidharth Vinod
9bbd3cab3c chore: Use string templates 2024-06-20 22:48:28 +05:30
Sidharth Vinod
6f61a71dda Merge branch 'develop' into bug/5555_xychart_incorrect_spacing 2024-06-20 22:31:03 +05:30
Sidharth Vinod
3af4020cdc Merge pull request #5570 from abitrolly/patch-1
Explain line breaks in `sequenceDiagram.md`
2024-06-20 22:16:34 +05:30
Sidharth Vinod
d65e78f9e2 chore: Update docs 2024-06-20 22:15:52 +05:30
Sidharth Vinod
82b120e567 Merge branch 'develop' into patch-1 2024-06-20 22:14:38 +05:30
Nikolay Rozhkov
d95c159b1f Merge pull request #5243 from jonmcewen/c4-sys-boundary-stereotype
Correct the System_Boundary stereotype
2024-06-20 15:14:20 +00:00
Nikolay Rozhkov
c468319869 Merge branch 'develop' into c4-sys-boundary-stereotype 2024-06-20 17:36:02 +03:00
Sidharth Vinod
4b21e1e745 Merge pull request #5564 from Ronid1/bug/5525_sequence_diagram_fix_note_z_position
Bug/5525 sequence diagram fix note z position
2024-06-20 13:51:21 +00:00
Sidharth Vinod
fb1942c2cf Merge branch 'develop' into bug/5525_sequence_diagram_fix_note_z_position 2024-06-20 18:44:17 +05:30
Sidharth Vinod
81d8b9d02e chore: Fix docs 2024-06-20 18:41:11 +05:30
Sidharth Vinod
6db070197a Merge branch 'develop' into fix-sandbox-utf16 2024-06-20 18:35:29 +05:30
Sidharth Vinod
a331125187 Merge pull request #5586 from mermaid-js/sidv/cleanupCy
Cleanup Cypress tests
2024-06-20 13:04:42 +00:00
Sidharth Vinod
66bc461fa1 chore: Add argos token to cypress config.
This token is not sensitive, and is required for argos to run in fork PRs.
2024-06-20 18:26:19 +05:30
Sidharth Vinod
df72febc00 Merge pull request #5579 from mermaid-js/bug/5507_fixed-wrong-elk-detector
Fixed wrong ELK detector
2024-06-20 12:47:57 +00:00
Sidharth Vinod
5aced51f9e chore: Remove cy.get('svg') calls 2024-06-20 17:05:00 +05:30
Sidharth Vinod
fe9fbd8618 Merge pull request #5581 from gregberge/fix-argos-parallel
chore: fix Argos parallel
2024-06-20 16:15:36 +05:30
Greg Bergé
b031c6f182 chore: fix Argos parallel 2024-06-20 12:11:53 +02:00
Sidharth Vinod
2f792e33d6 chore: Support local screenshot testing without applitools or argos 2024-06-20 15:11:38 +05:30
Sidharth Vinod
dc51a8f182 Merge branch 'develop' into fix-sandbox-utf16 2024-06-20 14:48:39 +05:30
Sidharth Vinod
e8d18189ac Merge branch 'develop' of https://github.com/mermaid-js/mermaid into develop
* 'develop' of https://github.com/mermaid-js/mermaid:
  chore: Remove reference screenshot generation from E2E
  chore: Remove cytoscape patch.
  chore(argos): disable matchImageSnapshot
  chore(argos): put parallel mode only when necessary
  chore(argos): setup parallel mode
  chore: setup Argos Visual Testing on E2E
2024-06-20 14:47:57 +05:30
Sidharth Vinod
a6276a94c3 chore: Skip checking drupal links 2024-06-20 14:47:53 +05:30
Sidharth Vinod
85628f2148 Merge pull request #5577 from gregberge/setup-argos-visual-testing
chore: setup Argos Visual Testing
2024-06-20 14:46:54 +05:30
Sidharth Vinod
1f70717a53 Merge branch 'develop' into pr/gregberge/5577
* develop:
  Removed unused patch
  Fix cytoscape patch
  chore: Remove cytoscape patch.
  docs: fix node version in CONTRIBUTING.md
  Fixed entrypoint path
2024-06-20 14:44:16 +05:30
Sidharth Vinod
493bb8a80e chore: Remove reference screenshot generation from E2E 2024-06-20 14:39:21 +05:30
Sidharth Vinod
788e7c96ff chore: Remove cytoscape patch. 2024-06-20 14:39:21 +05:30
Greg Bergé
caa0ff340d chore(argos): disable matchImageSnapshot 2024-06-20 14:38:37 +05:30
Greg Bergé
44688a20b6 chore(argos): put parallel mode only when necessary 2024-06-20 14:38:37 +05:30
Greg Bergé
3f1bba407e chore(argos): setup parallel mode 2024-06-20 14:38:21 +05:30
Greg Bergé
91e8bcaba9 chore: setup Argos Visual Testing on E2E 2024-06-20 14:38:06 +05:30
Nikolay Rozhkov
66cd0b9621 Fixed linters 2024-06-19 22:53:55 +03:00
Nikolay Rozhkov
6382dcf7c8 Added more specs for elk detector 2024-06-19 22:36:13 +03:00
Nikolay Rozhkov
5587011f75 Fixed wrong elk detector, check only beginning of the line for diagram keywords 2024-06-19 22:19:50 +03:00
Nikolay Rozhkov
0044aa3029 Merge pull request #5573 from exoego/docs/5572_node-version-contributing-md
docs: fix node version in CONTRIBUTING.md
2024-06-19 18:25:38 +00:00
Nikolay Rozhkov
9c3bcec7f0 Merge branch 'develop' into docs/5572_node-version-contributing-md 2024-06-19 21:04:46 +03:00
Sidharth Vinod
63f9e95795 Merge pull request #5566 from mermaid-js/bug/5565-fix-docker-local-development
Fixed entrypoint path
2024-06-19 17:31:01 +00:00
Nikolay Rozhkov
8f00555bf5 Removed unused patch 2024-06-19 19:51:09 +03:00
Nikolay Rozhkov
029b3c1101 Merge branch 'develop' into bug/5565-fix-docker-local-development 2024-06-19 19:21:48 +03:00
Nikolay Rozhkov
2340a3b836 Fix cytoscape patch 2024-06-19 19:17:56 +03:00
Sidharth Vinod
d84b4403ab chore: Remove cytoscape patch. 2024-06-19 21:47:07 +05:30
Nikolay Rozhkov
323f72ce33 Merge branch 'develop' into bug/5565-fix-docker-local-development 2024-06-19 16:49:23 +03:00
Sidharth Vinod
ecee23d8ba Merge pull request #5546 from mermaid-js/update-browserslist
Update Browserslist
2024-06-17 10:55:54 +05:30
exoego
7ee22de5e2 docs: fix node version in CONTRIBUTING.md 2024-06-16 07:29:35 +09:00
Anatoli Babenia
c904c7d21a Explain line breaks in sequenceDiagram.md
Closes https://github.com/mermaid-js/mermaid/issues/4351
2024-06-15 12:29:30 +03:00
Sidharth Vinod
bdca0a583e chore: Update to eslint v9 with flat config 2024-06-12 22:19:14 +05:30
cmmoran
ce3d0a23de chore: update browsers list 2024-06-10 07:06:39 +00:00
Nikolay Rozhkov
1c4dd9b923 Fixed entrypoint path 2024-06-09 01:23:38 +03:00
Ronid1
b285466130 add integration test 2024-06-06 18:33:55 -07:00
Ronid1
3754ac0872 fix note z position 2024-06-06 18:15:11 -07:00
Ronid1
83ca6897bd fix tests 2024-06-04 15:23:57 -07:00
Ronid1
d2d7f2bcb0 update arrow startx position 2024-06-04 15:10:50 -07:00
Ronid1
20f9abcc38 move arrowhead adjustment to buildMessageModel 2024-06-04 14:58:47 -07:00
Ronid1
0417a8ddff Merge branch 'develop' of https://github.com/mermaid-js/mermaid into feature/4051_sequence_diagram-multi-directional-arrow 2024-06-04 14:40:39 -07:00
OG-NI
46fe731379 fixed incorrect spacing, added e2e-test 2024-06-01 21:48:34 +02:00
Nikolay Rozhkov
0e63233845 Merge branch 'develop' into c4-sys-boundary-stereotype 2024-05-30 01:52:56 +03:00
Justin Greywolf
af5e69327b Merge pull request #5536 from mermaid-js/add-blog-post-confluence-plugin
DOCS: Add blog post - Official Mermaid Chart for Confluence app
2024-05-22 21:27:03 -07:00
Steph
20b03189df fix linting issue 2024-05-22 13:45:58 -07:00
Steph
3d44eb0f42 add blog post confluence plugin 2024-05-22 13:40:49 -07:00
Ian Sanders
e26dea6416 Format 2024-05-14 15:07:31 -04:00
Ian Sanders
3b2b8dacd8 Replace regex with contain match 2024-05-14 15:02:14 -04:00
Ian Sanders
df94d3994d Format 2024-05-14 14:34:10 -04:00
Ian Sanders
6f56d94c64 Fix test 2024-05-14 14:30:13 -04:00
Ian Sanders
56c4f10607 Add charset=UTF-8 2024-05-14 14:08:35 -04:00
Ian Sanders
dfa71317ad Encode string to UTF-8 before encoding to Base64 2024-05-14 13:57:32 -04:00
Ronid1
17fd681bdb fix arrow pointer x position 2024-04-24 12:53:40 -07:00
Ronid1
e852156b9f add bidirectional arrow to sequence diagram 2024-04-23 20:36:58 -07:00
Michael Krause
a4bbaf071e Merge branch 'develop' into fix/RequirementDiagramOverflow 2024-04-05 09:57:57 -04:00
Christian
c239b6e311 Merge branch 'develop' into 4175Issue-allowSemicolons 2024-03-30 15:14:12 -04:00
Christian
d1a3a84b6f Merge branch 'develop' into 5356Issue 2024-03-30 15:12:48 -04:00
Sidharth Vinod
c7d41cd963 Merge branch 'develop' into sidv/deprecateMermaidAPI 2024-03-23 18:21:39 +05:30
Sidharth Vinod
e13e5f836e Merge branch 'develop' into fix/RequirementDiagramOverflow 2024-03-23 18:12:57 +05:30
Sidharth Vinod
46346d2a51 Remove comment 2024-03-23 15:49:02 +05:30
Sidharth Vinod
830a58cebd Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop: (588 commits)
  Linting
  chore:  temp fix for eslint OOM
  chore: Update error snapshots
  Fix ESLint
  chore: Prettier
  chore: YOLO `pnpm --recursive update`
  chore: Remove commitlint
  Fix flowchart-elk render test
  chore: Add example page link in index
  chore: Minor fixes
  chore: Build docs
  Use develop as base on develop branch.
  Update renovate json
  update link
  update announcement and blog pages
  Remove `--force` flag
  Tweak editor.bash
  update link
  chore: update browsers list
  Update integrations-community: add Drupal and module.
  ...
2024-03-23 15:47:59 +05:30
futzmonitor
6d69c26c8d Changes to timeline.jison
1. Updated the regex for title, section, and event elements to allow hashtags.
2. Period elements remain unchanged.
Changes to timeline.spec.js
1. Added test coverage to ensure that the title, section, and event elements allow hashtags without error.
2024-03-20 14:32:03 -04:00
futzmonitor
cf88f0609d Changes to timeline.spec.js
1. Re-organized the new TL-6 test to not use a for-loop with a switch case.
2. Imported the commonDb module to ensure titles are be tested.
3. Use indices to retrieve elements that need to be tested.
2024-03-19 10:02:51 -04:00
futzmonitor
e433b953f6 Merge branch 'develop' into 4175Issue-allowSemicolons 2024-03-18 10:28:56 -04:00
Michael Krause
d5c48e4be3 Merge branch 'mermaid-js:develop' into fix/RequirementDiagramOverflow 2024-03-02 23:18:23 -05:00
futzmonitor
fab6987601 Merge branch 'develop' into 4175Issue-allowSemicolons 2024-02-27 09:36:04 -05:00
futzmonitor
9e3ebf1648 Run the pnpm lint:fix command to fix linting problems 2024-02-27 09:33:11 -05:00
futzmonitor
f13beabdd0 Merge branch 'develop' into 4175Issue-allowSemicolons 2024-02-26 21:07:30 -05:00
futzmonitor
1169cb9e85 Changes to timeline.jison
1. Removed the semicolon from the regex for titles, sections, periods, and events.
Changes to timeline.spec.js
1. Added a test for the changes made in the timeline parser
2024-02-26 20:59:40 -05:00
Michael K
a2efa0d289 Fix Requirement overflow 2024-02-21 18:08:42 -05:00
Sidharth Vinod
8691874dbb Merge branch 'develop' into c4-sys-boundary-stereotype 2024-02-01 17:36:58 +05:30
Jon McEwen
db92b5a219 Correct the System_Boundary stereotype 2024-01-26 16:15:12 +00:00
Sidharth Vinod
4fe2f31301 Merge branch 'next' into sidv/deprecateMermaidAPI
* next: (387 commits)
  build(deps-dev): bump vite from 4.4.9 to 4.4.12
  Changes to .prettierignore 1. Added 'demos/dev/**' to be ignored by Prettier. 2. Added '!/demos/dev/example.html' so that Prettier ensures no one changes the example.html in a way that doesn't obey the Prettier code formatting rules.
  build: use `tsx` instead of `ts-node-esm`
  chore: Downgrade node to 18.18.2
  fix: #5100 Add viewbox to sankey
  chore(deps): update all minor dependencies
  chore: Rename test
  test: Add unit test for generic classname and namespace
  fix: Check if parentCommit is provided
  Split type from generic class name
  Condition of Parent Id Without Merge Commit Added
  Referenced the PmWiki's Cookbook recipe enabling MermaidJs schematics in wiki pages
  test(e2e): fix pie chart E2E tests for PR #4288
  Add dummy commit to trigger GH checks
  chore: Revert unnecessary export
  refactor: Remove unnecessary calculations
  chore: Fix computeWidth function
  chore: Cleanup setupGraphViewbox
  Update docs
  update mermaidAPI to cleanup the text before passing to getDiagramFromText
  ...
2023-12-07 10:26:50 +05:30
Sidharth Vinod
fcd983d915 chore: Deprecate mermaidAPI 2023-09-08 08:27:20 +05:30
346 changed files with 13989 additions and 13099 deletions

View File

@@ -1,3 +1,4 @@
/* eslint-disable no-console */
import { packageOptions } from './common.js';
import { execSync } from 'child_process';
@@ -5,11 +6,17 @@ const buildType = (packageName: string) => {
console.log(`Building types for ${packageName}`);
try {
const out = execSync(`tsc -p ./packages/${packageName}/tsconfig.json --emitDeclarationOnly`);
out.length > 0 && console.log(out.toString());
if (out.length > 0) {
console.log(out.toString());
}
} catch (e) {
console.error(e);
e.stdout.length > 0 && console.error(e.stdout.toString());
e.stderr.length > 0 && console.error(e.stderr.toString());
if (e.stdout.length > 0) {
console.error(e.stdout.toString());
}
if (e.stderr.length > 0) {
console.error(e.stderr.toString());
}
}
};

8
.changeset/README.md Normal file
View File

@@ -0,0 +1,8 @@
# Changesets
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)
We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)

12
.changeset/config.json Normal file
View File

@@ -0,0 +1,12 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
"changelog": ["@changesets/changelog-github", { "repo": "mermaid-js/mermaid" }],
"commit": false,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "master",
"updateInternalDependencies": "patch",
"bumpVersionsWithWorkspaceProtocolOnly": true,
"ignore": ["@mermaid-js/docs", "@mermaid-js/webpack-test", "@mermaid-js/mermaid-example-diagram"]
}

View File

@@ -13,6 +13,7 @@ bqstring
BQUOTE
bramp
BRKT
brotli
callbackargs
callbackname
classdef
@@ -114,10 +115,13 @@ STYLEDEF
STYLEOPTS
subcomponent
subcomponents
subconfig
SUBROUTINEEND
SUBROUTINESTART
Subschemas
substr
SVGG
SVGSVG
TAGEND
TAGSTART
techn
@@ -128,6 +132,7 @@ titlevalue
topbar
TRAPEND
TRAPSTART
treemap
ts-nocheck
tsdoc
typeof

View File

@@ -4,5 +4,6 @@ cpettitt
Dong Cai
Nikolay Rozhkov
Peng Xiao
Per Brolin
subhash-halder
Vinod Sidharth

View File

@@ -20,6 +20,7 @@ dagre-d3
Deepdwn
Docsify
Docsy
Doctave
DokuWiki
dompurify
elkjs
@@ -56,12 +57,15 @@ redmine
rehype
roughjs
rscratch
shiki
Slidev
sparkline
sphinxcontrib
ssim
stylis
Swimm
tsbuildinfo
tseslint
Tuleap
Typora
unocss

View File

@@ -9,7 +9,7 @@ elems
gantt
gitgraph
gzipped
handdrawn
handDrawn
knsv
Knut
marginx

View File

@@ -1,4 +1,6 @@
BRANDES
circo
handdrawnSeed
handDrawn
KOEPF
neato
newbranch

View File

@@ -2,7 +2,8 @@ import { build } from 'esbuild';
import { mkdir, writeFile } from 'node:fs/promises';
import { packageOptions } from '../.build/common.js';
import { generateLangium } from '../.build/generateLangium.js';
import { MermaidBuildOptions, defaultOptions, getBuildConfig } from './util.js';
import type { MermaidBuildOptions } from './util.js';
import { defaultOptions, getBuildConfig } from './util.js';
const shouldVisualize = process.argv.includes('--visualize');
@@ -35,11 +36,11 @@ const buildPackage = async (entryName: keyof typeof packageOptions) => {
if (shouldVisualize) {
for (const { metafile } of results) {
if (!metafile) {
if (!metafile?.outputs) {
continue;
}
const fileName = Object.keys(metafile.outputs)
.filter((file) => !file.includes('chunks') && file.endsWith('js'))[0]
.find((file) => !file.includes('chunks') && file.endsWith('js'))
.replace('dist/', '');
// Upload metafile into https://esbuild.github.io/analyze/
await writeFile(`stats/${fileName}.meta.json`, JSON.stringify(metafile));
@@ -48,13 +49,14 @@ const buildPackage = async (entryName: keyof typeof packageOptions) => {
};
const handler = (e) => {
// eslint-disable-next-line no-console
console.error(e);
process.exit(1);
};
const main = async () => {
await generateLangium();
await mkdir('stats').catch(() => {});
await mkdir('stats', { recursive: true });
const packageNames = Object.keys(packageOptions) as (keyof typeof packageOptions)[];
// it should build `parser` before `mermaid` because it's a dependency
for (const pkg of packageNames) {

View File

@@ -1,6 +1,6 @@
import { readFile } from 'node:fs/promises';
import { transformJison } from '../.build/jisonTransformer.js';
import { Plugin } from 'esbuild';
import type { Plugin } from 'esbuild';
export const jisonPlugin: Plugin = {
name: 'jison',

View File

@@ -1,11 +1,12 @@
import express from 'express';
import type { NextFunction, Request, Response } from 'express';
import cors from 'cors';
import { getBuildConfig, defaultOptions } from './util.js';
import { context } from 'esbuild';
/* eslint-disable no-console */
import chokidar from 'chokidar';
import { generateLangium } from '../.build/generateLangium.js';
import cors from 'cors';
import { context } from 'esbuild';
import type { Request, Response } from 'express';
import express from 'express';
import { packageOptions } from '../.build/common.js';
import { generateLangium } from '../.build/generateLangium.js';
import { defaultOptions, getBuildConfig } from './util.js';
const configs = Object.values(packageOptions).map(({ packageName }) =>
getBuildConfig({ ...defaultOptions, minify: false, core: false, entryName: packageName })
@@ -19,16 +20,28 @@ const mermaidIIFEConfig = getBuildConfig({
});
configs.push(mermaidIIFEConfig);
const contexts = await Promise.all(configs.map((config) => context(config)));
const contexts = await Promise.all(
configs.map(async (config) => ({ config, context: await context(config) }))
);
let rebuildCounter = 1;
const rebuildAll = async () => {
console.time('Rebuild time');
await Promise.all(contexts.map((ctx) => ctx.rebuild())).catch((e) => console.error(e));
console.timeEnd('Rebuild time');
const buildNumber = rebuildCounter++;
const timeLabel = `Rebuild ${buildNumber} Time (total)`;
console.time(timeLabel);
await Promise.all(
contexts.map(async ({ config, context }) => {
const buildVariant = `Rebuild ${buildNumber} Time (${Object.keys(config.entryPoints!)[0]} ${config.format})`;
console.time(buildVariant);
await context.rebuild();
console.timeEnd(buildVariant);
})
).catch((e) => console.error(e));
console.timeEnd(timeLabel);
};
let clients: { id: number; response: Response }[] = [];
function eventsHandler(request: Request, response: Response, next: NextFunction) {
function eventsHandler(request: Request, response: Response) {
const headers = {
'Content-Type': 'text/event-stream',
Connection: 'keep-alive',
@@ -45,19 +58,20 @@ function eventsHandler(request: Request, response: Response, next: NextFunction)
});
}
let timeoutId: NodeJS.Timeout | undefined = undefined;
let timeoutID: NodeJS.Timeout | undefined = undefined;
/**
* Debounce file change events to avoid rebuilding multiple times.
*/
function handleFileChange() {
if (timeoutId !== undefined) {
clearTimeout(timeoutId);
if (timeoutID !== undefined) {
clearTimeout(timeoutID);
}
timeoutId = setTimeout(async () => {
// eslint-disable-next-line @typescript-eslint/no-misused-promises
timeoutID = setTimeout(async () => {
await rebuildAll();
sendEventsToAll();
timeoutId = undefined;
timeoutID = undefined;
}, 100);
}
@@ -74,15 +88,16 @@ async function createServer() {
ignoreInitial: true,
ignored: [/node_modules/, /dist/, /docs/, /coverage/],
})
// eslint-disable-next-line @typescript-eslint/no-misused-promises
.on('all', async (event, path) => {
// Ignore other events.
if (!['add', 'change'].includes(event)) {
return;
}
if (/\.langium$/.test(path)) {
console.log(`${path} changed. Rebuilding...`);
if (path.endsWith('.langium')) {
await generateLangium();
}
console.log(`${path} changed. Rebuilding...`);
handleFileChange();
});
@@ -99,4 +114,4 @@ async function createServer() {
});
}
createServer();
void createServer();

View File

@@ -56,7 +56,7 @@ export const getBuildConfig = (options: MermaidBuildOptions): BuildOptions => {
const external: string[] = ['require', 'fs', 'path'];
const { name, file, packageName } = packageOptions[entryName];
const outFileName = getFileName(name, options);
let output: BuildOptions = buildOptions({
const output: BuildOptions = buildOptions({
absWorkingDir: resolve(__dirname, `../packages/${packageName}`),
entryPoints: {
[outFileName]: `src/${file}`,

View File

@@ -1 +0,0 @@
.gitignore

View File

@@ -1,190 +0,0 @@
module.exports = {
env: {
browser: true,
es6: true,
'jest/globals': true,
node: true,
},
root: true,
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: {
experimentalObjectRestSpread: true,
jsx: true,
},
tsconfigRootDir: __dirname,
sourceType: 'module',
ecmaVersion: 2022,
allowAutomaticSingleRunInference: true,
project: ['./tsconfig.eslint.json', './packages/*/tsconfig.json'],
parser: '@typescript-eslint/parser',
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:json/recommended',
'plugin:markdown/recommended-legacy',
'plugin:@cspell/recommended',
'prettier',
],
plugins: [
'@typescript-eslint',
'no-only-tests',
'html',
'jest',
'jsdoc',
'json',
'@cspell',
'lodash',
'unicorn',
],
ignorePatterns: [
// this file is automatically generated by `pnpm run --filter mermaid types:build-config`
'packages/mermaid/src/config.type.ts',
],
rules: {
curly: 'error',
'no-console': 'error',
'no-prototype-builtins': 'off',
'no-unused-vars': 'off',
'cypress/no-async-tests': 'off',
'@typescript-eslint/consistent-type-imports': 'error',
'@typescript-eslint/no-explicit-any': 'warn',
'@typescript-eslint/no-floating-promises': 'error',
'@typescript-eslint/no-misused-promises': 'error',
'@typescript-eslint/no-unused-vars': 'warn',
'@typescript-eslint/consistent-type-definitions': 'error',
'@typescript-eslint/ban-ts-comment': [
'error',
{
'ts-expect-error': 'allow-with-description',
'ts-ignore': 'allow-with-description',
'ts-nocheck': 'allow-with-description',
'ts-check': 'allow-with-description',
minimumDescriptionLength: 10,
},
],
'@typescript-eslint/naming-convention': [
'error',
{
selector: 'typeLike',
format: ['PascalCase'],
custom: {
regex: '^I[A-Z]',
match: false,
},
},
],
'json/*': ['error', 'allowComments'],
'@cspell/spellchecker': [
'error',
{
checkIdentifiers: true,
checkStrings: true,
checkStringTemplates: true,
},
],
'no-empty': [
'error',
{
allowEmptyCatch: true,
},
],
'no-only-tests/no-only-tests': 'error',
'lodash/import-scope': ['error', 'method'],
'unicorn/better-regex': 'error',
'unicorn/no-abusive-eslint-disable': 'error',
'unicorn/no-array-push-push': 'error',
'unicorn/no-for-loop': 'error',
'unicorn/no-instanceof-array': 'error',
'unicorn/no-typeof-undefined': 'error',
'unicorn/no-unnecessary-await': 'error',
'unicorn/no-unsafe-regex': 'warn',
'unicorn/no-useless-promise-resolve-reject': 'error',
'unicorn/prefer-array-find': 'error',
'unicorn/prefer-array-flat-map': 'error',
'unicorn/prefer-array-index-of': 'error',
'unicorn/prefer-array-some': 'error',
'unicorn/prefer-default-parameters': 'error',
'unicorn/prefer-includes': 'error',
'unicorn/prefer-negative-index': 'error',
'unicorn/prefer-object-from-entries': 'error',
'unicorn/prefer-string-starts-ends-with': 'error',
'unicorn/prefer-string-trim-start-end': 'error',
'unicorn/string-content': 'error',
'unicorn/prefer-spread': 'error',
'unicorn/no-lonely-if': 'error',
},
overrides: [
{
files: ['cypress/**', 'demos/**'],
rules: {
'no-console': 'off',
},
},
{
files: ['*.{js,jsx,mjs,cjs}'],
extends: ['plugin:jsdoc/recommended'],
rules: {
'jsdoc/check-indentation': 'off',
'jsdoc/check-alignment': 'off',
'jsdoc/check-line-alignment': 'off',
'jsdoc/multiline-blocks': 'off',
'jsdoc/newline-after-description': 'off',
'jsdoc/tag-lines': 'off',
'jsdoc/require-param-description': 'off',
'jsdoc/require-param-type': 'off',
'jsdoc/require-returns': 'off',
'jsdoc/require-returns-description': 'off',
},
},
{
files: ['*.{ts,tsx}'],
plugins: ['tsdoc'],
rules: {
'no-restricted-syntax': [
'error',
{
selector: 'TSEnumDeclaration',
message:
'Prefer using TypeScript union types over TypeScript enum, since TypeScript enums have a bunch of issues, see https://dev.to/dvddpl/whats-the-problem-with-typescript-enums-2okj',
},
],
'tsdoc/syntax': 'error',
},
},
{
files: ['*.spec.{ts,js}', 'cypress/**', 'demos/**', '**/docs/**'],
rules: {
'jsdoc/require-jsdoc': 'off',
'@typescript-eslint/no-unused-vars': 'off',
},
},
{
files: ['*.spec.{ts,js}', 'tests/**', 'cypress/**/*.js'],
rules: {
'@cspell/spellchecker': [
'error',
{
checkIdentifiers: false,
checkStrings: false,
checkStringTemplates: false,
},
],
},
},
{
files: ['*.html', '*.md', '**/*.md/*'],
rules: {
'no-var': 'error',
'no-undef': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-floating-promises': 'off',
'@typescript-eslint/no-misused-promises': 'off',
},
parserOptions: {
project: null,
},
},
],
};

5
.github/lychee.toml vendored
View File

@@ -41,7 +41,10 @@ exclude = [
"https://bundlephobia.com",
# Chrome webstore migration issue. Temporary
"https://chromewebstore.google.com"
"https://chromewebstore.google.com",
# Drupal 403
"https://(www.)?drupal.org"
]
# Exclude all private IPs from checking.

View File

@@ -15,4 +15,4 @@ Make sure you
- [ ] :book: have read the [contribution guidelines](https://mermaid.js.org/community/contributing.html)
- [ ] :computer: have added necessary unit/e2e tests.
- [ ] :notebook: have added documentation. Make sure [`MERMAID_RELEASE_VERSION`](https://mermaid.js.org/community/contributing.html#update-documentation) is used for all new features.
- [ ] :bookmark: targeted `develop` branch
- [ ] :butterfly: If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running `pnpm changeset` and following the prompts. Changesets that add features should be `minor` and those that fix bugs should be `patch`. Please prefix changeset messages with `feat:`, `fix:`, or `chore:`.

View File

@@ -1,36 +0,0 @@
name-template: '$NEXT_PATCH_VERSION'
tag-template: '$NEXT_PATCH_VERSION'
categories:
- title: '🚨 **Breaking Changes**'
labels:
- 'Breaking Change'
- title: '🚀 Features'
labels:
- 'Type: Enhancement'
- 'feature' # deprecated, new PRs shouldn't have this
- title: '🐛 Bug Fixes'
labels:
- 'Type: Bug / Error'
- 'fix' # deprecated, new PRs shouldn't have this
- title: '🧰 Maintenance'
labels:
- 'Type: Other'
- 'chore' # deprecated, new PRs shouldn't have this
- title: '⚡️ Performance'
labels:
- 'Type: Performance'
- title: '📚 Documentation'
labels:
- 'Area: Documentation'
change-template: '- $TITLE (#$NUMBER) @$AUTHOR'
sort-by: title
sort-direction: ascending
exclude-labels:
- 'Skip changelog'
no-changes-template: 'This release contains minor changes and bugfixes.'
template: |
# Release Notes
$CHANGES
🎉 **Thanks to all contributors helping with this release!** 🎉

43
.github/workflows/autofix.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
name: autofix.ci # needed to securely identify the workflow
on:
pull_request:
branches-ignore:
- 'renovate/**'
permissions:
contents: read
jobs:
autofix:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js
uses: actions/setup-node@v4
with:
cache: pnpm
node-version-file: '.node-version'
- name: Install Packages
run: |
pnpm install --frozen-lockfile
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
- name: Fix Linting
shell: bash
run: pnpm -w run lint:fix
- name: Sync `./src/config.type.ts` with `./src/schemas/config.schema.yaml`
shell: bash
run: pnpm run --filter mermaid types:build-config
- name: Build Docs
working-directory: ./packages/mermaid
run: pnpm run docs:build
- uses: autofix-ci/action@ff86a557419858bb967097bfc916833f5647fa8c

View File

@@ -18,7 +18,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4

View File

@@ -18,7 +18,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js

View File

@@ -32,7 +32,7 @@ jobs:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js

View File

@@ -1,9 +1,3 @@
# We use github cache to save snapshots between runs.
# For PRs and MergeQueues, the target commit is used, and for push events, github.event.previous is used.
# If a snapshot for a given Hash is not found, we checkout that commit, run the tests and cache the snapshots.
# These are then downloaded before running the E2E, providing the reference snapshots.
# If there are any errors, the diff image is uploaded to artifacts, and the user is notified.
name: E2E
on:
@@ -30,6 +24,7 @@ env:
) ||
github.event.before
}}
shouldRunParallel: ${{ secrets.CYPRESS_RECORD_KEY != '' && !(github.event_name == 'push' && github.ref == 'refs/heads/develop') }}
jobs:
cache:
runs-on: ubuntu-latest
@@ -38,7 +33,7 @@ jobs:
options: --user 1001
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
@@ -72,16 +67,6 @@ jobs:
mkdir -p cypress/snapshots/stats/base
mv stats cypress/snapshots/stats/base
- name: Cypress run
uses: cypress-io/github-action@v6
id: cypress-snapshot-gen
if: ${{ steps.cache-snapshot.outputs.cache-hit != 'true' }}
with:
install: false
start: pnpm run dev
wait-on: 'http://localhost:9000'
browser: chrome
e2e:
runs-on: ubuntu-latest
container:
@@ -95,7 +80,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js
@@ -132,7 +117,7 @@ jobs:
id: cypress
# If CYPRESS_RECORD_KEY is set, run in parallel on all containers
# Otherwise (e.g. if running from fork), we run on a single container only
if: ${{ ( env.CYPRESS_RECORD_KEY != '' ) || ( matrix.containers == 1 ) }}
if: ${{ env.shouldRunParallel == 'true' || ( matrix.containers == 1 ) }}
with:
install: false
start: pnpm run dev:coverage
@@ -140,12 +125,16 @@ jobs:
browser: chrome
# Disable recording if we don't have an API key
# e.g. if this action was run from a fork
record: ${{ secrets.CYPRESS_RECORD_KEY != '' }}
parallel: ${{ secrets.CYPRESS_RECORD_KEY != '' }}
record: ${{ env.shouldRunParallel == 'true' }}
parallel: ${{ env.shouldRunParallel == 'true' }}
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
VITEST_COVERAGE: true
CYPRESS_COMMIT: ${{ github.sha }}
ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }}
ARGOS_PARALLEL: ${{ env.shouldRunParallel == 'true' }}
ARGOS_PARALLEL_TOTAL: 4
ARGOS_PARALLEL_INDEX: ${{ matrix.containers }}
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v4
@@ -158,55 +147,3 @@ jobs:
fail_ci_if_error: false
verbose: true
token: 6845cc80-77ee-4e17-85a1-026cd95e0766
# We upload the artifacts into numbered archives to prevent overwriting
- name: Upload Artifacts
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: snapshots-${{ matrix.containers }}
retention-days: 1
path: ./cypress/snapshots
combineArtifacts:
needs: e2e
runs-on: ubuntu-latest
if: ${{ always() }}
steps:
# Download all snapshot artifacts and merge them into a single folder
- name: Download All Artifacts
uses: actions/download-artifact@v4
with:
path: snapshots
pattern: snapshots-*
merge-multiple: true
# For successful push events, we save the snapshots cache
- name: Save snapshots cache
id: cache-upload
if: ${{ github.event_name == 'push' && needs.e2e.result != 'failure' }}
uses: actions/cache/save@v4
with:
path: ./snapshots
key: ${{ runner.os }}-snapshots-${{ github.event.after }}
- name: Flatten images to a folder
if: ${{ needs.e2e.result == 'failure' }}
run: |
mkdir errors
cd snapshots
find . -mindepth 2 -type d -name "*__diff_output__*" -exec sh -c 'mv "$0"/*.png ../errors/' {} \;
- name: Upload Error snapshots
if: ${{ needs.e2e.result == 'failure' }}
uses: actions/upload-artifact@v4
id: upload-artifacts
with:
name: error-snapshots
retention-days: 10
path: errors/
- name: Notify Users
if: ${{ needs.e2e.result == 'failure' }}
run: |
echo "::error title=Visual tests failed::You can view images that failed by downloading the error-snapshots artifact: ${{ steps.upload-artifacts.outputs.artifact-url }}"

View File

@@ -19,7 +19,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js
@@ -82,15 +82,3 @@ jobs:
working-directory: ./packages/mermaid
continue-on-error: ${{ github.event_name == 'push' }}
run: pnpm run docs:verify
- name: Rebuild Docs
if: ${{ steps.verifyDocs.outcome == 'failure' && github.event_name == 'push' }}
working-directory: ./packages/mermaid
run: pnpm run docs:build
- name: Commit changes
uses: EndBug/add-and-commit@v9
if: ${{ steps.verifyDocs.outcome == 'failure' && github.event_name == 'push' }}
with:
message: 'Update docs'
add: 'docs/*'

View File

@@ -25,7 +25,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4

View File

@@ -1,23 +0,0 @@
name: Draft Release
on:
push:
branches:
- master
permissions:
contents: read
jobs:
draft-release:
runs-on: ubuntu-latest
permissions:
contents: write # write permission is required to create a GitHub release
pull-requests: read # required to read PR titles/labels
steps:
- name: Draft Release
uses: release-drafter/release-drafter@v6
with:
disable-autolabeler: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -13,7 +13,7 @@ jobs:
with:
fetch-depth: 0
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4

View File

@@ -11,7 +11,7 @@ jobs:
- uses: actions/checkout@v4
- uses: fregante/setup-git-user@v2
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js

37
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: Release
on:
push:
branches:
- master
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
cache: pnpm
node-version-file: '.node-version'
- name: Install Packages
run: pnpm install --frozen-lockfile
- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
version: pnpm changeset:version
publish: pnpm changeset:publish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

View File

@@ -11,7 +11,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
# uses version from "packageManager" field in package.json
- name: Setup Node.js

View File

@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: pnpm/action-setup@v4
- run: npx update-browserslist-db@latest
- name: Commit changes
uses: EndBug/add-and-commit@v9

View File

@@ -1,4 +1,5 @@
import { build, InlineConfig, type PluginOption } from 'vite';
import type { InlineConfig } from 'vite';
import { build, type PluginOption } from 'vite';
import { resolve } from 'path';
import { fileURLToPath } from 'url';
import jisonPlugin from './jisonPlugin.js';
@@ -46,9 +47,10 @@ interface BuildOptions {
export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions): InlineConfig => {
const external: (string | RegExp)[] = ['require', 'fs', 'path'];
// eslint-disable-next-line no-console
console.log(entryName, packageOptions[entryName]);
const { name, file, packageName } = packageOptions[entryName];
let output: OutputOptions = [
const output: OutputOptions = [
{
name,
format: 'esm',
@@ -83,7 +85,6 @@ export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions)
plugins: [
jisonPlugin(),
jsonSchemaPlugin(), // handles `.schema.yaml` files
// @ts-expect-error According to the type definitions, rollup plugins are incompatible with vite
typescript({ compilerOptions: { declaration: false } }),
istanbul({
exclude: ['node_modules', 'test/', '__mocks__', 'generated'],
@@ -121,10 +122,10 @@ await generateLangium();
if (watch) {
await build(getBuildConfig({ minify: false, watch, core: false, entryName: 'parser' }));
build(getBuildConfig({ minify: false, watch, core: false, entryName: 'mermaid' }));
void build(getBuildConfig({ minify: false, watch, core: false, entryName: 'mermaid' }));
if (!mermaidOnly) {
build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-example-diagram' }));
build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-zenuml' }));
void build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-example-diagram' }));
void build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-zenuml' }));
}
} else if (visualize) {
await build(getBuildConfig({ minify: false, watch, core: false, entryName: 'parser' }));

View File

@@ -1,4 +1,4 @@
import { PluginOption } from 'vite';
import type { PluginOption } from 'vite';
import { getDefaults, getSchema, loadSchema } from '../.build/jsonSchema.js';
/**

View File

@@ -23,8 +23,9 @@ async function createServer() {
app.use(express.static('cypress/platform'));
app.listen(9000, () => {
// eslint-disable-next-line no-console
console.log(`Listening on http://localhost:9000`);
});
}
createServer();
void createServer();

View File

@@ -35,6 +35,7 @@ Try Live Editor previews of future releases: <a href="https://develop.git.mermai
[![NPM Downloads](https://img.shields.io/npm/dm/mermaid)](https://www.npmjs.com/package/mermaid)
[![Join our Discord!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=discord&label=discord)](https://discord.gg/AgrbSrBer3)
[![Twitter Follow](https://img.shields.io/badge/Social-mermaidjs__-blue?style=social&logo=X)](https://twitter.com/mermaidjs_)
[![Covered by Argos Visual Testing](https://argos-ci.com/badge.svg)](https://argos-ci.com)
<img src="./img/header.png" alt="" />

View File

@@ -2,6 +2,8 @@ import { defineConfig } from 'cypress';
import { addMatchImageSnapshotPlugin } from 'cypress-image-snapshot/plugin';
import coverage from '@cypress/code-coverage/task';
import eyesPlugin from '@applitools/eyes-cypress';
import { registerArgosTask } from '@argos-ci/cypress/task';
export default eyesPlugin(
defineConfig({
projectId: 'n2sma2',
@@ -17,10 +19,17 @@ export default eyesPlugin(
}
return launchOptions;
});
addMatchImageSnapshotPlugin(on, config);
// copy any needed variables from process.env to config.env
config.env.useAppli = process.env.USE_APPLI ? true : false;
config.env.useArgos = !!process.env.CI;
if (config.env.useArgos) {
registerArgosTask(on, config, {
token: 'fc3a35cf5200db928d65b2047861582d9444032b',
});
} else {
addMatchImageSnapshotPlugin(on, config);
}
// do not forget to return the changed config object!
return config;
},

View File

@@ -35,7 +35,7 @@ export const mermaidUrl = (
};
const objStr: string = JSON.stringify(codeObject);
let url = `http://localhost:9000/e2e.html?graph=${utf8ToB64(objStr)}`;
if (api) {
if (api && typeof graphStr === 'string') {
url = `http://localhost:9000/xss.html?graph=${graphStr}`;
}
@@ -54,16 +54,15 @@ export const imgSnapshotTest = (
): void => {
const options: CypressMermaidConfig = {
..._options,
fontFamily: _options.fontFamily || 'courier',
fontFamily: _options.fontFamily ?? 'courier',
// @ts-ignore TODO: Fix type of fontSize
fontSize: _options.fontSize || '16px',
fontSize: _options.fontSize ?? '16px',
sequence: {
...(_options.sequence || {}),
...(_options.sequence ?? {}),
actorFontFamily: 'courier',
noteFontFamily:
_options.sequence && _options.sequence.noteFontFamily
? _options.sequence.noteFontFamily
: 'courier',
noteFontFamily: _options.sequence?.noteFontFamily
? _options.sequence.noteFontFamily
: 'courier',
messageFontFamily: 'courier',
},
};
@@ -95,8 +94,22 @@ export const openURLAndVerifyRendering = (
options: CypressMermaidConfig,
validation?: any
): void => {
const name: string = (options.name ?? cy.state('runnable').fullTitle()).replace(/\s+/g, '-');
cy.visit(url);
cy.window().should('have.property', 'rendered', true);
cy.get('svg').should('be.visible');
if (validation) {
cy.get('svg').should(validation);
}
verifyScreenshot(name);
};
export const verifyScreenshot = (name: string): void => {
const useAppli: boolean = Cypress.env('useAppli');
const name: string = (options.name || cy.state('runnable').fullTitle()).replace(/\s+/g, '-');
const useArgos: boolean = Cypress.env('useArgos');
if (useAppli) {
cy.log(`Opening eyes ${Cypress.spec.name} --- ${name}`);
@@ -106,21 +119,14 @@ export const openURLAndVerifyRendering = (
batchName: Cypress.spec.name,
batchId: batchId + Cypress.spec.name,
});
}
cy.visit(url);
// cy.window().should('have.property', 'rendered', true);
cy.get('svg').should('be.visible');
if (validation) {
cy.get('svg').should(validation);
}
if (useAppli) {
cy.log(`Check eyes ${Cypress.spec.name}`);
cy.eyesCheckWindow('Click!');
cy.log(`Closing eyes ${Cypress.spec.name}`);
cy.eyesClose();
} else if (useArgos) {
cy.argosScreenshot(name, {
threshold: 0.01,
});
} else {
cy.matchImageSnapshot(name);
}

View File

@@ -1,4 +1,4 @@
import { renderGraph } from '../../helpers/util.ts';
import { renderGraph, verifyScreenshot } from '../../helpers/util.ts';
describe('Configuration', () => {
describe('arrowMarkerAbsolute', () => {
it('should handle default value false of arrowMarkerAbsolute', () => {
@@ -119,8 +119,7 @@ describe('Configuration', () => {
const url = 'http://localhost:9000/regression/issue-1874.html';
cy.visit(url);
cy.window().should('have.property', 'rendered', true);
cy.get('svg').should('be.visible');
cy.matchImageSnapshot(
verifyScreenshot(
'configuration.spec-should-not-taint-initial-configuration-when-using-multiple-directives'
);
});
@@ -145,7 +144,7 @@ describe('Configuration', () => {
// none of the diagrams should be error diagrams
expect($svg).to.not.contain('Syntax error');
});
cy.matchImageSnapshot(
verifyScreenshot(
'configuration.spec-should-not-render-error-diagram-if-suppressErrorRendering-is-set'
);
});
@@ -162,7 +161,7 @@ describe('Configuration', () => {
// some of the diagrams should be error diagrams
expect($svg).to.contain('Syntax error');
});
cy.matchImageSnapshot(
verifyScreenshot(
'configuration.spec-should-render-error-diagram-if-suppressErrorRendering-is-not-set'
);
});

View File

@@ -1,14 +0,0 @@
import { urlSnapshotTest, openURLAndVerifyRendering } from '../../helpers/util.ts';
describe('Flowchart elk', () => {
it('should use dagre as fallback', () => {
urlSnapshotTest('http://localhost:9000/flow-elk.html', {
name: 'flow-elk fallback to dagre',
});
});
it('should allow overriding with external package', () => {
urlSnapshotTest('http://localhost:9000/flow-elk.html?elk=true', {
name: 'flow-elk overriding dagre with elk',
});
});
});

View File

@@ -10,7 +10,6 @@ describe('XSS', () => {
cy.wait(1000).then(() => {
cy.get('.mermaid').should('exist');
});
cy.get('svg');
});
it('should not allow tags in the css', () => {

View File

@@ -11,6 +11,27 @@ describe('Git Graph diagram', () => {
{}
);
});
it('Should render subgraphs with title margins and edge labels', () => {
imgSnapshotTest(
`flowchart LR
subgraph TOP
direction TB
subgraph B1
direction RL
i1 --lb1-->f1
end
subgraph B2
direction BT
i2 --lb2-->f2
end
end
A --lb3--> TOP --lb4--> B
B1 --lb5--> B2
`,
{ flowchart: { subGraphTitleMargin: { top: 10, bottom: 5 } } }
);
});
// it(`ultraFastTest`, function () {
// // Navigate to the url we want to test
// // ⭐️ Note to see visual bugs, run the test using the above URL for the 1st run.

View File

@@ -236,7 +236,7 @@ describe('Block diagram', () => {
);
});
it('BL16: width alignment - blocks shold be equal in width', () => {
it('BL17: width alignment - blocks shold be equal in width', () => {
imgSnapshotTest(
`block-beta
A("This is the text")
@@ -247,7 +247,7 @@ describe('Block diagram', () => {
);
});
it('BL17: block types 1 - square, rounded and circle', () => {
it('BL18: block types 1 - square, rounded and circle', () => {
imgSnapshotTest(
`block-beta
A["square"]
@@ -258,7 +258,7 @@ describe('Block diagram', () => {
);
});
it('BL18: block types 2 - odd, diamond and hexagon', () => {
it('BL19: block types 2 - odd, diamond and hexagon', () => {
imgSnapshotTest(
`block-beta
A>"rect_left_inv_arrow"]
@@ -269,7 +269,7 @@ describe('Block diagram', () => {
);
});
it('BL19: block types 3 - stadium', () => {
it('BL20: block types 3 - stadium', () => {
imgSnapshotTest(
`block-beta
A(["stadium"])
@@ -278,7 +278,7 @@ describe('Block diagram', () => {
);
});
it('BL20: block types 4 - lean right, lean left, trapezoid and inv trapezoid', () => {
it('BL21: block types 4 - lean right, lean left, trapezoid and inv trapezoid', () => {
imgSnapshotTest(
`block-beta
A[/"lean right"/]
@@ -290,7 +290,7 @@ describe('Block diagram', () => {
);
});
it('BL21: block types 1 - square, rounded and circle', () => {
it('BL22: block types 1 - square, rounded and circle', () => {
imgSnapshotTest(
`block-beta
A["square"]
@@ -301,7 +301,7 @@ describe('Block diagram', () => {
);
});
it('BL22: sizing - it should be possible to make a block wider', () => {
it('BL23: sizing - it should be possible to make a block wider', () => {
imgSnapshotTest(
`block-beta
A("rounded"):2
@@ -312,7 +312,7 @@ describe('Block diagram', () => {
);
});
it('BL23: sizing - it should be possible to make a composite block wider', () => {
it('BL24: sizing - it should be possible to make a composite block wider', () => {
imgSnapshotTest(
`block-beta
block:2
@@ -324,7 +324,7 @@ describe('Block diagram', () => {
);
});
it('BL24: block in the middle with space on each side', () => {
it('BL25: block in the middle with space on each side', () => {
imgSnapshotTest(
`block-beta
columns 3
@@ -335,7 +335,7 @@ describe('Block diagram', () => {
{}
);
});
it('BL25: space and an edge', () => {
it('BL26: space and an edge', () => {
imgSnapshotTest(
`block-beta
columns 5
@@ -345,7 +345,7 @@ describe('Block diagram', () => {
{}
);
});
it('BL26: block sizes for regular blocks', () => {
it('BL27: block sizes for regular blocks', () => {
imgSnapshotTest(
`block-beta
columns 3
@@ -354,7 +354,7 @@ describe('Block diagram', () => {
{}
);
});
it('BL27: composite block with a set width - f should use the available space', () => {
it('BL28: composite block with a set width - f should use the available space', () => {
imgSnapshotTest(
`block-beta
columns 3
@@ -363,11 +363,12 @@ describe('Block diagram', () => {
f
end
g
`,
`,
{}
);
});
it('BL23: composite block with a set width - f and g should split the available space', () => {
it('BL29: composite block with a set width - f and g should split the available space', () => {
imgSnapshotTest(
`block-beta
columns 3
@@ -379,7 +380,7 @@ describe('Block diagram', () => {
h
i
j
`,
`,
{}
);
});

View File

@@ -1,7 +1,7 @@
import { imgSnapshotTest, renderGraph } from '../../helpers/util.ts';
describe('C4 diagram', () => {
it('should render a simple C4Context diagram', () => {
it('C4.1 should render a simple C4Context diagram', () => {
imgSnapshotTest(
`
C4Context
@@ -30,9 +30,8 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
it('should render a simple C4Container diagram', () => {
it('C4.2 should render a simple C4Container diagram', () => {
imgSnapshotTest(
`
C4Container
@@ -50,9 +49,8 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
it('should render a simple C4Component diagram', () => {
it('C4.3 should render a simple C4Component diagram', () => {
imgSnapshotTest(
`
C4Component
@@ -69,9 +67,8 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
it('should render a simple C4Dynamic diagram', () => {
it('C4.4 should render a simple C4Dynamic diagram', () => {
imgSnapshotTest(
`
C4Dynamic
@@ -93,9 +90,8 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
it('should render a simple C4Deployment diagram', () => {
it('C4.5 should render a simple C4Deployment diagram', () => {
imgSnapshotTest(
`
C4Deployment
@@ -117,6 +113,5 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
});

View File

@@ -76,7 +76,7 @@ describe('Class diagram V2', () => {
);
});
it('should render a simple class diagram with different visibilities', () => {
it('2.1 should render a simple class diagram with different visibilities', () => {
imgSnapshotTest(
`
classDiagram-v2
@@ -93,7 +93,7 @@ describe('Class diagram V2', () => {
);
});
it('should render multiple class diagrams', () => {
it('3: should render multiple class diagrams', () => {
imgSnapshotTest(
[
`

View File

@@ -32,7 +32,6 @@ describe('Class diagram', () => {
`,
{ logLevel: 1 }
);
cy.get('svg');
});
it('2: should render a simple class diagrams with cardinality', () => {
@@ -61,7 +60,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('3: should render a simple class diagram with different visibilities', () => {
@@ -79,7 +77,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('4: should render a simple class diagram with comments', () => {
@@ -109,7 +106,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('5: should render a simple class diagram with abstract method', () => {
@@ -121,7 +117,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('6: should render a simple class diagram with static method', () => {
@@ -133,7 +128,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('7: should render a simple class diagram with Generic class', () => {
@@ -153,7 +147,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('8: should render a simple class diagram with Generic class and relations', () => {
@@ -174,7 +167,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('9: should render a simple class diagram with clickable link', () => {
@@ -196,7 +188,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('10: should render a simple class diagram with clickable callback', () => {
@@ -218,7 +209,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('11: should render a simple class diagram with return type on method', () => {
@@ -233,7 +223,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('12: should render a simple class diagram with generic types', () => {
@@ -249,7 +238,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('13: should render a simple class diagram with css classes applied', () => {
@@ -267,7 +255,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('14: should render a simple class diagram with css classes applied directly', () => {
@@ -283,7 +270,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('15: should render a simple class diagram with css classes applied to multiple classes', () => {
@@ -298,7 +284,6 @@ describe('Class diagram', () => {
`,
{}
);
cy.get('svg');
});
it('16: should render multiple class diagrams', () => {
@@ -351,7 +336,6 @@ describe('Class diagram', () => {
],
{}
);
cy.get('svg');
});
// it('17: should render a class diagram when useMaxWidth is true (default)', () => {
@@ -421,7 +405,6 @@ describe('Class diagram', () => {
`,
{ logLevel: 1 }
);
cy.get('svg');
});
it('should render class diagram with newlines in title', () => {
@@ -439,7 +422,6 @@ describe('Class diagram', () => {
+quack()
}
`);
cy.get('svg');
});
it('should render class diagram with many newlines in title', () => {

View File

@@ -218,7 +218,6 @@ describe('Entity Relationship Diagram', () => {
`,
{ loglevel: 1 }
);
cy.get('svg');
});
it('should render entities with keys', () => {

View File

@@ -3,7 +3,7 @@ import { imgSnapshotTest } from '../../helpers/util';
describe('Error Diagrams', () => {
beforeEach(() => {
cy.on('uncaught:exception', (err) => {
expect(err.message).to.include('Parse error');
expect(err.message).to.include('error');
// return false to prevent the error from
// failing this test
return false;

View File

@@ -837,6 +837,26 @@ subgraph "\`**Two**\`"
in the hat\`") -- "\`1o **ipa**\`" --> d("The dog in the hog")
end
`,
{ flowchart: { titleTopMargin: 0 } }
);
});
it('Sub graphs and markdown strings', () => {
imgSnapshotTest(
`---
config:
layout: elk
---
flowchart LR
subgraph subgraph_ko6czgs5u["Untitled subgraph"]
D["Option 1"]
end
C{"Evaluate"} -- One --> D
C -- Two --> E(("Option 2"))
D --> E
A["A"]
`,
{ flowchart: { titleTopMargin: 0 } }
);
@@ -855,7 +875,7 @@ describe('Title and arrow styling #4813', () => {
flowchart LR
A-->B
A-->C`,
{ flowchart: { defaultRenderer: 'elk' } }
{ layout: 'elk' }
);
cy.get('svg').should((svg) => {
const title = svg[0].querySelector('text');
@@ -871,15 +891,14 @@ describe('Title and arrow styling #4813', () => {
B-.-oC
C==xD
D ~~~ A`,
{ flowchart: { defaultRenderer: 'elk' } }
{ layout: 'elk' }
);
cy.get('svg').should((svg) => {
const edges = svg[0].querySelectorAll('.edges path');
console.log(edges);
expect(edges[0]).to.have.attr('pattern', 'solid');
expect(edges[1]).to.have.attr('pattern', 'dotted');
expect(edges[2]).to.have.css('stroke-width', '3.5px');
expect(edges[3]).to.have.css('stroke-width', '1.5px');
expect(edges[0].getAttribute('class')).to.contain('edge-pattern-solid');
expect(edges[1].getAttribute('class')).to.contain('edge-pattern-dotted');
expect(edges[2].getAttribute('class')).to.contain('edge-thickness-thick');
expect(edges[3].getAttribute('class')).to.contain('edge-thickness-invisible');
});
});
});

File diff suppressed because it is too large Load Diff

View File

@@ -99,7 +99,7 @@ describe('Flowchart v2', () => {
const style = svg.attr('style');
expect(style).to.match(/^max-width: [\d.]+px;$/);
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
expect(maxWidthValue).to.be.within(290 * 0.95 - 1, 290 * 1.05);
expect(maxWidthValue).to.be.within(417 * 0.95, 417 * 1.05);
});
});
it('8: should render a flowchart when useMaxWidth is false', () => {
@@ -118,7 +118,7 @@ describe('Flowchart v2', () => {
const width = parseFloat(svg.attr('width'));
// use within because the absolute value can be slightly different depending on the environment ±5%
// expect(height).to.be.within(446 * 0.95, 446 * 1.05);
expect(width).to.be.within(290 * 0.95 - 1, 290 * 1.05);
expect(width).to.be.within(417 * 0.95, 417 * 1.05);
expect(svg).to.not.have.attr('style');
});
});
@@ -1047,7 +1047,9 @@ end
A --lb3--> TOP --lb4--> B
B1 --lb5--> B2
`,
{ flowchart: { subGraphTitleMargin: { top: 10, bottom: 5 } } }
{
flowchart: { subGraphTitleMargin: { top: 10, bottom: 5 } },
}
);
});
});

View File

@@ -733,7 +733,7 @@ describe('Graph', () => {
});
it('38: should render a flowchart when useMaxWidth is true (default)', () => {
renderGraph(
`graph TD
`flowchart TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
@@ -751,7 +751,7 @@ describe('Graph', () => {
const style = svg.attr('style');
expect(style).to.match(/^max-width: [\d.]+px;$/);
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
expect(maxWidthValue).to.be.within(300 * 0.9, 300 * 1.1);
expect(maxWidthValue).to.be.within(446 * 0.9, 446 * 1.1);
});
});
it('39: should render a flowchart when useMaxWidth is false', () => {
@@ -770,7 +770,7 @@ describe('Graph', () => {
const width = parseFloat(svg.attr('width'));
// use within because the absolute value can be slightly different depending on the environment ±10%
// expect(height).to.be.within(446 * 0.95, 446 * 1.05);
expect(width).to.be.within(300 * 0.9, 300 * 1.1);
expect(width).to.be.within(446 * 0.9, 446 * 1.1);
expect(svg).to.not.have.attr('style');
});
});
@@ -905,13 +905,16 @@ graph TD
it('67: should be able to style default node independently', () => {
imgSnapshotTest(
`
flowchart TD
flowchart TD
classDef default fill:#a34
hello --> default
style default stroke:#000,stroke-width:4px
`,
{ htmlLabels: true, flowchart: { htmlLabels: true }, securityLevel: 'loose' }
{
flowchart: { htmlLabels: true },
securityLevel: 'loose',
}
);
});
});

View File

@@ -1532,5 +1532,41 @@ gitGraph TB:
{}
);
});
it('75: should render a gitGraph with multiple tags on a merge commit on bottom-to-top orientation', () => {
imgSnapshotTest(
`gitGraph BT:
commit id: "ZERO"
branch develop
commit id:"A"
checkout main
commit id:"ONE"
checkout develop
commit id:"B"
checkout main
merge develop id:"Release 1.0" type:HIGHLIGHT tag: "SAML v2.0" tag: "OpenID v1.1"
commit id:"TWO"
checkout develop
commit id:"C"`,
{}
);
});
});
it('76: should render a gitGraph with multiple tags on a merge commit on left-to-right orientation', () => {
imgSnapshotTest(
`gitGraph
commit id: "ZERO"
branch develop
commit id:"A"
checkout main
commit id:"ONE"
checkout develop
commit id:"B"
checkout main
merge develop id:"Release 1.0" type:HIGHLIGHT tag: "SAML v2.0" tag: "OpenID v1.1"
commit id:"TWO"
checkout develop
commit id:"C"`,
{}
);
});
});

View File

@@ -10,6 +10,15 @@ describe('packet structure', () => {
);
});
it('should render a simple packet diagram without ranges', () => {
imgSnapshotTest(
`packet-beta
0: "h"
1: "i"
`
);
});
it('should render a complex packet diagram', () => {
imgSnapshotTest(
`packet-beta

View File

@@ -8,7 +8,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render a complete quadrant chart', () => {
imgSnapshotTest(
@@ -30,7 +29,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render without points', () => {
imgSnapshotTest(
@@ -46,7 +44,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should able to render y-axix on right side', () => {
imgSnapshotTest(
@@ -63,7 +60,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should able to render x-axix on bottom', () => {
imgSnapshotTest(
@@ -80,7 +76,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should able to render x-axix on bottom and y-axis on right', () => {
imgSnapshotTest(
@@ -97,7 +92,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render without title', () => {
imgSnapshotTest(
@@ -112,7 +106,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should use all the config', () => {
imgSnapshotTest(
@@ -135,7 +128,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should use all the theme variable', () => {
imgSnapshotTest(
@@ -158,7 +150,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render x-axis labels in the center, if x-axis has two labels', () => {
imgSnapshotTest(
@@ -180,7 +171,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render y-axis labels in the center, if y-axis has two labels', () => {
imgSnapshotTest(
@@ -202,7 +192,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render both axes labels on the left and bottom, if both axes have only one label', () => {
imgSnapshotTest(
@@ -224,7 +213,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('it should render data points with styles', () => {
@@ -249,7 +237,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('it should render data points with styles + classes', () => {

View File

@@ -44,6 +44,5 @@ describe('Requirement diagram', () => {
`,
{}
);
cy.get('svg');
});
});

View File

@@ -1,8 +1,6 @@
/// <reference types="Cypress" />
import { imgSnapshotTest, renderGraph } from '../../helpers/util.ts';
context('Sequence diagram', () => {
describe('Sequence diagram', () => {
it('should render a sequence diagram with boxes', () => {
renderGraph(
`
@@ -68,6 +66,19 @@ context('Sequence diagram', () => {
{ sequence: { actorFontFamily: 'courier' } }
);
});
it('should render bidirectional arrows', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice<<->>John: Hello John, how are you?
Alice<<-->>John: Hi Alice, I can hear you!
John<<->>Alice: This also works the other way
John<<-->>Alice: Yes
Alice->John: Test
John->>Alice: Still works
`
);
});
it('should handle different line breaks', () => {
imgSnapshotTest(
`
@@ -231,7 +242,7 @@ context('Sequence diagram', () => {
`
);
});
context('font settings', () => {
describe('font settings', () => {
it('should render different note fonts when configured', () => {
imgSnapshotTest(
`
@@ -328,7 +339,7 @@ context('Sequence diagram', () => {
);
});
});
context('auth width scaling', () => {
describe('auth width scaling', () => {
it('should render long actor descriptions', () => {
imgSnapshotTest(
`
@@ -464,6 +475,18 @@ context('Sequence diagram', () => {
{}
);
});
it('should render notes over actors and participant', () => {
imgSnapshotTest(
`
sequenceDiagram
actor Alice
participant Charlie
note over Alice: some note
note over Charlie: other note
`,
{}
);
});
it('should render long messages from an actor to the left to one to the right', () => {
imgSnapshotTest(
`
@@ -505,7 +528,7 @@ context('Sequence diagram', () => {
);
});
});
context('background rects', () => {
describe('background rects', () => {
it('should render a single and nested rects', () => {
imgSnapshotTest(
`
@@ -785,7 +808,7 @@ context('Sequence diagram', () => {
);
});
});
context('directives', () => {
describe('directives', () => {
it('should override config with directive settings', () => {
imgSnapshotTest(
`
@@ -817,7 +840,7 @@ context('Sequence diagram', () => {
);
});
});
context('links', () => {
describe('links', () => {
it('should support actor links', () => {
renderGraph(
`
@@ -833,7 +856,7 @@ context('Sequence diagram', () => {
);
cy.get('#actor0_popup').should((popupMenu) => {
const style = popupMenu.attr('style');
expect(style).to.undefined;
// expect(style).to.undefined;
});
cy.get('#root-0').click();
cy.get('#actor0_popup').should((popupMenu) => {
@@ -908,7 +931,7 @@ context('Sequence diagram', () => {
);
});
});
context('svg size', () => {
describe('svg size', () => {
it('should render a sequence diagram when useMaxWidth is true (default)', () => {
renderGraph(
`
@@ -987,7 +1010,7 @@ context('Sequence diagram', () => {
});
});
});
context('render after error', () => {
describe('render after error', () => {
it('should render diagram after fixing destroy participant error', () => {
cy.on('uncaught:exception', (err) => {
return false;

View File

@@ -8,7 +8,6 @@ describe('State diagram', () => {
`,
{ logLevel: 1, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a simple state diagrams', () => {
imgSnapshotTest(
@@ -20,7 +19,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a long descriptions instead of id when available', () => {
imgSnapshotTest(
@@ -32,7 +30,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a long descriptions with additional descriptions', () => {
imgSnapshotTest(
@@ -44,7 +41,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a single state with short descriptions', () => {
imgSnapshotTest(
@@ -55,7 +51,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a transition descriptions with new lines', () => {
imgSnapshotTest(
@@ -69,7 +64,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a state with a note', () => {
imgSnapshotTest(
@@ -83,7 +77,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a state with on the left side when so specified', () => {
imgSnapshotTest(
@@ -97,7 +90,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a state with a note together with another state', () => {
imgSnapshotTest(
@@ -113,7 +105,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a note with multiple lines in it', () => {
imgSnapshotTest(
@@ -156,7 +147,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a simple state diagrams 2', () => {
imgSnapshotTest(
@@ -169,7 +159,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a simple state diagrams with labels', () => {
imgSnapshotTest(
@@ -185,7 +174,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render state descriptions', () => {
imgSnapshotTest(
@@ -198,7 +186,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render composite states', () => {
imgSnapshotTest(
@@ -217,7 +204,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render multiple composite states', () => {
imgSnapshotTest(
@@ -287,7 +273,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render concurrency states', () => {
imgSnapshotTest(
@@ -311,7 +296,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a state with states in it', () => {
imgSnapshotTest(
@@ -581,6 +565,20 @@ style AState fill:#636,border:1px solid red,color:white;
{ logLevel: 0, fontFamily: 'courier' }
);
});
it(' should allow styles to take effect in stubgraphs', () => {
imgSnapshotTest(
`
stateDiagram
state roundWithTitle {
C: Black with white text
}
D: Black with white text
style C,D stroke:#00f, fill:black, color:white
`,
{ logLevel: 0, fontFamily: 'courier' }
);
});
});
it('1433: should render a simple state diagram with a title', () => {
imgSnapshotTest(
@@ -590,6 +588,20 @@ title: simple state diagram
stateDiagram-v2
[*] --> State1
State1 --> [*]
`,
{}
);
});
it('should align dividers correctly', () => {
imgSnapshotTest(
`stateDiagram-v2
state s2 {
s3
--
s4
--
55
}
`,
{}
);

View File

@@ -10,7 +10,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a long descriptions instead of id when available', () => {
imgSnapshotTest(
@@ -22,7 +21,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a long descriptions with additional descriptions', () => {
imgSnapshotTest(
@@ -34,7 +32,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a single state with short descriptions', () => {
imgSnapshotTest(
@@ -45,7 +42,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a transition descriptions with new lines', () => {
imgSnapshotTest(
@@ -59,7 +55,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a state with a note', () => {
imgSnapshotTest(
@@ -73,7 +68,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a state with on the left side when so specified', () => {
imgSnapshotTest(
@@ -87,7 +81,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a state with a note together with another state', () => {
imgSnapshotTest(
@@ -103,7 +96,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a note with multiple lines in it', () => {
imgSnapshotTest(
@@ -146,7 +138,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a simple state diagrams 2', () => {
imgSnapshotTest(
@@ -159,7 +150,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a simple state diagrams with labels', () => {
imgSnapshotTest(
@@ -175,7 +165,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render state descriptions', () => {
imgSnapshotTest(
@@ -188,7 +177,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render composite states', () => {
imgSnapshotTest(
@@ -207,7 +195,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render multiple composit states', () => {
imgSnapshotTest(
@@ -277,7 +264,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render concurrency states', () => {
imgSnapshotTest(
@@ -301,7 +287,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('should render a state with states in it', () => {
imgSnapshotTest(

View File

@@ -10,7 +10,6 @@ describe('themeCSS balancing, it', () => {
`,
{}
);
cy.get('svg');
});
it('should not allow unbalanced CSS definitions 2', () => {
imgSnapshotTest(
@@ -21,7 +20,6 @@ describe('themeCSS balancing, it', () => {
`,
{}
);
cy.get('svg');
});
});
@@ -45,7 +43,6 @@ describe('Pie Chart', () => {
`,
{ theme }
);
cy.get('svg');
});
it('should render a flowchart diagram', () => {
imgSnapshotTest(
@@ -70,7 +67,6 @@ describe('Pie Chart', () => {
`,
{ theme }
);
cy.get('svg');
});
it('should render a new flowchart diagram', () => {
imgSnapshotTest(
@@ -96,7 +92,6 @@ describe('Pie Chart', () => {
`,
{ theme }
);
cy.get('svg');
});
it('should render a sequence diagram', () => {
imgSnapshotTest(
@@ -125,7 +120,6 @@ describe('Pie Chart', () => {
`,
{ theme }
);
cy.get('svg');
});
it('should render a class diagram', () => {
@@ -175,7 +169,6 @@ describe('Pie Chart', () => {
`,
{ theme }
);
cy.get('svg');
});
it('should render a state diagram', () => {
imgSnapshotTest(
@@ -210,7 +203,6 @@ stateDiagram
`,
{ theme }
);
cy.get('svg');
});
it('should render a state diagram (v2)', () => {
imgSnapshotTest(
@@ -245,7 +237,6 @@ stateDiagram-v2
`,
{ theme }
);
cy.get('svg');
});
it('should render a er diagram', () => {
imgSnapshotTest(
@@ -266,7 +257,6 @@ erDiagram
`,
{ theme }
);
cy.get('svg');
});
it('should render a user journey diagram', () => {
imgSnapshotTest(
@@ -287,7 +277,6 @@ erDiagram
`,
{ theme }
);
cy.get('svg');
});
it('should render a gantt diagram', () => {
cy.clock(new Date('2014-01-06').getTime());
@@ -326,7 +315,6 @@ erDiagram
`,
{ theme }
);
cy.get('svg');
});
});
});

View File

@@ -9,7 +9,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Should render a complete chart', () => {
imgSnapshotTest(
@@ -35,7 +34,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('y-axis title not required', () => {
imgSnapshotTest(
@@ -48,7 +46,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Should render a chart without y-axis with different range', () => {
imgSnapshotTest(
@@ -60,7 +57,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('x axis title not required', () => {
imgSnapshotTest(
@@ -72,7 +68,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Multiple plots can be rendered', () => {
imgSnapshotTest(
@@ -87,7 +82,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Decimals and negative numbers are supported', () => {
imgSnapshotTest(
@@ -98,7 +92,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render spark line with "plotReservedSpacePercent"', () => {
imgSnapshotTest(
@@ -116,7 +109,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render spark bar without displaying other property', () => {
imgSnapshotTest(
@@ -143,7 +135,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Should use all the config from directive', () => {
imgSnapshotTest(
@@ -158,7 +149,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Should use all the config from yaml', () => {
imgSnapshotTest(
@@ -199,7 +189,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render with show axis title false', () => {
imgSnapshotTest(
@@ -221,7 +210,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render with show axis label false', () => {
imgSnapshotTest(
@@ -243,7 +231,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render with show axis tick false', () => {
imgSnapshotTest(
@@ -265,7 +252,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render with show axis line false', () => {
imgSnapshotTest(
@@ -287,7 +273,6 @@ describe('XY Chart', () => {
`,
{}
);
cy.get('svg');
});
it('Render all the theme color', () => {
imgSnapshotTest(
@@ -317,6 +302,17 @@ describe('XY Chart', () => {
`,
{}
);
});
it('should use the correct distances between data points', () => {
imgSnapshotTest(
`
xychart-beta
x-axis 0 --> 2
line [0, 1, 0, 1]
bar [1, 0, 1, 0]
`,
{}
);
cy.get('svg');
});
});

View File

@@ -27,7 +27,7 @@ const code3 = `flowchart TD
A(<img scr='https://iconscout.com/ms-icon-310x310.png' width='20' height='20' />)
B(<b>Bold text!</b>)`;
if (location.href.match('test-html-escaping')) {
if (/test-html-escaping/.exec(location.href)) {
code = code3;
}

View File

@@ -134,7 +134,7 @@ flowchart LR
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart LR
id1([This is the text in the box])
</pre
@@ -142,7 +142,7 @@ flowchart LR
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart LR
id1([This is the text in the box])
</pre
@@ -150,7 +150,7 @@ flowchart LR
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart LR
id1([This is the text in the box])
</pre
@@ -185,7 +185,7 @@ flowchart LR
</td>
<td>
<pre id="diagram6" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart LR
id1[[This is the text in the box]]
</pre
@@ -193,7 +193,7 @@ flowchart LR
</td>
<td>
<pre id="diagram7" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart LR
id1[[This is the text in the box]]
</pre
@@ -201,7 +201,7 @@ flowchart LR
</td>
<td>
<pre id="diagram8" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart LR
id1[[This is the text in the box]]
</pre
@@ -236,7 +236,7 @@ flowchart LR
</td>
<td>
<pre id="diagram10" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart LR
id1[(Database)]
</pre
@@ -244,7 +244,7 @@ flowchart LR
</td>
<td>
<pre id="diagram11" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart LR
id1[(Database)]
</pre
@@ -252,7 +252,7 @@ flowchart LR
</td>
<td>
<pre id="diagram12" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart LR
id1[(Database)]
</pre
@@ -287,7 +287,7 @@ flowchart LR
</td>
<td>
<pre id="diagram14" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart LR
id1((This is the text in the circle))
</pre
@@ -295,7 +295,7 @@ flowchart LR
</td>
<td>
<pre id="diagram15" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart LR
id1((This is the text in the circle))
</pre
@@ -303,7 +303,7 @@ flowchart LR
</td>
<td>
<pre id="diagram16" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart LR
id1((This is the text in the circle))
</pre
@@ -338,7 +338,7 @@ flowchart LR
</td>
<td>
<pre id="diagram18" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart TD
id1(((This is the text in the circle)))
</pre
@@ -346,7 +346,7 @@ flowchart LR
</td>
<td>
<pre id="diagram19" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart TD
id1(((This is the text in the circle)))
</pre
@@ -354,7 +354,7 @@ flowchart LR
</td>
<td>
<pre id="diagram20" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart TD
id1(((This is the text in the circle)))
</pre
@@ -389,7 +389,7 @@ flowchart LR
</td>
<td>
<pre id="diagram22" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart LR
id1>This is the text in the box]
</pre
@@ -397,7 +397,7 @@ flowchart LR
</td>
<td>
<pre id="diagram23" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart LR
id1>This is the text in the box]
</pre
@@ -405,7 +405,7 @@ flowchart LR
</td>
<td>
<pre id="diagram24" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart LR
id1>This is the text in the box]
</pre
@@ -440,7 +440,7 @@ flowchart LR
</td>
<td>
<pre id="diagram26" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart LR
id1{This is the text in the box}
</pre
@@ -448,7 +448,7 @@ flowchart LR
</td>
<td>
<pre id="diagram27" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart LR
id1{This is the text in the box}
</pre
@@ -456,7 +456,7 @@ flowchart LR
</td>
<td>
<pre id="diagram28" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart LR
id1{This is the text in the box}
</pre
@@ -491,7 +491,7 @@ flowchart LR
</td>
<td>
<pre id="diagram31" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart LR
id1{{This is the text in the box}}
</pre
@@ -499,7 +499,7 @@ flowchart LR
</td>
<td>
<pre id="diagram32" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart LR
id1{{This is the text in the box}}
</pre
@@ -534,7 +534,7 @@ flowchart LR
</td>
<td>
<pre id="diagram34" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart TD
id1[/This is the text in the box/]
</pre
@@ -542,7 +542,7 @@ flowchart LR
</td>
<td>
<pre id="diagram35" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart TD
id1[/This is the text in the box/]
</pre
@@ -550,7 +550,7 @@ flowchart LR
</td>
<td>
<pre id="diagram36" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart TD
id1[/This is the text in the box/]
</pre
@@ -585,7 +585,7 @@ flowchart LR
</td>
<td>
<pre id="diagram38" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart TD
id1[\This is the text in the box\]
</pre
@@ -593,7 +593,7 @@ flowchart LR
</td>
<td>
<pre id="diagram39" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart TD
id1[\This is the text in the box\]
</pre
@@ -601,7 +601,7 @@ flowchart LR
</td>
<td>
<pre id="diagram40" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart TD
id1[\This is the text in the box\]
@@ -637,7 +637,7 @@ flowchart LR
</td>
<td>
<pre id="diagram42" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart TD
A[/Christmas\]
</pre
@@ -645,7 +645,7 @@ flowchart LR
</td>
<td>
<pre id="diagram43" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart TD
A[/Christmas\]
</pre
@@ -653,7 +653,7 @@ flowchart LR
</td>
<td>
<pre id="diagram44" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart TD
A[/Christmas\]
</pre
@@ -688,7 +688,7 @@ flowchart LR
</td>
<td>
<pre id="diagram46" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart TD
A[\Christmas/]
</pre
@@ -696,7 +696,7 @@ flowchart LR
</td>
<td>
<pre id="diagram47" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart TD
A[\Christmas/]
</pre
@@ -704,7 +704,7 @@ flowchart LR
</td>
<td>
<pre id="diagram48" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart TD
A[\Christmas/]
</pre
@@ -739,7 +739,7 @@ flowchart LR
</td>
<td>
<pre id="diagram50" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart LR
id1(This is the text in the box)
</pre
@@ -747,7 +747,7 @@ flowchart LR
</td>
<td>
<pre id="diagram51" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart LR
id1(This is the text in the box)
</pre
@@ -755,7 +755,7 @@ flowchart LR
</td>
<td>
<pre id="diagram52" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart LR
id1(This is the text in the box)
</pre
@@ -790,7 +790,7 @@ flowchart LR
</td>
<td>
<pre id="diagram54" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart LR
id1[This is the text in the box]
</pre
@@ -798,7 +798,7 @@ flowchart LR
</td>
<td>
<pre id="diagram55" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
flowchart LR
id1[This is the text in the box]
</pre
@@ -806,7 +806,7 @@ flowchart LR
</td>
<td>
<pre id="diagram56" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
flowchart LR
id1[This is the text in the box]
</pre
@@ -822,12 +822,12 @@ flowchart LR
<script type="module">
import mermaid from './mermaid.esm.mjs';
import { layouts } from './mermaid-layout-elk.esm.mjs';
import layouts from './mermaid-layout-elk.esm.mjs';
mermaid.registerLayoutLoaders(layouts);
mermaid.parseError = function (err, hash) {};
mermaid.initialize({
handdrawn: false,
handDrawn: false,
mergeEdges: true,
layout: 'dagre',
flowchart: { titleTopMargin: 10 },

View File

@@ -125,7 +125,7 @@
</th>
<td>
<pre id="diagram1" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
stateA
@@ -134,7 +134,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
flowchart LR
id1[[This is the text in the box]]
@@ -147,12 +147,12 @@ flowchart LR
<script type="module">
import mermaid from './mermaid.esm.mjs';
import { layouts } from './mermaid-layout-elk.esm.mjs';
import layouts from './mermaid-layout-elk.esm.mjs';
mermaid.registerLayoutLoaders(layouts);
mermaid.parseError = function (err, hash) {};
mermaid.initialize({
handdrawn: false,
handDrawn: false,
mergeEdges: true,
layout: 'dagre',
flowchart: { titleTopMargin: 10 },

View File

@@ -36,12 +36,15 @@
font-family: 'Arial';
/* font-size: 18px !important; */
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
.mermaid svg {
/* font-size: 18px !important; */
@@ -54,6 +57,7 @@
10px 10px;
background-repeat: repeat; */
}
.malware {
position: fixed;
bottom: 0;
@@ -69,32 +73,79 @@
font-family: monospace;
font-size: 72px;
}
/* tspan {
font-size: 6px !important;
} */
</style>
</head>
<body>
<pre id="diagram" class="mermaid">
<div class="flex">
<pre id="diagram" class="mermaid">
---
title: hello2
config:
look: handDrawn
layout: elk
elk:
nodePlacementStrategy: BRANDES_KOEPF
---
flowchart LR
A[Start] --Some text--> B(Continue)
B --> C{Evaluate}
C -- One --> D[Option 1]
C -- Two --> E[Option 2]
C -- Three --> F[fa:fa-car Option 3]
</pre
>
<pre id="diagram" class="mermaid2">
---
config:
look: handdrawn
flowchart:
htmlLabels: true
---
flowchart
a_a(Aftonbladet) --> b_b[gorilla]:::apa --> c_c{chimp}:::apa -->a_a
a_a --> c --> d_d --> c_c
classDef apa fill:#f9f,stroke:#333,stroke-width:4px;
class a_a apa;
click a_a "http://www.aftonbladet.se" "bookmark"
click c_c callback "new tooltip"
</pre
>
<pre id="diagram2" class="mermaid">
A[I am a long text, where do I go??? handdrawn - true]
</pre
>
</div>
<div class="flex">
<pre id="diagram" class="mermaid2">
---
config:
flowchart:
htmlLabels: false
---
flowchart
A[I am a long text, where do I go??? classic - false]
</pre
>
<pre id="diagram" class="mermaid2">
---
config:
flowchart:
htmlLabels: true
---
flowchart
A[I am a long text, where do I go??? classic - true]
</pre
>
</div>
<pre id="diagram2" class="mermaid2">
flowchart LR
id1(Start)-->id2(Stop)
style id1 fill:#f9f,stroke:#333,stroke-width:4px
style id2 fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5
</pre>
<pre id="diagram3" class="mermaid">
<pre id="diagram3" class="mermaid2">
flowchart LR
A:::foo & B:::bar --> C:::foobar
classDef foo stroke:#f00
@@ -105,9 +156,9 @@ flowchart LR
</pre>
<pre id="diagram4" class="mermaid">
<pre id="diagram4" class="mermaid2">
stateDiagram
A:::foo
A:::foo
B:::bar --> C:::foobar
classDef foo stroke:#f00
classDef bar stroke:#0f0
@@ -117,8 +168,8 @@ flowchart LR
<script type="module">
import mermaid from './mermaid.esm.mjs';
// import { layouts } from './mermaid-layout-elk.esm.mjs';
// mermaid.registerLayoutLoaders(layouts);
import layouts from './mermaid-layout-elk.esm.mjs';
mermaid.registerLayoutLoaders(layouts);
mermaid.parseError = function (err, hash) {
console.error('Mermaid error: ', err);
};
@@ -127,8 +178,8 @@ flowchart LR
};
mermaid.initialize({
// theme: 'base',
// handdrawnSeed: 12,
// look: 'handdrawn',
// handDrawnSeed: 12,
// look: 'handDrawn',
// 'elk.nodePlacement.strategy': 'NETWORK_SIMPLEX',
// layout: 'dagre',
// layout: 'elk',

View File

@@ -115,7 +115,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
stateId
@@ -123,7 +123,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
stateId
@@ -131,7 +131,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
stateId
@@ -162,21 +162,21 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
state "This is a state description" as s3
</pre>
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
state "This is a state description" as s4
</pre>
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
state "This is a state description" as s5
</pre>
@@ -206,7 +206,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
s22 : This is a state description
@@ -214,7 +214,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
s23 : This is a state description
@@ -222,7 +222,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
s24 : This is a state description
@@ -258,7 +258,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
s41 --> s42
@@ -268,7 +268,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
s51 --> s52
@@ -277,7 +277,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
s61 --> s62
@@ -316,7 +316,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
a3 --> a4: A transition
@@ -326,7 +326,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
a5 --> a6: A transition
@@ -335,7 +335,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
a7 --> a8: A transition
@@ -376,7 +376,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
[*] --> test
@@ -387,7 +387,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
[*] --> test
test --> [*]
@@ -397,7 +397,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
[*] --> test
test --> [*]
@@ -445,7 +445,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
[*] --> First
@@ -459,7 +459,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
[*] --> First
state First {
@@ -472,7 +472,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
[*] --> First
state First {
@@ -547,7 +547,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
[*] --> Level1
@@ -572,7 +572,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
[*] --> Level1
@@ -595,7 +595,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
[*] --> Level1
@@ -676,7 +676,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
[*] --> B1
@@ -699,7 +699,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
[*] --> B1
B1 --> B2
@@ -722,7 +722,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
[*] --> B1
B1 --> B2
@@ -784,7 +784,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
state if_state <<choice>>
@@ -796,7 +796,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
state if_state <<choice>>
[*] --> IsPositive
@@ -807,7 +807,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
state if_state <<choice>>
[*] --> IsPositive
@@ -865,7 +865,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
state fork_state <<fork>>
[*] --> fork_state
@@ -882,7 +882,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
state fork_state <<fork>>
[*] --> fork_state
@@ -899,7 +899,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
state fork_state <<fork>>
[*] --> fork_state
@@ -955,7 +955,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
TN3: The state with a note
note right of TN3
@@ -968,7 +968,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
TN5: The state with a note
note right of TN5
@@ -982,7 +982,7 @@ stateDiagram-v2
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
TN7: The state with a note
note right of TN7
@@ -1052,7 +1052,7 @@ state Active {
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
[*] --> Active
@@ -1073,7 +1073,7 @@ state Active {
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
[*] --> Active
@@ -1095,7 +1095,7 @@ state Active {
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
[*] --> Active
@@ -1159,7 +1159,7 @@ direction LR
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
%%{init: {"look": "handDrawn"} }%%
stateDiagram-v2
direction LR
[*] --> D1
@@ -1174,7 +1174,7 @@ direction LR
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
%%{init: {"handDrawn": false, "layout": "elk"} }%%
stateDiagram-v2
direction LR
[*] --> D1
@@ -1189,7 +1189,7 @@ direction LR
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
%%{init: {"look": "handDrawn", "layout": "elk"} }%%
stateDiagram-v2
direction LR
[*] --> D1
@@ -1222,14 +1222,14 @@ direction LR
<script type="module">
import mermaid from './mermaid.esm.mjs';
import { layouts } from './mermaid-layout-elk.esm.mjs';
import layouts from './mermaid-layout-elk.esm.mjs';
mermaid.registerLayoutLoaders(layouts);
mermaid.parseError = function (err, hash) {
};
mermaid.initialize({
handdrawn: false,
handDrawn: false,
mergeEdges: true,
layout: 'dagre',
flowchart: { titleTopMargin: 10 },
@@ -1254,7 +1254,7 @@ direction LR
let coll = document.getElementsByClassName("collapsible");
for (const element of coll) {
element.addEventListener("click", function () {
element.addEventListener("click", function () {
this.classList.toggle("active");
let content = this.nextElementSibling;
if (content.style.maxHeight) {
@@ -1268,4 +1268,4 @@ direction LR
</script>
</body>
</html>
</html>

View File

@@ -1,7 +1,7 @@
import mermaid from './mermaid.esm.mjs';
// import flowchartELK from './mermaid-flowchart-elk.esm.mjs';
import externalExample from './mermaid-example-diagram.esm.mjs';
import layouts from './mermaid-layout-elk.esm.mjs';
import zenUml from './mermaid-zenuml.esm.mjs';
import mermaid from './mermaid.esm.mjs';
function b64ToUtf8(str) {
return decodeURIComponent(escape(window.atob(str)));
@@ -9,7 +9,6 @@ function b64ToUtf8(str) {
// Adds a rendered flag to window when rendering is done, so cypress can wait for it.
function markRendered() {
console.log('Done rendering');
if (window.Cypress) {
window.rendered = true;
}
@@ -47,8 +46,9 @@ const contentLoaded = async function () {
document.getElementsByTagName('body')[0].appendChild(div);
}
// await mermaid.registerExternalDiagrams([externalExample, zenUml, flowchartELK]);
await mermaid.registerExternalDiagrams([externalExample, zenUml]);
mermaid.registerLayoutLoaders(layouts);
mermaid.initialize(graphObj.mermaid);
await mermaid.run();
}
@@ -134,7 +134,7 @@ if (typeof document !== 'undefined') {
window.addEventListener(
'load',
function () {
if (this.location.href.match('xss.html')) {
if (/xss.html/.exec(this.location.href)) {
this.console.log('Using api');
void contentLoadedApi().finally(markRendered);
} else {

View File

@@ -15,6 +15,7 @@
import '@cypress/code-coverage/support';
import '@applitools/eyes-cypress/commands';
import '@argos-ci/cypress/support';
// Import commands.js using ES2015 syntax:
import './commands';

View File

@@ -2,7 +2,7 @@
"compilerOptions": {
"target": "es2020",
"lib": ["es2020", "dom"],
"types": ["cypress", "node"],
"types": ["cypress", "node", "@argos-ci/cypress/dist/support.d.ts"],
"allowImportingTsExtensions": true,
"noEmit": true
},

View File

@@ -238,6 +238,17 @@
Alice-xJohn: Hello John, how are you?
John--xAlice: Great!
</pre>
<hr />
<pre class="mermaid">
sequenceDiagram
participant Alice
participant Bob
Alice<<->>Bob: Hello!
Alice<<->>Bob: Wow, we said that at the same time!
Bob<<-->>Alice: Bidirectional Arrows are so cool
</pre>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({

View File

@@ -1,4 +1,3 @@
version: '3.9'
services:
mermaid:
build:
@@ -8,7 +7,7 @@ services:
tty: true
working_dir: /mermaid
mem_limit: '8G'
entrypoint: docker-entrypoint.sh
entrypoint: ./docker-entrypoint.sh
environment:
- NODE_OPTIONS=--max_old_space_size=8192
volumes:
@@ -16,6 +15,7 @@ services:
- root_cache:/root/.cache
- root_local:/root/.local
- root_npm:/root/.npm
- /tmp:/tmp
ports:
- 9000:9000
- 3333:3333

View File

@@ -56,7 +56,7 @@ The following commands must be sufficient enough to start with:
```bash
curl -fsSL https://get.pnpm.io/install.sh | sh -
pnpm env use --global 18
pnpm env use --global 20
```
You may also need to reload `.shrc` or `.bashrc` afterwards.

View File

@@ -10,4 +10,4 @@
- [config](modules/config.md)
- [defaultConfig](modules/defaultConfig.md)
- [mermaidAPI](modules/mermaidAPI.md)
- [mermaid](modules/mermaid.md)

View File

@@ -0,0 +1,171 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/classes/mermaid.UnknownDiagramError.md](../../../../packages/mermaid/src/docs/config/setup/classes/mermaid.UnknownDiagramError.md).
# Class: UnknownDiagramError
[mermaid](../modules/mermaid.md).UnknownDiagramError
## Hierarchy
- `Error`
**`UnknownDiagramError`**
## Constructors
### constructor
**new UnknownDiagramError**(`message`): [`UnknownDiagramError`](mermaid.UnknownDiagramError.md)
#### Parameters
| Name | Type |
| :-------- | :------- |
| `message` | `string` |
#### Returns
[`UnknownDiagramError`](mermaid.UnknownDiagramError.md)
#### Overrides
Error.constructor
#### Defined in
[packages/mermaid/src/errors.ts:2](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/errors.ts#L2)
## Properties
### cause
`Optional` **cause**: `unknown`
#### Inherited from
Error.cause
#### Defined in
node_modules/.pnpm/typescript\@5.4.5/node_modules/typescript/lib/lib.es2022.error.d.ts:24
---
### message
**message**: `string`
#### Inherited from
Error.message
#### Defined in
node_modules/.pnpm/typescript\@5.4.5/node_modules/typescript/lib/lib.es5.d.ts:1077
---
### name
**name**: `string`
#### Inherited from
Error.name
#### Defined in
node_modules/.pnpm/typescript\@5.4.5/node_modules/typescript/lib/lib.es5.d.ts:1076
---
### stack
`Optional` **stack**: `string`
#### Inherited from
Error.stack
#### Defined in
node_modules/.pnpm/typescript\@5.4.5/node_modules/typescript/lib/lib.es5.d.ts:1078
---
### prepareStackTrace
`Static` `Optional` **prepareStackTrace**: (`err`: `Error`, `stackTraces`: `CallSite`\[]) => `any`
Optional override for formatting stack traces
**`See`**
<https://v8.dev/docs/stack-trace-api#customizing-stack-traces>
#### Type declaration
▸ (`err`, `stackTraces`): `any`
##### Parameters
| Name | Type |
| :------------ | :------------ |
| `err` | `Error` |
| `stackTraces` | `CallSite`\[] |
##### Returns
`any`
#### Inherited from
Error.prepareStackTrace
#### Defined in
node_modules/@types/node/globals.d.ts:28
---
### stackTraceLimit
`Static` **stackTraceLimit**: `number`
#### Inherited from
Error.stackTraceLimit
#### Defined in
node_modules/@types/node/globals.d.ts:30
## Methods
### captureStackTrace
**captureStackTrace**(`targetObject`, `constructorOpt?`): `void`
Create .stack property on a target object
#### Parameters
| Name | Type |
| :---------------- | :--------- |
| `targetObject` | `object` |
| `constructorOpt?` | `Function` |
#### Returns
`void`
#### Inherited from
Error.captureStackTrace
#### Defined in
node_modules/@types/node/globals.d.ts:21

View File

@@ -0,0 +1,49 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaid.DetailedError.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaid.DetailedError.md).
# Interface: DetailedError
[mermaid](../modules/mermaid.md).DetailedError
## Properties
### error
`Optional` **error**: `any`
#### Defined in
[packages/mermaid/src/utils.ts:785](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/utils.ts#L785)
---
### hash
**hash**: `any`
#### Defined in
[packages/mermaid/src/utils.ts:783](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/utils.ts#L783)
---
### message
`Optional` **message**: `string`
#### Defined in
[packages/mermaid/src/utils.ts:786](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/utils.ts#L786)
---
### str
**str**: `string`
#### Defined in
[packages/mermaid/src/utils.ts:781](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/utils.ts#L781)

View File

@@ -0,0 +1,39 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaid.ExternalDiagramDefinition.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaid.ExternalDiagramDefinition.md).
# Interface: ExternalDiagramDefinition
[mermaid](../modules/mermaid.md).ExternalDiagramDefinition
## Properties
### detector
**detector**: `DiagramDetector`
#### Defined in
[packages/mermaid/src/diagram-api/types.ts:101](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/diagram-api/types.ts#L101)
---
### id
**id**: `string`
#### Defined in
[packages/mermaid/src/diagram-api/types.ts:100](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/diagram-api/types.ts#L100)
---
### loader
**loader**: `DiagramLoader`
#### Defined in
[packages/mermaid/src/diagram-api/types.ts:102](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/diagram-api/types.ts#L102)

View File

@@ -0,0 +1,43 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaid.LayoutData.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaid.LayoutData.md).
# Interface: LayoutData
[mermaid](../modules/mermaid.md).LayoutData
## Indexable
▪ \[key: `string`]: `any`
## Properties
### config
**config**: `MermaidConfig`
#### Defined in
[packages/mermaid/src/rendering-util/types.d.ts:118](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/types.d.ts#L118)
---
### edges
**edges**: `Edge`\[]
#### Defined in
[packages/mermaid/src/rendering-util/types.d.ts:117](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/types.d.ts#L117)
---
### nodes
**nodes**: `Node`\[]
#### Defined in
[packages/mermaid/src/rendering-util/types.d.ts:116](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/types.d.ts#L116)

View File

@@ -0,0 +1,39 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaid.LayoutLoaderDefinition.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaid.LayoutLoaderDefinition.md).
# Interface: LayoutLoaderDefinition
[mermaid](../modules/mermaid.md).LayoutLoaderDefinition
## Properties
### algorithm
`Optional` **algorithm**: `string`
#### Defined in
[packages/mermaid/src/rendering-util/render.ts:24](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L24)
---
### loader
**loader**: `LayoutLoader`
#### Defined in
[packages/mermaid/src/rendering-util/render.ts:23](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L23)
---
### name
**name**: `string`
#### Defined in
[packages/mermaid/src/rendering-util/render.ts:22](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L22)

View File

@@ -0,0 +1,364 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaid.Mermaid.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaid.Mermaid.md).
# Interface: Mermaid
[mermaid](../modules/mermaid.md).Mermaid
## Properties
### contentLoaded
**contentLoaded**: () => `void`
#### Type declaration
▸ (): `void`
\##contentLoaded Callback function that is called when page is loaded. This functions fetches
configuration for mermaid rendering and calls init for rendering the mermaid diagrams on the
page.
##### Returns
`void`
#### Defined in
[packages/mermaid/src/mermaid.ts:435](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L435)
---
### detectType
**detectType**: (`text`: `string`, `config?`: [`MermaidConfig`](mermaid.MermaidConfig.md)) => `string`
#### Type declaration
▸ (`text`, `config?`): `string`
Detects the type of the graph text.
Takes into consideration the possible existence of an `%%init` directive
##### Parameters
| Name | Type | Description |
| :-------- | :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `text` | `string` | The text defining the graph. For example: `mermaid %%{initialize: {"startOnLoad": true, logLevel: "fatal" }}%% graph LR a-->b b-->c c-->d d-->e e-->f f-->g g-->h ` |
| `config?` | [`MermaidConfig`](mermaid.MermaidConfig.md) | The mermaid config. |
##### Returns
`string`
A graph definition key
#### Defined in
[packages/mermaid/src/mermaid.ts:437](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L437)
---
### init
**init**: (`config?`: [`MermaidConfig`](mermaid.MermaidConfig.md), `nodes?`: `string` | `HTMLElement` | `NodeListOf`<`HTMLElement`>, `callback?`: (`id`: `string`) => `unknown`) => `Promise`<`void`>
**`Deprecated`**
Use [initialize](mermaid.Mermaid.md#initialize) and [run](mermaid.Mermaid.md#run) instead.
#### Type declaration
▸ (`config?`, `nodes?`, `callback?`): `Promise`<`void`>
##### Parameters
| Name | Type |
| :---------- | :------------------------------------------------------- |
| `config?` | [`MermaidConfig`](mermaid.MermaidConfig.md) |
| `nodes?` | `string` \| `HTMLElement` \| `NodeListOf`<`HTMLElement`> |
| `callback?` | (`id`: `string`) => `unknown` |
##### Returns
`Promise`<`void`>
#### Defined in
[packages/mermaid/src/mermaid.ts:430](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L430)
---
### initialize
**initialize**: (`config`: [`MermaidConfig`](mermaid.MermaidConfig.md)) => `void`
#### Type declaration
▸ (`config`): `void`
Used to set configurations for mermaid.
This function should be called before the run function.
##### Parameters
| Name | Type | Description |
| :------- | :------------------------------------------ | :-------------------------------- |
| `config` | [`MermaidConfig`](mermaid.MermaidConfig.md) | Configuration object for mermaid. |
##### Returns
`void`
#### Defined in
[packages/mermaid/src/mermaid.ts:434](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L434)
---
### mermaidAPI
**mermaidAPI**: `Readonly`<{ `defaultConfig`: [`MermaidConfig`](mermaid.MermaidConfig.md) = configApi.defaultConfig; `getConfig`: () => [`MermaidConfig`](mermaid.MermaidConfig.md) = configApi.getConfig; `getDiagramFromText`: (`text`: `string`, `metadata`: `Pick`<`DiagramMetadata`, `"title"`>) => `Promise`<`Diagram`> ; `getSiteConfig`: () => [`MermaidConfig`](mermaid.MermaidConfig.md) = configApi.getSiteConfig; `globalReset`: () => `void` ; `initialize`: (`userOptions`: [`MermaidConfig`](mermaid.MermaidConfig.md)) => `void` ; `parse`: (`text`: `string`, `parseOptions`: [`ParseOptions`](mermaid.ParseOptions.md) & { `suppressErrors`: `true` }) => `Promise`<[`ParseResult`](mermaid.ParseResult.md) | `false`>(`text`: `string`, `parseOptions?`: [`ParseOptions`](mermaid.ParseOptions.md)) => `Promise`<[`ParseResult`](mermaid.ParseResult.md)> ; `render`: (`id`: `string`, `text`: `string`, `svgContainingElement?`: `Element`) => `Promise`<[`RenderResult`](mermaid.RenderResult.md)> ; `reset`: () => `void` ; `setConfig`: (`conf`: [`MermaidConfig`](mermaid.MermaidConfig.md)) => [`MermaidConfig`](mermaid.MermaidConfig.md) = configApi.setConfig; `updateSiteConfig`: (`conf`: [`MermaidConfig`](mermaid.MermaidConfig.md)) => [`MermaidConfig`](mermaid.MermaidConfig.md) = configApi.updateSiteConfig }>
**`Deprecated`**
Use [parse](mermaid.Mermaid.md#parse) and [render](mermaid.Mermaid.md#render) instead. Please [open a discussion](https://github.com/mermaid-js/mermaid/discussions) if your use case does not fit the new API.
#### Defined in
[packages/mermaid/src/mermaid.ts:424](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L424)
---
### parse
**parse**: (`text`: `string`, `parseOptions`: [`ParseOptions`](mermaid.ParseOptions.md) & { `suppressErrors`: `true` }) => `Promise`<[`ParseResult`](mermaid.ParseResult.md) | `false`>(`text`: `string`, `parseOptions?`: [`ParseOptions`](mermaid.ParseOptions.md)) => `Promise`<[`ParseResult`](mermaid.ParseResult.md)>
#### Type declaration
▸ (`text`, `parseOptions`): `Promise`<[`ParseResult`](mermaid.ParseResult.md) | `false`>
Parse the text and validate the syntax.
##### Parameters
| Name | Type | Description |
| :------------- | :----------------------------------------------------------------------- | :------------------------------ |
| `text` | `string` | The mermaid diagram definition. |
| `parseOptions` | [`ParseOptions`](mermaid.ParseOptions.md) & { `suppressErrors`: `true` } | Options for parsing. |
##### Returns
`Promise`<[`ParseResult`](mermaid.ParseResult.md) | `false`>
An object with the `diagramType` set to type of the diagram if valid. Otherwise `false` if parseOptions.suppressErrors is `true`.
**`See`**
[ParseOptions](mermaid.ParseOptions.md)
**`Throws`**
Error if the diagram is invalid and parseOptions.suppressErrors is false or not set.
▸ (`text`, `parseOptions?`): `Promise`<[`ParseResult`](mermaid.ParseResult.md)>
##### Parameters
| Name | Type |
| :-------------- | :---------------------------------------- |
| `text` | `string` |
| `parseOptions?` | [`ParseOptions`](mermaid.ParseOptions.md) |
##### Returns
`Promise`<[`ParseResult`](mermaid.ParseResult.md)>
#### Defined in
[packages/mermaid/src/mermaid.ts:425](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L425)
---
### parseError
`Optional` **parseError**: [`ParseErrorFunction`](../modules/mermaid.md#parseerrorfunction)
#### Defined in
[packages/mermaid/src/mermaid.ts:419](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L419)
---
### registerExternalDiagrams
**registerExternalDiagrams**: (`diagrams`: [`ExternalDiagramDefinition`](mermaid.ExternalDiagramDefinition.md)\[], `opts`: { `lazyLoad?`: `boolean` = true }) => `Promise`<`void`>
#### Type declaration
▸ (`diagrams`, `opts?`): `Promise`<`void`>
Used to register external diagram types.
##### Parameters
| Name | Type | Default value | Description |
| :--------------- | :--------------------------------------------------------------------- | :------------ | :-------------------------------------------------------------------------- |
| `diagrams` | [`ExternalDiagramDefinition`](mermaid.ExternalDiagramDefinition.md)\[] | `undefined` | Array of [ExternalDiagramDefinition](mermaid.ExternalDiagramDefinition.md). |
| `opts` | `Object` | `{}` | If opts.lazyLoad is false, the diagrams will be loaded immediately. |
| `opts.lazyLoad?` | `boolean` | `true` | - |
##### Returns
`Promise`<`void`>
#### Defined in
[packages/mermaid/src/mermaid.ts:433](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L433)
---
### registerLayoutLoaders
**registerLayoutLoaders**: (`loaders`: [`LayoutLoaderDefinition`](mermaid.LayoutLoaderDefinition.md)\[]) => `void`
#### Type declaration
▸ (`loaders`): `void`
##### Parameters
| Name | Type |
| :-------- | :--------------------------------------------------------------- |
| `loaders` | [`LayoutLoaderDefinition`](mermaid.LayoutLoaderDefinition.md)\[] |
##### Returns
`void`
#### Defined in
[packages/mermaid/src/mermaid.ts:432](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L432)
---
### render
**render**: (`id`: `string`, `text`: `string`, `svgContainingElement?`: `Element`) => `Promise`<[`RenderResult`](mermaid.RenderResult.md)>
#### Type declaration
▸ (`id`, `text`, `svgContainingElement?`): `Promise`<[`RenderResult`](mermaid.RenderResult.md)>
##### Parameters
| Name | Type |
| :---------------------- | :-------- |
| `id` | `string` |
| `text` | `string` |
| `svgContainingElement?` | `Element` |
##### Returns
`Promise`<[`RenderResult`](mermaid.RenderResult.md)>
#### Defined in
[packages/mermaid/src/mermaid.ts:426](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L426)
---
### run
**run**: (`options`: [`RunOptions`](mermaid.RunOptions.md)) => `Promise`<`void`>
#### Type declaration
▸ (`options?`): `Promise`<`void`>
## run
Function that goes through the document to find the chart definitions in there and render them.
The function tags the processed attributes with the attribute data-processed and ignores found
elements with the attribute already set. This way the init function can be triggered several
times.
```mermaid-example
graph LR;
a(Find elements)-->b{Processed}
b-->|Yes|c(Leave element)
b-->|No |d(Transform)
```
```mermaid
graph LR;
a(Find elements)-->b{Processed}
b-->|Yes|c(Leave element)
b-->|No |d(Transform)
```
Renders the mermaid diagrams
##### Parameters
| Name | Type | Description |
| :-------- | :------------------------------------ | :----------------------- |
| `options` | [`RunOptions`](mermaid.RunOptions.md) | Optional runtime configs |
##### Returns
`Promise`<`void`>
#### Defined in
[packages/mermaid/src/mermaid.ts:431](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L431)
---
### setParseErrorHandler
• **setParseErrorHandler**: (`parseErrorHandler`: (`err`: `any`, `hash`: `any`) => `void`) => `void`
#### Type declaration
▸ (`parseErrorHandler`): `void`
## setParseErrorHandler Alternative to directly setting parseError using:
```js
mermaid.parseError = function (err, hash) {
forExampleDisplayErrorInGui(err); // do something with the error
};
```
This is provided for environments where the mermaid object can't directly have a new member added
to it (eg. dart interop wrapper). (Initially there is no parseError member of mermaid).
##### Parameters
| Name | Type | Description |
| :------------------ | :-------------------------------------- | :------------------------- |
| `parseErrorHandler` | (`err`: `any`, `hash`: `any`) => `void` | New parseError() callback. |
##### Returns
`void`
#### Defined in
[packages/mermaid/src/mermaid.ts:436](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L436)
---
### startOnLoad
• **startOnLoad**: `boolean`
#### Defined in
[packages/mermaid/src/mermaid.ts:418](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L418)

View File

@@ -0,0 +1,520 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaid.MermaidConfig.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaid.MermaidConfig.md).
# Interface: MermaidConfig
[mermaid](../modules/mermaid.md).MermaidConfig
## Properties
### altFontFamily
`Optional` **altFontFamily**: `string`
#### Defined in
[packages/mermaid/src/config.type.ts:112](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L112)
---
### arrowMarkerAbsolute
`Optional` **arrowMarkerAbsolute**: `boolean`
Controls whether or arrow markers in html code are absolute paths or anchors.
This matters if you are using base tag settings.
#### Defined in
[packages/mermaid/src/config.type.ts:131](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L131)
---
### block
`Optional` **block**: `BlockDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:189](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L189)
---
### c4
`Optional` **c4**: `C4DiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:186](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L186)
---
### class
`Optional` **class**: `ClassDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:177](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L177)
---
### darkMode
`Optional` **darkMode**: `boolean`
#### Defined in
[packages/mermaid/src/config.type.ts:103](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L103)
---
### deterministicIDSeed
`Optional` **deterministicIDSeed**: `string`
This option is the optional seed for deterministic ids.
If set to `undefined` but deterministicIds is `true`, a simple number iterator is used.
You can set this attribute to base the seed on a static string.
#### Defined in
[packages/mermaid/src/config.type.ts:171](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L171)
---
### deterministicIds
`Optional` **deterministicIds**: `boolean`
This option controls if the generated ids of nodes in the SVG are
generated randomly or based on a seed.
If set to `false`, the IDs are generated based on the current date and
thus are not deterministic. This is the default behavior.
This matters if your files are checked into source control e.g. git and
should not change unless content is changed.
#### Defined in
[packages/mermaid/src/config.type.ts:164](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L164)
---
### dompurifyConfig
`Optional` **dompurifyConfig**: `Config`
#### Defined in
[packages/mermaid/src/config.type.ts:190](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L190)
---
### elk
`Optional` **elk**: `Object`
#### Type declaration
| Name | Type | Description |
| :----------------------- | :---------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `mergeEdges?` | `boolean` | Elk specific option that allows edges to share path where it convenient. It can make for pretty diagrams but can also make it harder to read the diagram. |
| `nodePlacementStrategy?` | `"SIMPLE"` \| `"NETWORK_SIMPLEX"` \| `"LINEAR_SEGMENTS"` \| `"BRANDES_KOEPF"` | Elk specific option affecting how nodes are placed. |
#### Defined in
[packages/mermaid/src/config.type.ts:91](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L91)
---
### er
`Optional` **er**: `ErDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:179](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L179)
---
### flowchart
`Optional` **flowchart**: `FlowchartDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:172](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L172)
---
### fontFamily
`Optional` **fontFamily**: `string`
Specifies the font to be used in the rendered diagrams.
Can be any possible CSS `font-family`.
See <https://developer.mozilla.org/en-US/docs/Web/CSS/font-family>
#### Defined in
[packages/mermaid/src/config.type.ts:111](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L111)
---
### fontSize
`Optional` **fontSize**: `number`
#### Defined in
[packages/mermaid/src/config.type.ts:192](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L192)
---
### forceLegacyMathML
`Optional` **forceLegacyMathML**: `boolean`
This option forces Mermaid to rely on KaTeX's own stylesheet for rendering MathML. Due to differences between OS
fonts and browser's MathML implementation, this option is recommended if consistent rendering is important.
If set to true, ignores legacyMathML.
#### Defined in
[packages/mermaid/src/config.type.ts:153](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L153)
---
### gantt
`Optional` **gantt**: `GanttDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:174](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L174)
---
### gitGraph
`Optional` **gitGraph**: `GitGraphDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:185](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L185)
---
### handDrawnSeed
`Optional` **handDrawnSeed**: `number`
Defines the seed to be used when using handDrawn look. This is important for the automated tests as they will always find differences without the seed. The default value is 0 which gives a random seed.
#### Defined in
[packages/mermaid/src/config.type.ts:76](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L76)
---
### htmlLabels
`Optional` **htmlLabels**: `boolean`
#### Defined in
[packages/mermaid/src/config.type.ts:104](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L104)
---
### journey
`Optional` **journey**: `JourneyDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:175](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L175)
---
### layout
`Optional` **layout**: `string`
Defines which layout algorithm to use for rendering the diagram.
#### Defined in
[packages/mermaid/src/config.type.ts:81](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L81)
---
### legacyMathML
`Optional` **legacyMathML**: `boolean`
This option specifies if Mermaid can expect the dependent to include KaTeX stylesheets for browsers
without their own MathML implementation. If this option is disabled and MathML is not supported, the math
equations are replaced with a warning. If this option is enabled and MathML is not supported, Mermaid will
fall back to legacy rendering for KaTeX.
#### Defined in
[packages/mermaid/src/config.type.ts:146](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L146)
---
### logLevel
`Optional` **logLevel**: `0` | `2` | `1` | `"trace"` | `"debug"` | `"info"` | `"warn"` | `"error"` | `"fatal"` | `3` | `4` | `5`
This option decides the amount of logging to be used by mermaid.
#### Defined in
[packages/mermaid/src/config.type.ts:117](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L117)
---
### look
`Optional` **look**: `"classic"` | `"handDrawn"`
Defines which main look to use for the diagram.
#### Defined in
[packages/mermaid/src/config.type.ts:71](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L71)
---
### markdownAutoWrap
`Optional` **markdownAutoWrap**: `boolean`
#### Defined in
[packages/mermaid/src/config.type.ts:193](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L193)
---
### maxEdges
`Optional` **maxEdges**: `number`
Defines the maximum number of edges that can be drawn in a graph.
#### Defined in
[packages/mermaid/src/config.type.ts:90](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L90)
---
### maxTextSize
`Optional` **maxTextSize**: `number`
The maximum allowed size of the users text diagram
#### Defined in
[packages/mermaid/src/config.type.ts:85](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L85)
---
### mindmap
`Optional` **mindmap**: `MindmapDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:184](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L184)
---
### packet
`Optional` **packet**: `PacketDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:188](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L188)
---
### pie
`Optional` **pie**: `PieDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:180](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L180)
---
### quadrantChart
`Optional` **quadrantChart**: `QuadrantChartConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:181](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L181)
---
### requirement
`Optional` **requirement**: `RequirementDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:183](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L183)
---
### sankey
`Optional` **sankey**: `SankeyDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:187](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L187)
---
### secure
`Optional` **secure**: `string`\[]
This option controls which `currentConfig` keys are considered secure and
can only be changed via call to `mermaid.initialize`.
This prevents malicious graph directives from overriding a site's default security.
#### Defined in
[packages/mermaid/src/config.type.ts:138](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L138)
---
### securityLevel
`Optional` **securityLevel**: `"strict"` | `"loose"` | `"antiscript"` | `"sandbox"`
Level of trust for parsed diagram
#### Defined in
[packages/mermaid/src/config.type.ts:121](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L121)
---
### sequence
`Optional` **sequence**: `SequenceDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:173](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L173)
---
### startOnLoad
`Optional` **startOnLoad**: `boolean`
Dictates whether mermaid starts on Page load
#### Defined in
[packages/mermaid/src/config.type.ts:125](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L125)
---
### state
`Optional` **state**: `StateDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:178](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L178)
---
### suppressErrorRendering
`Optional` **suppressErrorRendering**: `boolean`
Suppresses inserting 'Syntax error' diagram in the DOM.
This is useful when you want to control how to handle syntax errors in your application.
#### Defined in
[packages/mermaid/src/config.type.ts:199](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L199)
---
### theme
`Optional` **theme**: `"default"` | `"base"` | `"dark"` | `"forest"` | `"neutral"` | `"null"`
Theme, the CSS style sheet.
You may also use `themeCSS` to override this value.
#### Defined in
[packages/mermaid/src/config.type.ts:64](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L64)
---
### themeCSS
`Optional` **themeCSS**: `string`
#### Defined in
[packages/mermaid/src/config.type.ts:66](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L66)
---
### themeVariables
`Optional` **themeVariables**: `any`
#### Defined in
[packages/mermaid/src/config.type.ts:65](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L65)
---
### timeline
`Optional` **timeline**: `TimelineDiagramConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:176](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L176)
---
### wrap
`Optional` **wrap**: `boolean`
#### Defined in
[packages/mermaid/src/config.type.ts:191](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L191)
---
### xyChart
`Optional` **xyChart**: `XYChartConfig`
#### Defined in
[packages/mermaid/src/config.type.ts:182](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts#L182)

View File

@@ -2,11 +2,11 @@
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaidAPI.ParseOptions.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaidAPI.ParseOptions.md).
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaid.ParseOptions.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaid.ParseOptions.md).
# Interface: ParseOptions
[mermaidAPI](../modules/mermaidAPI.md).ParseOptions
[mermaid](../modules/mermaid.md).ParseOptions
## Properties
@@ -19,4 +19,4 @@ The `parseError` function will not be called.
#### Defined in
[mermaidAPI.ts:64](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L64)
[packages/mermaid/src/types.ts:43](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L43)

View File

@@ -0,0 +1,21 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaid.ParseResult.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaid.ParseResult.md).
# Interface: ParseResult
[mermaid](../modules/mermaid.md).ParseResult
## Properties
### diagramType
**diagramType**: `string`
The diagram type, e.g. 'flowchart', 'sequence', etc.
#### Defined in
[packages/mermaid/src/types.ts:50](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L50)

View File

@@ -0,0 +1,19 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaid.RenderOptions.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaid.RenderOptions.md).
# Interface: RenderOptions
[mermaid](../modules/mermaid.md).RenderOptions
## Properties
### algorithm
`Optional` **algorithm**: `string`
#### Defined in
[packages/mermaid/src/rendering-util/render.ts:8](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/render.ts#L8)

View File

@@ -2,11 +2,11 @@
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaidAPI.RenderResult.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaidAPI.RenderResult.md).
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaid.RenderResult.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaid.RenderResult.md).
# Interface: RenderResult
[mermaidAPI](../modules/mermaidAPI.md).RenderResult
[mermaid](../modules/mermaid.md).RenderResult
## Properties
@@ -18,7 +18,7 @@ Bind function to be called after the svg has been inserted into the DOM.
This is necessary for adding event listeners to the elements in the svg.
```js
const { svg, bindFunctions } = mermaidAPI.render('id1', 'graph TD;A-->B');
const { svg, bindFunctions } = await mermaid.render('id1', 'graph TD;A-->B');
div.innerHTML = svg;
bindFunctions?.(div); // To call bindFunctions only if it's present.
```
@@ -39,7 +39,7 @@ bindFunctions?.(div); // To call bindFunctions only if it's present.
#### Defined in
[mermaidAPI.ts:94](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L94)
[packages/mermaid/src/types.ts:73](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L73)
---
@@ -51,7 +51,7 @@ The diagram type, e.g. 'flowchart', 'sequence', etc.
#### Defined in
[mermaidAPI.ts:84](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L84)
[packages/mermaid/src/types.ts:63](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L63)
---
@@ -63,4 +63,4 @@ The svg code for the rendered graph.
#### Defined in
[mermaidAPI.ts:80](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L80)
[packages/mermaid/src/types.ts:59](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L59)

View File

@@ -0,0 +1,71 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaid.RunOptions.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaid.RunOptions.md).
# Interface: RunOptions
[mermaid](../modules/mermaid.md).RunOptions
## Properties
### nodes
`Optional` **nodes**: `ArrayLike`<`HTMLElement`>
The nodes to render. If this is set, `querySelector` will be ignored.
#### Defined in
[packages/mermaid/src/mermaid.ts:48](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L48)
---
### postRenderCallback
`Optional` **postRenderCallback**: (`id`: `string`) => `unknown`
A callback to call after each diagram is rendered.
#### Type declaration
▸ (`id`): `unknown`
##### Parameters
| Name | Type |
| :--- | :------- |
| `id` | `string` |
##### Returns
`unknown`
#### Defined in
[packages/mermaid/src/mermaid.ts:52](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L52)
---
### querySelector
`Optional` **querySelector**: `string`
The query selector to use when finding elements to render. Default: `".mermaid"`.
#### Defined in
[packages/mermaid/src/mermaid.ts:44](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L44)
---
### suppressErrors
`Optional` **suppressErrors**: `boolean`
If `true`, errors will be logged to the console, but not thrown. Default: `false`
#### Defined in
[packages/mermaid/src/mermaid.ts:56](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L56)

View File

@@ -1,21 +0,0 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/interfaces/mermaidAPI.ParseResult.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaidAPI.ParseResult.md).
# Interface: ParseResult
[mermaidAPI](../modules/mermaidAPI.md).ParseResult
## Properties
### diagramType
**diagramType**: `string`
The diagram type, e.g. 'flowchart', 'sequence', etc.
#### Defined in
[mermaidAPI.ts:71](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L71)

View File

@@ -10,11 +10,11 @@
### defaultConfig
`Const` **defaultConfig**: `MermaidConfig`
`Const` **defaultConfig**: [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
#### Defined in
[config.ts:8](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L8)
[packages/mermaid/src/config.ts:8](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L8)
## Functions
@@ -26,9 +26,9 @@ Pushes in a directive to the configuration
#### Parameters
| Name | Type | Description |
| :---------- | :-------------- | :----------------------- |
| `directive` | `MermaidConfig` | The directive to push in |
| Name | Type | Description |
| :---------- | :-------------------------------------------------------- | :----------------------- |
| `directive` | [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md) | The directive to push in |
#### Returns
@@ -36,13 +36,13 @@ Pushes in a directive to the configuration
#### Defined in
[config.ts:188](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L188)
[packages/mermaid/src/config.ts:188](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L188)
---
### getConfig
**getConfig**(): `MermaidConfig`
**getConfig**(): [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
## getConfig
@@ -54,19 +54,19 @@ Pushes in a directive to the configuration
#### Returns
`MermaidConfig`
[`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
The currentConfig
#### Defined in
[config.ts:131](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L131)
[packages/mermaid/src/config.ts:131](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L131)
---
### getSiteConfig
**getSiteConfig**(): `MermaidConfig`
**getSiteConfig**(): [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
## getSiteConfig
@@ -78,13 +78,13 @@ The currentConfig
#### Returns
`MermaidConfig`
[`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
The siteConfig
#### Defined in
[config.ts:96](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L96)
[packages/mermaid/src/config.ts:96](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L96)
---
@@ -108,9 +108,9 @@ The siteConfig
#### Parameters
| Name | Type | Default value | Description |
| :------- | :-------------- | :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `config` | `MermaidConfig` | `siteConfig` | base set of values, which currentConfig could be **reset** to. Defaults to the current siteConfig (e.g returned by [getSiteConfig](config.md#getsiteconfig)). |
| Name | Type | Default value | Description |
| :------- | :-------------------------------------------------------- | :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `config` | [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md) | `siteConfig` | base set of values, which currentConfig could be **reset** to. Defaults to the current siteConfig (e.g returned by [getSiteConfig](config.md#getsiteconfig)). |
#### Returns
@@ -118,7 +118,7 @@ The siteConfig
#### Defined in
[config.ts:221](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L221)
[packages/mermaid/src/config.ts:221](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L221)
---
@@ -147,7 +147,7 @@ options in-place
#### Defined in
[config.ts:146](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L146)
[packages/mermaid/src/config.ts:146](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L146)
---
@@ -157,9 +157,9 @@ options in-place
#### Parameters
| Name | Type |
| :----- | :-------------- |
| `conf` | `MermaidConfig` |
| Name | Type |
| :----- | :-------------------------------------------------------- |
| `conf` | [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md) |
#### Returns
@@ -167,13 +167,13 @@ options in-place
#### Defined in
[config.ts:75](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L75)
[packages/mermaid/src/config.ts:75](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L75)
---
### setConfig
**setConfig**(`conf`): `MermaidConfig`
**setConfig**(`conf`): [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
## setConfig
@@ -187,25 +187,25 @@ corresponding siteConfig value.
#### Parameters
| Name | Type | Description |
| :----- | :-------------- | :-------------------------- |
| `conf` | `MermaidConfig` | The potential currentConfig |
| Name | Type | Description |
| :----- | :-------------------------------------------------------- | :-------------------------- |
| `conf` | [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md) | The potential currentConfig |
#### Returns
`MermaidConfig`
[`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
The currentConfig merged with the sanitized conf
#### Defined in
[config.ts:113](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L113)
[packages/mermaid/src/config.ts:113](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L113)
---
### setSiteConfig
**setSiteConfig**(`conf`): `MermaidConfig`
**setSiteConfig**(`conf`): [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
## setSiteConfig
@@ -220,57 +220,57 @@ function _Default value: At default, will mirror Global Config_
#### Parameters
| Name | Type | Description |
| :----- | :-------------- | :------------------------------------------ |
| `conf` | `MermaidConfig` | The base currentConfig to use as siteConfig |
| Name | Type | Description |
| :----- | :-------------------------------------------------------- | :------------------------------------------ |
| `conf` | [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md) | The base currentConfig to use as siteConfig |
#### Returns
`MermaidConfig`
[`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
The new siteConfig
#### Defined in
[config.ts:61](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L61)
[packages/mermaid/src/config.ts:61](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L61)
---
### updateCurrentConfig
**updateCurrentConfig**(`siteCfg`, `_directives`): `MermaidConfig`
**updateCurrentConfig**(`siteCfg`, `_directives`): [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
#### Parameters
| Name | Type |
| :------------ | :----------------- |
| `siteCfg` | `MermaidConfig` |
| `_directives` | `MermaidConfig`\[] |
| Name | Type |
| :------------ | :----------------------------------------------------------- |
| `siteCfg` | [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md) |
| `_directives` | [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)\[] |
#### Returns
`MermaidConfig`
[`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
#### Defined in
[config.ts:15](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L15)
[packages/mermaid/src/config.ts:15](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L15)
---
### updateSiteConfig
**updateSiteConfig**(`conf`): `MermaidConfig`
**updateSiteConfig**(`conf`): [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
#### Parameters
| Name | Type |
| :----- | :-------------- |
| `conf` | `MermaidConfig` |
| Name | Type |
| :----- | :-------------------------------------------------------- |
| `conf` | [`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md) |
#### Returns
`MermaidConfig`
[`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)
#### Defined in
[config.ts:79](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L79)
[packages/mermaid/src/config.ts:79](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.ts#L79)

View File

@@ -14,13 +14,13 @@
#### Defined in
[defaultConfig.ts:275](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/defaultConfig.ts#L275)
[packages/mermaid/src/defaultConfig.ts:266](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/defaultConfig.ts#L266)
---
### default
`Const` **default**: `RequiredDeep`<`MermaidConfig`>
`Const` **default**: `RequiredDeep`<[`MermaidConfig`](../interfaces/mermaid.MermaidConfig.md)>
Default mermaid configuration options.
@@ -30,4 +30,4 @@ Non-JSON JS default values are listed in this file, e.g. functions, or
#### Defined in
[defaultConfig.ts:18](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/defaultConfig.ts#L18)
[packages/mermaid/src/defaultConfig.ts:18](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/defaultConfig.ts#L18)

View File

@@ -0,0 +1,90 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/modules/mermaid.md](../../../../packages/mermaid/src/docs/config/setup/modules/mermaid.md).
# Module: mermaid
## Classes
- [UnknownDiagramError](../classes/mermaid.UnknownDiagramError.md)
## Interfaces
- [DetailedError](../interfaces/mermaid.DetailedError.md)
- [ExternalDiagramDefinition](../interfaces/mermaid.ExternalDiagramDefinition.md)
- [LayoutData](../interfaces/mermaid.LayoutData.md)
- [LayoutLoaderDefinition](../interfaces/mermaid.LayoutLoaderDefinition.md)
- [Mermaid](../interfaces/mermaid.Mermaid.md)
- [MermaidConfig](../interfaces/mermaid.MermaidConfig.md)
- [ParseOptions](../interfaces/mermaid.ParseOptions.md)
- [ParseResult](../interfaces/mermaid.ParseResult.md)
- [RenderOptions](../interfaces/mermaid.RenderOptions.md)
- [RenderResult](../interfaces/mermaid.RenderResult.md)
- [RunOptions](../interfaces/mermaid.RunOptions.md)
## Type Aliases
### InternalHelpers
Ƭ **InternalHelpers**: typeof `internalHelpers`
#### Defined in
[packages/mermaid/src/internals.ts:33](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/internals.ts#L33)
---
### ParseErrorFunction
Ƭ **ParseErrorFunction**: (`err`: `string` | [`DetailedError`](../interfaces/mermaid.DetailedError.md) | `unknown`, `hash?`: `any`) => `void`
#### Type declaration
▸ (`err`, `hash?`): `void`
##### Parameters
| Name | Type |
| :------ | :--------------------------------------------------------------------------------- |
| `err` | `string` \| [`DetailedError`](../interfaces/mermaid.DetailedError.md) \| `unknown` |
| `hash?` | `any` |
##### Returns
`void`
#### Defined in
[packages/mermaid/src/Diagram.ts:10](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/Diagram.ts#L10)
---
### SVG
Ƭ **SVG**: `d3.Selection`<`SVGSVGElement`, `unknown`, `Element` | `null`, `unknown`>
#### Defined in
[packages/mermaid/src/diagram-api/types.ts:130](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/diagram-api/types.ts#L130)
---
### SVGGroup
Ƭ **SVGGroup**: `d3.Selection`<`SVGGElement`, `unknown`, `Element` | `null`, `unknown`>
#### Defined in
[packages/mermaid/src/diagram-api/types.ts:132](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/diagram-api/types.ts#L132)
## Variables
### default
`Const` **default**: [`Mermaid`](../interfaces/mermaid.Mermaid.md)
#### Defined in
[packages/mermaid/src/mermaid.ts:440](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L440)

View File

@@ -1,284 +0,0 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/modules/mermaidAPI.md](../../../../packages/mermaid/src/docs/config/setup/modules/mermaidAPI.md).
# Module: mermaidAPI
## Interfaces
- [ParseOptions](../interfaces/mermaidAPI.ParseOptions.md)
- [ParseResult](../interfaces/mermaidAPI.ParseResult.md)
- [RenderResult](../interfaces/mermaidAPI.RenderResult.md)
## References
### default
Renames and re-exports [mermaidAPI](mermaidAPI.md#mermaidapi)
## Type Aliases
### D3Element
Ƭ **D3Element**: `any`
#### Defined in
[mermaidAPI.ts:74](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L74)
## Variables
### mermaidAPI
`Const` **mermaidAPI**: `Readonly`<{ `defaultConfig`: `MermaidConfig` = configApi.defaultConfig; `getConfig`: () => `MermaidConfig` = configApi.getConfig; `getDiagramFromText`: (`text`: `string`, `metadata`: `Pick`<`DiagramMetadata`, `"title"`>) => `Promise`<`Diagram`> ; `getSiteConfig`: () => `MermaidConfig` = configApi.getSiteConfig; `globalReset`: () => `void` ; `initialize`: (`options`: `MermaidConfig`) => `void` ; `parse`: (`text`: `string`, `parseOptions`: [`ParseOptions`](../interfaces/mermaidAPI.ParseOptions.md) & { `suppressErrors`: `true` }) => `Promise`<[`ParseResult`](../interfaces/mermaidAPI.ParseResult.md) | `false`>(`text`: `string`, `parseOptions?`: [`ParseOptions`](../interfaces/mermaidAPI.ParseOptions.md)) => `Promise`<[`ParseResult`](../interfaces/mermaidAPI.ParseResult.md)> ; `render`: (`id`: `string`, `text`: `string`, `svgContainingElement?`: `Element`) => `Promise`<[`RenderResult`](../interfaces/mermaidAPI.RenderResult.md)> ; `reset`: () => `void` ; `setConfig`: (`conf`: `MermaidConfig`) => `MermaidConfig` = configApi.setConfig; `updateSiteConfig`: (`conf`: `MermaidConfig`) => `MermaidConfig` = configApi.updateSiteConfig }>
## mermaidAPI configuration defaults
```ts
const config = {
theme: 'default',
logLevel: 'fatal',
securityLevel: 'strict',
startOnLoad: true,
arrowMarkerAbsolute: false,
suppressErrorRendering: false,
er: {
diagramPadding: 20,
layoutDirection: 'TB',
minEntityWidth: 100,
minEntityHeight: 75,
entityPadding: 15,
stroke: 'gray',
fill: 'honeydew',
fontSize: 12,
useMaxWidth: true,
},
flowchart: {
diagramPadding: 8,
htmlLabels: true,
curve: 'basis',
},
sequence: {
diagramMarginX: 50,
diagramMarginY: 10,
actorMargin: 50,
width: 150,
height: 65,
boxMargin: 10,
boxTextMargin: 5,
noteMargin: 10,
messageMargin: 35,
messageAlign: 'center',
mirrorActors: true,
bottomMarginAdj: 1,
useMaxWidth: true,
rightAngles: false,
showSequenceNumbers: false,
},
gantt: {
titleTopMargin: 25,
barHeight: 20,
barGap: 4,
topPadding: 50,
leftPadding: 75,
gridLineStartPadding: 35,
fontSize: 11,
fontFamily: '"Open Sans", sans-serif',
numberSectionStyles: 4,
axisFormat: '%Y-%m-%d',
topAxis: false,
displayMode: '',
},
};
mermaid.initialize(config);
```
#### Defined in
[mermaidAPI.ts:634](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L634)
## Functions
### appendDivSvgG
**appendDivSvgG**(`parentRoot`, `id`, `enclosingDivId`, `divStyle?`, `svgXlink?`): `any`
Append an enclosing div, then svg, then g (group) to the d3 parentRoot. Set attributes.
Only set the style attribute on the enclosing div if divStyle is given.
Only set the xmlns:xlink attribute on svg if svgXlink is given.
Return the last node appended
#### Parameters
| Name | Type | Description |
| :--------------- | :------- | :----------------------------------------------- |
| `parentRoot` | `any` | the d3 node to append things to |
| `id` | `string` | the value to set the id attr to |
| `enclosingDivId` | `string` | the id to set the enclosing div to |
| `divStyle?` | `string` | if given, the style to set the enclosing div to |
| `svgXlink?` | `string` | if given, the link to set the new svg element to |
#### Returns
`any`
- returns the parentRoot that had nodes appended
#### Defined in
[mermaidAPI.ts:276](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L276)
---
### cleanUpSvgCode
**cleanUpSvgCode**(`svgCode?`, `inSandboxMode`, `useArrowMarkerUrls`): `string`
Clean up svgCode. Do replacements needed
#### Parameters
| Name | Type | Default value | Description |
| :------------------- | :-------- | :------------ | :---------------------------------------------------------- |
| `svgCode` | `string` | `''` | the code to clean up |
| `inSandboxMode` | `boolean` | `undefined` | security level |
| `useArrowMarkerUrls` | `boolean` | `undefined` | should arrow marker's use full urls? (vs. just the anchors) |
#### Returns
`string`
the cleaned up svgCode
#### Defined in
[mermaidAPI.ts:222](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L222)
---
### createCssStyles
**createCssStyles**(`config`, `classDefs?`): `string`
Create the user styles
#### Parameters
| Name | Type | Description |
| :---------- | :--------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ |
| `config` | `MermaidConfig` | configuration that has style and theme settings to use |
| `classDefs` | `undefined` \| `null` \| `Map`<`string`, `DiagramStyleClassDef`> | the classDefs in the diagram text. Might be null if none were defined. Usually is the result of a call to getClasses(...) |
#### Returns
`string`
the string with all the user styles
#### Defined in
[mermaidAPI.ts:153](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L153)
---
### createUserStyles
**createUserStyles**(`config`, `graphType`, `classDefs`, `svgId`): `string`
#### Parameters
| Name | Type |
| :---------- | :----------------------------------------------------- |
| `config` | `MermaidConfig` |
| `graphType` | `string` |
| `classDefs` | `undefined` \| `Map`<`string`, `DiagramStyleClassDef`> |
| `svgId` | `string` |
#### Returns
`string`
#### Defined in
[mermaidAPI.ts:199](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L199)
---
### cssImportantStyles
**cssImportantStyles**(`cssClass`, `element`, `cssClasses?`): `string`
Create a CSS style that starts with the given class name, then the element,
with an enclosing block that has each of the cssClasses followed by !important;
#### Parameters
| Name | Type | Default value | Description |
| :----------- | :---------- | :------------ | :--------------------------------------------- |
| `cssClass` | `string` | `undefined` | CSS class name |
| `element` | `string` | `undefined` | CSS element |
| `cssClasses` | `string`\[] | `[]` | list of CSS styles to append after the element |
#### Returns
`string`
- the constructed string
#### Defined in
[mermaidAPI.ts:138](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L138)
---
### putIntoIFrame
**putIntoIFrame**(`svgCode?`, `svgElement?`): `string`
Put the svgCode into an iFrame. Return the iFrame code
#### Parameters
| Name | Type | Default value | Description |
| :------------ | :------- | :------------ | :--------------------------------------------------------------------------- |
| `svgCode` | `string` | `''` | the svg code to put inside the iFrame |
| `svgElement?` | `any` | `undefined` | the d3 node that has the current svgElement so we can get the height from it |
#### Returns
`string`
- the code with the iFrame that now contains the svgCode
TODO replace btoa(). Replace with buf.toString('base64')?
#### Defined in
[mermaidAPI.ts:253](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L253)
---
### removeExistingElements
**removeExistingElements**(`doc`, `id`, `divId`, `iFrameId`): `void`
Remove any existing elements from the given document
#### Parameters
| Name | Type | Description |
| :--------- | :--------- | :------------------------------------ |
| `doc` | `Document` | the document to removed elements from |
| `id` | `string` | id for any existing SVG element |
| `divId` | `string` | - |
| `iFrameId` | `string` | - |
#### Returns
`void`
#### Defined in
[mermaidAPI.ts:326](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L326)

View File

@@ -24,12 +24,12 @@ Themes can now be customized at the site-wide level, or on individual Mermaid di
## Site-wide Theme
To customize themes site-wide, call the `initialize` method on the `mermaidAPI`.
To customize themes site-wide, call the `initialize` method on the `mermaid`.
Example of `initialize` call setting `theme` to `base`:
```javascript
mermaidAPI.initialize({
mermaid.initialize({
securityLevel: 'loose',
theme: 'base',
});

View File

@@ -193,7 +193,7 @@ await mermaid.run({
### Calling `mermaid.init` - Deprecated
> **Warning**
> mermaid.init is deprecated in v10 and will be removed in v11. Please use mermaid.run instead.
> mermaid.init is deprecated in v10 and will be removed in a future release. Please use mermaid.run instead.
By default, `mermaid.init` will be called when the document is ready, finding all elements with
`class="mermaid"`. If you are adding content after mermaid is loaded, or otherwise need
@@ -217,9 +217,6 @@ Or with no config object, and a jQuery selection:
mermaid.init(undefined, $('#someId .yetAnotherClass'));
```
> **Warning**
> This type of integration is deprecated. Instead the preferred way of handling more complex integration is to use the mermaidAPI instead.
## Usage with webpack
mermaid fully supports webpack. Here is a [working demo](https://github.com/mermaidjs/mermaid-webpack-demo).

View File

@@ -42,6 +42,8 @@ To add an integration to this list, see the [Integrations - create page](./integ
- [CloudScript.io Mermaid Addon](https://marketplace.atlassian.com/apps/1219878/cloudscript-io-mermaid-addon?hosting=cloud&tab=overview)
- [Azure Devops](https://learn.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops#add-mermaid-diagrams-to-a-wiki-page) ✅
- [Deepdwn](https://billiam.itch.io/deepdwn) ✅
- [Doctave](https://www.doctave.com/) ✅
- [Mermaid in Markdown code blocks](https://docs.doctave.com/components/mermaid) ✅
- [GitBook](https://gitbook.com)
- [Mermaid Plugin](https://github.com/JozoVilcek/gitbook-plugin-mermaid)
- [Mermaid plugin for GitBook](https://github.com/wwformat/gitbook-plugin-mermaid-pdf)
@@ -54,8 +56,10 @@ To add an integration to this list, see the [Integrations - create page](./integ
- [SVG diagram generator](https://github.com/SimonKenyonShepard/mermaidjs-github-svg-generator)
- [GitLab](https://docs.gitlab.com/ee/user/markdown.html#diagrams-and-flowcharts) ✅
- [Mermaid Plugin for JetBrains IDEs](https://plugins.jetbrains.com/plugin/20146-mermaid)
- [MonsterWriter](https://www.monsterwriter.com/) ✅
- [Joplin](https://joplinapp.org) ✅
- [LiveBook](https://livebook.dev) ✅
- [Slidev](https://sli.dev) ✅
- [Tuleap](https://docs.tuleap.org/user-guide/writing-in-tuleap.html#graphs) ✅
- [Mermaid Flow Visual Editor](https://www.mermaidflow.app) ✅
- [Mermerd](https://github.com/KarnerTh/mermerd)
@@ -131,7 +135,7 @@ Communication tools and platforms
### Wikis
- [DokuWiki](https://dokuwiki.org)
- [ComboStrap](https://combostrap.com/mermaid)
- [ComboStrap](https://combostrap.com/utility/create-diagram-with-mermaid-vh3ab9yj)
- [Mermaid Plugin](https://www.dokuwiki.org/plugin:mermaid)
- [Foswiki](https://foswiki.org)
- [Mermaid Plugin](https://foswiki.org/Extensions/MermaidPlugin)
@@ -206,6 +210,7 @@ Communication tools and platforms
- [gatsby-remark-mermaid](https://github.com/remcohaszing/gatsby-remark-mermaid)
- [JSDoc](https://jsdoc.app/)
- [jsdoc-mermaid](https://github.com/Jellyvision/jsdoc-mermaid)
- [Madness](https://madness.dannyb.co/)
- [mdBook](https://rust-lang.github.io/mdBook/index.html)
- [mdbook-mermaid](https://github.com/badboy/mdbook-mermaid)
- [MkDocs](https://www.mkdocs.org)

View File

@@ -12,7 +12,7 @@ Try the Ultimate AI, Mermaid, and Visual Diagramming Suite by creating an accoun
<br />
<a href="https://www.producthunt.com/posts/mermaid-chart?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-mermaid&#0045;chart" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=416671&theme=light" alt="Mermaid&#0032;Chart - A&#0032;smarter&#0032;way&#0032;to&#0032;create&#0032;diagrams | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
<a href="https://www.producthunt.com/products/mermaid-chart?utm_source=badge-follow&utm_medium=badge&utm_souce=badge-mermaid&#0045;chart" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/follow.svg?product_id=552855&theme=light" alt="Mermaid&#0032;Chart - A&#0032;smarter&#0032;way&#0032;to&#0032;create&#0032;diagrams | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
## About

View File

@@ -83,3 +83,139 @@ Allows for the limited reconfiguration of a diagram just before it is rendered.
### [Theme Manipulation](../config/theming.md)
An application of using Directives to change [Themes](../config/theming.md). `Theme` is a value within Mermaid's configuration that dictates the color scheme for diagrams.
### Layout and look
We've restructured how Mermaid renders diagrams, enabling new features like selecting layout and look. **Currently, this is supported for flowcharts and state diagrams**, with plans to extend support to all diagram types.
### Selecting Diagram Looks
Mermaid offers a variety of styles or “looks” for your diagrams, allowing you to tailor the visual appearance to match your specific needs or preferences. Whether you prefer a hand-drawn or classic style, you can easily customize your diagrams.
**Available Looks:**
```
• Hand-Drawn Look: For a more personal, creative touch, the hand-drawn look brings a sketch-like quality to your diagrams. This style is perfect for informal settings or when you want to add a bit of personality to your diagrams.
• Classic Look: If you prefer the traditional Mermaid style, the classic look maintains the original appearance that many users are familiar with. Its great for consistency across projects or when you want to keep the familiar aesthetic.
```
**How to Select a Look:**
You can select a look by adding the look parameter in the metadata section of your Mermaid diagram code. Heres an example:
```mermaid-example
---
config:
look: handDrawn
theme: neutral
---
flowchart LR
A[Start] --> B{Decision}
B -->|Yes| C[Continue]
B -->|No| D[Stop]
```
```mermaid
---
config:
look: handDrawn
theme: neutral
---
flowchart LR
A[Start] --> B{Decision}
B -->|Yes| C[Continue]
B -->|No| D[Stop]
```
#### Selecting Layout Algorithms
In addition to customizing the look of your diagrams, Mermaid Chart now allows you to choose different layout algorithms to better organize and present your diagrams, especially when dealing with more complex structures. The layout algorithm dictates how nodes and edges are arranged on the page.
#### Supported Layout Algorithms:
```
• Dagre (default): This is the classic layout algorithm that has been used in Mermaid for a long time. It provides a good balance of simplicity and visual clarity, making it ideal for most diagrams.
• ELK: For those who need more sophisticated layout capabilities, especially when working with large or intricate diagrams, the ELK (Eclipse Layout Kernel) layout offers advanced options. It provides a more optimized arrangement, potentially reducing overlapping and improving readability. This is not included out the box but needs to be added when integrating mermaid for sites/applications that want to have elk support.
```
#### How to Select a Layout Algorithm:
You can specify the layout algorithm directly in the metadata section of your Mermaid diagram code. Heres an example:
```mermaid-example
---
config:
layout: elk
look: handDrawn
theme: dark
---
flowchart TB
A[Start] --> B{Decision}
B -->|Yes| C[Continue]
B -->|No| D[Stop]
```
```mermaid
---
config:
layout: elk
look: handDrawn
theme: dark
---
flowchart TB
A[Start] --> B{Decision}
B -->|Yes| C[Continue]
B -->|No| D[Stop]
```
In this example, the `layout: elk` line configures the diagram to use the ELK layout algorithm, along with the hand drawn look and forest theme.
#### Customizing ELK Layout:
When using the ELK layout, you can further refine the diagrams configuration, such as how nodes are placed and whether parallel edges should be combined:
- To combine parallel edges, use mergeEdges: true | false.
- To configure node placement, use nodePlacementStrategy with the following options:
- SIMPLE
- NETWORK_SIMPLEX
- LINEAR_SEGMENTS
- BRANDES_KOEPF (default)
**Example configuration:**
```
---
config:
layout: elk
elk:
mergeEdges: true
nodePlacementStrategy: LINEAR_SEGMENTS
---
flowchart LR
A[Start] --> B{Choose Path}
B -->|Option 1| C[Path 1]
B -->|Option 2| D[Path 2]
#### Using Dagre Layout with Classic Look:
```
Another example:
```
---
config:
layout: dagre
look: classic
theme: default
---
flowchart LR
A[Start] --> B{Choose Path}
B -->|Option 1| C[Path 1]
B -->|Option 2| D[Path 2]
```
These options give you the flexibility to create diagrams that not only look great but are also arranged to best suit your datas structure and flow.
When integrating Mermaid, you can include look and layout configuration with the initialize call. This is also where you add the loading of elk.

View File

@@ -6,6 +6,48 @@
# Blog
## [Mermaid v11 is out!](https://www.mermaidchart.com/blog/posts/mermaid-v11/)
23 August 2024 · 2 mins
Mermaid v11 introduces advanced layout options, new diagram types, and enhanced customization features, thanks to the incredible contributions from our community.
## [Mermaid Innovation - Introducing New Looks for Mermaid Diagrams](https://www.mermaidchart.com/blog/posts/mermaid-innovation-introducing-new-looks-for-mermaid-diagrams/)
6 August 2024 ·3 mins
Discover the fresh new and unique Neo and Hand-Drawn looks for Mermaid Diagrams, while still offering the classic look you love.
## [The Mermaid Chart Plugin for Jira: A How-To User Guide](https://www.mermaidchart.com/blog/posts/the-mermaid-chart-plugin-for-jira-a-how-to-user-guide/)
31 July 2024 · 5 mins
The Mermaid Chart plugin for Jira has arrived!
## [Mermaid AI Is Here to Change the Game For Diagram Creation](https://www.mermaidchart.com/blog/posts/mermaid-ai-is-here-to-change-the-game-for-diagram-creation/)
22 July 2024 · 5 mins
The Mermaid AI chat interface
## [How to Make a Sequence Diagram with Mermaid Chart](https://www.mermaidchart.com/blog/posts/how-to-make-a-sequence-diagram-in-mermaid-chart-step-by-step-guide/)
8 July 2024 · 6 mins
Sequence diagrams are important for communicating complex systems in a clear and concise manner.
## [How to Use the New “Comments” Feature in Mermaid Chart](https://www.mermaidchart.com/blog/posts/how-to-use-the-new-comments-feature-in-mermaid-chart/)
2 July 2024 · 3 mins
How to Use the New Comments Feature in Mermaid Chart
## [How to Use the official Mermaid Chart for Confluence app](https://www.mermaidchart.com/blog/posts/how-to-use-the-official-mermaid-chart-for-confluence-app/)
21 May 2024 · 4 mins
It doesnt matter if youre a data enthusiast, software engineer, or visual storyteller; our Confluence app can allow you to embed Mermaid Chart diagrams — and dynamically edit them — within your Confluence pages.
## [How to Choose the Right Documentation Software](https://www.mermaidchart.com/blog/posts/how-to-choose-the-right-documentation-software/)
7 May 2024 · 5 mins

View File

@@ -136,7 +136,7 @@ Cardinality is a property that describes how many elements of another entity can
| 1+ | 1+ | One or more |
| zero or more | zero or more | Zero or more |
| zero or many | zero or many | Zero or more |
| many(0) | many(1) | Zero or more |
| many(0) | many(0) | Zero or more |
| 0+ | 0+ | Zero or more |
| only one | only one | Exactly one |
| 1 | 1 | Exactly one |

View File

@@ -172,7 +172,7 @@ The `title` is an _optional_ string to be displayed at the top of the Gantt char
The `excludes` is an _optional_ attribute that accepts specific dates in YYYY-MM-DD format, days of the week ("sunday") or "weekends", but not the word "weekdays".
These date will be marked on the graph, and be excluded from the duration calculation of tasks. Meaning that if there are excluded dates during a task interval, the number of 'skipped' days will be added to the end of the task to ensure the duration is as specified in the code.
#### Weekend (v\<MERMAID_RELEASE_VERSION>+)
#### Weekend (v\11.0.0+)
When excluding weekends, it is possible to configure the weekends to be either Friday and Saturday or Saturday and Sunday. By default weekends are Saturday and Sunday.
To define the weekend start day, there is an _optional_ attribute `weekend` that can be added in a new line followed by either `friday` or `saturday`.

View File

@@ -918,7 +918,7 @@ Usage example:
commit
```
### Bottom to Top (`BT:`) (v\<MERMAID_RELEASE_VERSION>+)
### Bottom to Top (`BT:`) (v11.0.0+)
In `BT` (**Bottom-to-Top**) orientation, the commits run from bottom to top of the graph and branches are arranged side-by-side.

View File

@@ -4,7 +4,7 @@
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/syntax/packet.md](../../packages/mermaid/src/docs/syntax/packet.md).
# Packet Diagram (v\<MERMAID_RELEASE_VERSION>+)
# Packet Diagram (v11.0.0+)
## Introduction
@@ -12,7 +12,7 @@ A packet diagram is a visual representation used to illustrate the structure and
## Usage
This diagram type is particularly useful for network engineers, educators, and students who require a clear and concise way to represent the structure of network packets.
This diagram type is particularly useful for developers, network engineers, educators, and students who require a clear and concise way to represent the structure of network packets.
## Syntax

View File

@@ -206,18 +206,20 @@ Messages can be of two displayed either solid or with a dotted line.
[Actor][Arrow][Actor]:Message text
```
There are six types of arrows currently supported:
There are ten types of arrows currently supported:
| Type | Description |
| ------ | ------------------------------------------------ |
| `->` | Solid line without arrow |
| `-->` | Dotted line without arrow |
| `->>` | Solid line with arrowhead |
| `-->>` | Dotted line with arrowhead |
| `-x` | Solid line with a cross at the end |
| `--x` | Dotted line with a cross at the end. |
| `-)` | Solid line with an open arrow at the end (async) |
| `--)` | Dotted line with a open arrow at the end (async) |
| Type | Description |
| -------- | ---------------------------------------------------- |
| `->` | Solid line without arrow |
| `-->` | Dotted line without arrow |
| `->>` | Solid line with arrowhead |
| `-->>` | Dotted line with arrowhead |
| `<<->>` | Solid line with bidirectional arrowheads (v11.0.0+) |
| `<<-->>` | Dotted line with bidirectional arrowheads (v11.0.0+) |
| `-x` | Solid line with a cross at the end |
| `--x` | Dotted line with a cross at the end. |
| `-)` | Solid line with an open arrow at the end (async) |
| `--)` | Dotted line with a open arrow at the end (async) |
## Activations
@@ -304,17 +306,35 @@ sequenceDiagram
Note over Alice,John: A typical interaction
```
It is also possible to add a line break (applies to text input in general):
## Line breaks
Line break can be added to Note and Message:
```mermaid-example
sequenceDiagram
Alice->John: Hello John, how are you?
Alice->John: Hello John,<br/>how are you?
Note over Alice,John: A typical interaction<br/>But now in two lines
```
```mermaid
sequenceDiagram
Alice->John: Hello John, how are you?
Alice->John: Hello John,<br/>how are you?
Note over Alice,John: A typical interaction<br/>But now in two lines
```
Line breaks in Actor names requires aliases:
```mermaid-example
sequenceDiagram
participant Alice as Alice<br/>Johnson
Alice->John: Hello John,<br/>how are you?
Note over Alice,John: A typical interaction<br/>But now in two lines
```
```mermaid
sequenceDiagram
participant Alice as Alice<br/>Johnson
Alice->John: Hello John,<br/>how are you?
Note over Alice,John: A typical interaction<br/>But now in two lines
```

View File

@@ -483,8 +483,8 @@ a _[valid CSS property name](https://www.w3.org/TR/CSS/#properties)_ followed by
Here is an example of a classDef with just one property-value pair:
```
classDef movement font-style:italic;
```txt
classDef movement font-style:italic;
```
where
@@ -496,8 +496,8 @@ If you want to have more than one _property-value pair_ then you put a comma (`,
Here is an example with three property-value pairs:
```
classDef badBadEvent fill:#f00,color:white,font-weight:bold,stroke-width:2px,stroke:yellow
```txt
classDef badBadEvent fill:#f00,color:white,font-weight:bold,stroke-width:2px,stroke:yellow
```
where
@@ -522,7 +522,7 @@ There are two ways to apply a `classDef` style to a state:
A `class` statement tells Mermaid to apply the named classDef to one or more classes. The form is:
```txt
class [one or more state names, separated by commas] [name of a style defined with classDef]
class [one or more state names, separated by commas] [name of a style defined with classDef]
```
Here is an example applying the `badBadEvent` style to a state named `Crash`:

Some files were not shown because too many files have changed in this diff Show More