Compare commits

..

242 Commits

Author SHA1 Message Date
Knut Sveidqvist
20298d243a v10.0.2 2023-03-02 13:45:56 +01:00
Sidharth Vinod
6f3077c856 fix: dayjs import extension 2023-03-01 23:16:24 +05:30
Knut Sveidqvist
4a9d96aaba Setting version to 10.0.1 2023-03-01 14:04:03 +01:00
Knut Sveidqvist
4275aa613c Merge pull request #4169 from mermaid-js/4168_elk_diamon_subgraph
Elk layout for flowcharts: Incorrect placement of edges when using diamonds in subgraphs
2023-03-01 13:44:08 +01:00
Knut Sveidqvist
a65fb3b979 #4168 Adding the correct offset for the edges 2023-03-01 13:38:26 +01:00
Knut Sveidqvist
c0dba713c5 Updated import of cytoscape for consistent behavior 2023-03-01 09:29:59 +01:00
Sidharth Vinod
807e1f303d Use cytoscape esm 2023-02-28 20:40:56 +05:30
Sidharth Vinod
65f5f9dc45 Revert "chore: Defer elk loading"
This reverts commit 037504785c.
2023-02-28 20:39:06 +05:30
Sidharth Vinod
b8b8c4740a Revert "Split cytoscape"
This reverts commit f81f9f7c95.
2023-02-28 20:31:03 +05:30
Sidharth Vinod
f8f7d94d5a fix: Class with members and styles 2023-02-28 19:34:54 +05:30
Knut Sveidqvist
114ab87816 Merge pull request #4160 from mermaid-js/sidv/fix4157
fix #4157: Inject only fontFamily without replacing themeVariables
2023-02-28 13:38:52 +01:00
Sidharth Vinod
4a6056b558 typo 2023-02-28 18:01:46 +05:30
knsv
3a56af9633 Update docs 2023-02-28 12:24:04 +00:00
Knut Sveidqvist
fda0c8d0a9 Merge branch 'develop' into sidv/fix4157 2023-02-28 13:20:37 +01:00
Knut Sveidqvist
b932cd0930 Merge pull request #4128 from kshitijsaksena/bug/3949_erdiagram_attribute_comment
Added grammar to skip comment in attribute block
2023-02-28 13:14:50 +01:00
Knut Sveidqvist
2f06b41f5f Merge pull request #4142 from mermaid-js/sidv/fixRunAsync
Fix(#4140): Async bug in mermaid.run
2023-02-28 13:12:14 +01:00
Sidharth Vinod
1ab3ed1a1a chore: Add vitest imports 2023-02-28 16:58:41 +05:30
Sidharth Vinod
1981f12976 chore: Fix snapshots 2023-02-28 16:58:04 +05:30
Sidharth Vinod
733967f65a fix #4157: Inject only fontFamily without replacing themeVariables 2023-02-28 16:55:25 +05:30
Sidharth Vinod
56d27d555b Merge branch 'sidv/fixRunAsync' of https://github.com/mermaid-js/mermaid into sidv/fixRunAsync
* 'sidv/fixRunAsync' of https://github.com/mermaid-js/mermaid:
  Update packages/mermaid/src/mermaid.ts
2023-02-28 16:49:02 +05:30
Sidharth Vinod
7cee8cb6dc Merge branch 'develop' into sidv/fixRunAsync
* develop: (23 commits)
  Fix test
  refactor(deps): replace `moment` with `dayjs`
  test(gantt): test daylight savings in ganttdb
  Update .lycheeignore
  chore: dagre-d3-es@7.0.9
  chore: Add tsdoc for registerLazyLoadedDiagrams
  feat: Ensure proper detection for flowcharts
  fix: Class label not visible if class is already defined
  Update import
  fix TS errors
  fix TS errors
  feat: Match timeline section width to tasks
  chore: TimelineRenderer in TS
  Fix types
  fix: Detector order
  Lint
  Cleanup nodes.js
  docs: Update classdiagram docs
  classLabel tests
  Formatting
  ...
2023-02-28 16:48:54 +05:30
Knut Sveidqvist
c91fa192aa Update packages/mermaid/src/mermaid.ts
Co-authored-by: Alois Klink <alois@aloisklink.com>
2023-02-28 12:14:35 +01:00
Knut Sveidqvist
3f93edaaf3 Merge pull request #4086 from sidharthv96/sidv/classDiagramLabels
feat: Add support for classDiagram labels
2023-02-28 12:03:22 +01:00
Knut Sveidqvist
0bed5d717b Merge pull request #4126 from mermaid-js/sidv/timelineSectionWidth
💄 section width now covers all tasks - Timeline
2023-02-28 11:59:14 +01:00
Knut Sveidqvist
1b56071eb3 Merge pull request #4124 from mermaid-js/sidv/fixDetectorOrder
fix: Detector order
2023-02-28 11:49:08 +01:00
Sidharth Vinod
e050a5aaa1 Fix test 2023-02-28 15:40:59 +05:30
Sidharth Vinod
9b2f503dc7 Merge branch 'develop' into sidv/classDiagramLabels
* develop:
  refactor(deps): replace `moment` with `dayjs`
  test(gantt): test daylight savings in ganttdb
  Update .lycheeignore
  chore: dagre-d3-es@7.0.9
  Update docs
  Doc (typo): remove duplicate "be"
  💄 section width now covers all tasks
2023-02-28 14:20:11 +05:30
Sidharth Vinod
c7bdc6ad92 Merge pull request #4153 from aloisklink/chore/switch-to-dayjs
Replace `moment-mini`/`moment` date library with `dayjs`
2023-02-28 10:33:21 +05:30
Alois Klink
a5db04b01c refactor(deps): replace moment with dayjs
Replace Mermaid's dependency on `moment` with `dayjs`.

[Moment is now in maintenance mode][1], and they don't recommend
using it.

[Dayjs][2] has almost exactly the same API as moment, and is still
curently being maintained. Unlike moment, dayjs objects are immutable,
which makes our life much easier, but we need to do
`a = a.add(1, "day")` instead of just `a.add(1, "day")`.

We can't use `dayjs.duration`, because unlike `moment.duration`,
[dayjs durations always degrade to ms][3].
This causes issues with daylight savings, since it assumes that each
day is 24 hours, when some days have 23/25 hours with daylight savings.
(it also assumes that each month is 30 days).

However, `dayjs.add(1, "d");` correctly adds 1 days, even when that
day is only 23 hours long, so we can use that instead.

[1]: https://momentjs.com/docs/#/-project-status/
[2]: https://day.js.org/
[3]: https://day.js.org/docs/en/durations/durations
2023-02-26 22:31:12 +00:00
Alois Klink
06640aba06 test(gantt): test daylight savings in ganttdb
Add a quick test that ensures `ganttDb` correctly adds `1d` (1 day),
even on days with 25 hours.

This test only runs if the test PC has the TZ='America/Los_Angeles'
set (California has daylight savings).

I've added a test to the GitHub Actions `test.yml` action too for this.
It should only add about 5 seconds to each test, so it isn't too bad.
2023-02-26 06:43:14 +00:00
Sidharth Vinod
8b5cb75ef7 Update .lycheeignore 2023-02-25 10:02:07 +05:30
Sidharth Vinod
50db9dcf8e Merge pull request #4147 from mermaid-js/sidv/dagre-d3-es
chore: dagre-d3-es@7.0.9
2023-02-25 09:37:09 +05:30
Sidharth Vinod
fa8a887ae1 chore: dagre-d3-es@7.0.9 2023-02-25 08:56:18 +05:30
Sidharth Vinod
275a54a562 core: Fix render tsdoc
Co-authored-by:  Dmitry Stratiychuk  <dmstrati@microsoft.com>
2023-02-24 23:10:01 +05:30
Sidharth Vinod
1bace23cea Merge branch 'develop' into sidv/fixRunAsync
* develop:
  Update docs
  fix: fix exports
  Doc (typo): remove duplicate "be"
  💄 section width now covers all tasks
2023-02-24 20:54:55 +05:30
Sidharth Vinod
f62c4831ad Merge pull request #4074 from l2fprod/feature/user_journey_expand_section
💄 section width now covers all tasks
2023-02-24 20:00:17 +05:30
Sidharth Vinod
7b4ce7c6ea chore: Add tsdoc for registerLazyLoadedDiagrams
Co-authored-by: Alois Klink <alois@aloisklink.com>
2023-02-24 17:32:39 +05:30
Sidharth Vinod
dda0d00fb9 Merge branch 'develop' into sidv/fixDetectorOrder
* develop:
  Update docs
  fix Lint
  Update CHANGELOG.md
  Update CHANGELOG.md
  fix: fix exports
  Doc (typo): remove duplicate "be"
  Fix readme link
  Regenerate mermaid docs
  Add deepdwn to cspell
  Add Deepdwn to native integrations list
2023-02-24 17:27:47 +05:30
Sidharth Vinod
4bf5c9f3d8 feat: Ensure proper detection for flowcharts 2023-02-24 17:27:24 +05:30
sidharthv96
0409c5ac27 Update docs 2023-02-24 08:34:38 +00:00
Sidharth Vinod
19e5ccfdda Merge pull request #4133 from Julez404/patch-1
Doc (typo): remove duplicate "be"
2023-02-24 14:00:20 +05:30
Sidharth Vinod
b13707fa7b fix: Class label not visible if class is already defined 2023-02-24 13:46:56 +05:30
Sidharth Vinod
716a4d2cbc Update import 2023-02-24 13:29:34 +05:30
Sidharth Vinod
3b2d55efec Merge branch 'develop' into sidv/classDiagramLabels
* develop: (85 commits)
  fix Lint
  Update CHANGELOG.md
  Update CHANGELOG.md
  fix: fix exports
  Fix readme link
  Regenerate mermaid docs
  Add deepdwn to cspell
  Add Deepdwn to native integrations list
  docs: Fix changelog
  docs: v10 breaking changes
  Remove `null` from diagrams before render
  fix docs diagram
  Updated version
  Minor cleanup to trigger build.
  Fix spellings
  Wrap option working in test case
  Fix typos
  Minor cleanup
  Removed the deprecated use of mindmap in Demo
  Minor cleanup
  ...
2023-02-24 13:28:28 +05:30
Sidharth Vinod
870550bd7e Merge pull request #4135 from Mister-Hope/develop
fix: fix exports
2023-02-24 12:38:47 +05:30
Sidharth Vinod
89f1ea49ba Merge branch 'develop' into sidv/fixRunAsync
* develop:
  fix Lint
2023-02-24 12:31:48 +05:30
Sidharth Vinod
7372d7d6c5 fix Lint 2023-02-24 12:31:29 +05:30
Sidharth Vinod
0206ff540a fix(#4140): Deprecate mermaidAPI.render 2023-02-24 12:20:31 +05:30
Sidharth Vinod
1e5d9ae1f4 fix(#4140): Remove direct usage of mermaidAPI.render 2023-02-24 12:15:55 +05:30
Sidharth Vinod
378e6b59e6 Merge branch 'master' into develop
* master:
  Update CHANGELOG.md
  Update CHANGELOG.md
2023-02-23 13:19:11 +05:30
Sidharth Vinod
8910ecb463 Update CHANGELOG.md 2023-02-23 13:18:49 +05:30
Sidharth Vinod
ca97210d67 Update CHANGELOG.md 2023-02-23 13:13:36 +05:30
Mr.Hope
f8abc9c6d5 fix: fix exports
"types" import should always be first
2023-02-23 15:20:17 +08:00
Yoshi404
ef20e0b77a Doc (typo): remove duplicate "be" 2023-02-22 22:34:30 +01:00
Sidharth Vinod
f3b313ec1d Merge branch 'master' into develop
* master:
  Fix readme link
2023-02-22 12:34:11 +05:30
Sidharth Vinod
8f830a1698 Fix readme link 2023-02-22 12:33:50 +05:30
Sidharth Vinod
6a6b200a04 Merge pull request #4127 from Billiam/patch-1
Adding app (Deepdwn) to integrations list
2023-02-22 11:41:20 +05:30
Billiam
15231924cd Regenerate mermaid docs 2023-02-21 21:50:02 -06:00
Billiam
7d4692f7b2 Add deepdwn to cspell 2023-02-21 21:24:39 -06:00
Kshitij
285a7448ae Added grammar to skipcomment in attribute block 2023-02-22 08:36:44 +05:30
Billiam
fd6ce89933 Add Deepdwn to native integrations list 2023-02-21 20:56:26 -06:00
Sidharth Vinod
c8e351c2bb fix TS errors 2023-02-22 02:15:15 +05:30
Sidharth Vinod
a59904cf16 fix TS errors 2023-02-22 02:14:16 +05:30
Sidharth Vinod
df36968ec8 feat: Match timeline section width to tasks 2023-02-22 02:10:35 +05:30
Sidharth Vinod
2ab1e15b86 chore: TimelineRenderer in TS 2023-02-22 02:09:14 +05:30
Sidharth Vinod
eca4163363 Fix types 2023-02-21 23:24:11 +05:30
Sidharth Vinod
1ac219282b fix: Detector order 2023-02-21 23:00:03 +05:30
Sidharth Vinod
0df8c149f9 Merge branch 'master' into develop
* master:
  docs: Fix changelog
  docs: v10 breaking changes
  Remove `null` from diagrams before render
  fix docs diagram
2023-02-21 21:40:29 +05:30
Sidharth Vinod
bdf2667389 docs: Fix changelog 2023-02-21 21:40:06 +05:30
Sidharth Vinod
b868777184 docs: v10 breaking changes 2023-02-21 21:35:54 +05:30
Sidharth Vinod
fe2ef5e0c6 Remove null from diagrams before render 2023-02-21 16:33:42 +05:30
Sidharth Vinod
ac21fe2d5c fix docs diagram 2023-02-21 16:25:18 +05:30
Per Brolin
6b251de227 Merge branch 'master' into develop 2023-02-21 10:29:21 +01:00
Per Brolin
bb56492afe Merge remote-tracking branch 'origin/master' 2023-02-21 10:27:50 +01:00
Per Brolin
2a9e846a49 Merge branch 'release/10.0.0' 2023-02-21 10:27:12 +01:00
Per Brolin
3b25cd3238 Updated version 2023-02-21 10:25:02 +01:00
Sidharth Vinod
4bc997cb8f Minor cleanup to trigger build. 2023-02-21 13:29:43 +05:30
Sidharth Vinod
555d4f2cdc Fix spellings 2023-02-21 13:27:37 +05:30
Sidharth Vinod
75633ba125 Merge pull request #4118 from fkohrt/patch-1
Fix typos
2023-02-21 13:24:54 +05:30
Per Brolin
ec5fa31a11 Wrap option working in test case 2023-02-21 07:00:51 +01:00
Florian Kohrt
bfb8a75fca Fix typos 2023-02-20 22:06:38 +01:00
Sidharth Vinod
14c15b221a Minor cleanup
Co-authored-by: Per Brolin <per@mermaidchart.com>
2023-02-20 19:28:31 +05:30
Per Brolin
8743e9e30e Removed the deprecated use of mindmap in Demo 2023-02-20 14:50:04 +01:00
pbrolin47
22b18a4320 Merge pull request #4113 from mermaid-js/3192_invisible_edges
Adding the ability to use invisible edges
2023-02-20 14:40:43 +01:00
pbrolin47
786023ffa6 Merge pull request #4110 from mermaid-js/sidv/splitDiagrams
splitDiagrams
2023-02-20 13:54:27 +01:00
Sidharth Vinod
68cdc759a7 Minor cleanup
Co-authored-by: Per Brolin <per@mermaidchart.com>
2023-02-20 17:53:07 +05:30
knsv
eb04d80df0 Update docs 2023-02-20 10:23:13 +00:00
Knut Sveidqvist
b6cac3a431 #3192 Adding docs and visual test 2023-02-20 11:19:23 +01:00
Knut Sveidqvist
3a71618a49 #3192 Adding the ability to create invisible links in flowcharts(v2) 2023-02-20 11:08:25 +01:00
Per Brolin
dde8330888 Merge remote-tracking branch 'origin/develop' into develop 2023-02-20 09:47:39 +01:00
Sidharth Vinod
38b2cbc3d1 chore: Update RunOptions docs
Co-authored-by: Alois Klink <alois@aloisklink.com>
2023-02-20 13:10:54 +05:30
Sidharth Vinod
2272af38b9 Merge branch 'release/10.0.0' into sidv/splitDiagrams
* release/10.0.0:
  Cleanup
2023-02-20 01:32:12 +05:30
Sidharth Vinod
40b5f868de Cleanup 2023-02-20 01:19:07 +05:30
Sidharth Vinod
3e480612c7 Merge branch 'release/10.0.0' into sidv/splitDiagrams
* release/10.0.0:
  Skip elk
2023-02-20 00:36:33 +05:30
Sidharth Vinod
4c7306d808 Skip elk 2023-02-20 00:36:13 +05:30
Sidharth Vinod
f66b524585 Merge branch 'release/10.0.0' into sidv/splitDiagrams
* release/10.0.0:
  Skip all elk tests as it's flaky
2023-02-20 00:31:13 +05:30
Sidharth Vinod
5de5598069 Skip all elk tests as it's flaky 2023-02-20 00:30:27 +05:30
Sidharth Vinod
c9c4320f89 fix unit tests 2023-02-20 00:14:39 +05:30
Sidharth Vinod
543e4de0c8 chore: Remove lazyLoadedDiagrams from config 2023-02-19 23:55:22 +05:30
Sidharth Vinod
8174c7ca16 Cleanup 2023-02-19 22:42:26 +05:30
Sidharth Vinod
014ab85420 Cleanup 2023-02-19 22:41:44 +05:30
sidharthv96
e51817b735 Update docs 2023-02-19 16:46:20 +00:00
Sidharth Vinod
c7d9103ede Merge pull request #4107 from rodja/develop
add links to NiceGUI integration
2023-02-19 22:12:43 +05:30
sidharthv96
92cd5ed133 Update docs 2023-02-19 15:06:09 +00:00
Sidharth Vinod
6fb17bb405 Merge pull request #4105 from Oliboy50/patch-1
docs(flowchart): duplicated hexagon node example
2023-02-19 20:32:43 +05:30
Sidharth Vinod
638362baea Merge branch 'release/10.0.0' into sidv/splitDiagrams
* release/10.0.0: (333 commits)
  10.0.0-rc.3
  Export more types
  no side effects
  10.0.0-rc.2
  skip failing elk test
  Cleanup
  Update docs
  fix(#3406, #3394): Remove init & initThrowsErrors
  chore: Rename lazy loaded diagram definitions
  Skip flowchart-elk failing test
  Fix docs
  fix Server
  Fix lint
  Remove Readme
  Fix E2E Tests
  Fix tests
  feat: Break render and parse types
  chore: Remove all non async render/parse/init
  Remove CJS builds from docs
  chore: Remove cjs from build
  ...
2023-02-19 20:18:26 +05:30
Sidharth Vinod
e22171c5bc 10.0.0-rc.3 2023-02-19 20:07:07 +05:30
Sidharth Vinod
77207e0452 Export more types 2023-02-19 20:04:46 +05:30
Sidharth Vinod
4a721a2d25 no side effects 2023-02-19 18:59:08 +05:30
Sidharth Vinod
db8a14cdaf 10.0.0-rc.2 2023-02-19 18:36:04 +05:30
Sidharth Vinod
1691d48b2e skip failing elk test 2023-02-19 18:26:13 +05:30
Sidharth Vinod
8469e72709 Cleanup 2023-02-19 17:33:46 +05:30
sidharthv96
83f3ceb7f5 Update docs 2023-02-19 10:43:49 +00:00
Sidharth Vinod
4ea7294eeb fix(#3406, #3394): Remove init & initThrowsErrors
New run function added as replacement.
2023-02-19 16:10:08 +05:30
Sidharth Vinod
57fd3e586a chore: Rename lazy loaded diagram definitions 2023-02-19 14:58:55 +05:30
Sidharth Vinod
8363552c3a Skip flowchart-elk failing test 2023-02-19 14:52:08 +05:30
Sidharth Vinod
8c64a90721 Fix docs 2023-02-19 14:21:15 +05:30
Sidharth Vinod
6e3d96e16d fix Server 2023-02-19 14:18:09 +05:30
Sidharth Vinod
1684faf632 Fix lint 2023-02-19 14:15:50 +05:30
Sidharth Vinod
e6b4e2c084 Remove Readme 2023-02-19 14:13:57 +05:30
Sidharth Vinod
6aa3ea43ae Remove Readme 2023-02-19 14:13:30 +05:30
Sidharth Vinod
735aceb37a Fix E2E Tests 2023-02-19 14:03:11 +05:30
Sidharth Vinod
d2927435ab Fix tests 2023-02-19 13:09:31 +05:30
Sidharth Vinod
eaa84d2d91 feat: Break render and parse types
Both render and parse are async now.
Return type of render contains svg and bindFunctions.
Parse will not throw error if parseOptions.silent is passed.
2023-02-19 13:08:13 +05:30
Rodja Trappe
941b959da3 add links to NiceGUI integration 2023-02-19 05:40:45 +01:00
Oliver THEBAULT
ae36586b58 docs(flowchart): duplicated hexagon node example 2023-02-18 22:29:35 +01:00
Sidharth Vinod
d22e8d92c6 chore: Remove all non async render/parse/init 2023-02-19 01:10:15 +05:30
Sidharth Vinod
45adc5fb6b Remove CJS builds from docs 2023-02-19 00:58:36 +05:30
Sidharth Vinod
c1aad5975c Merge branch 'release/9.4.2' into release/10.0.0
* release/9.4.2:
  RC version
  Revert #4034
  Revert #4034
  fix: Vite, D3, Vitest Types
  fix(api): tree shaking package.json import
2023-02-19 00:55:23 +05:30
Sidharth Vinod
0c18c0309b Enable blank issues 2023-02-19 00:37:41 +05:30
Sidharth Vinod
631ff8fb9e chore: Remove cjs from build 2023-02-19 00:37:11 +05:30
Sidharth Vinod
31629fe93f Merge pull request #4101 from AielloChan/develop
fix(api): tree shaking package.json import
2023-02-19 00:06:23 +05:30
Sidharth Vinod
735faa83e9 Merge branch 'release/9.4.2' into pr/AielloChan/4101
* release/9.4.2:
  RC version
  Revert #4034
  Revert #4034
  fix: Vite, D3, Vitest Types
2023-02-19 00:05:53 +05:30
Sidharth Vinod
2c062d648a Merge branch 'develop' into release/9.4.2
* develop:
  Add highlight tag info in contributing.md
  chore(deps): update dependency cypress to v12
  docs: fix links
  Fix types
  chore(deps): update dependency vite to v4
2023-02-19 00:04:44 +05:30
Sidharth Vinod
ea8128e881 RC version 2023-02-18 23:48:09 +05:30
Sidharth Vinod
bd98f1477f Revert #4034 2023-02-18 23:46:11 +05:30
Sidharth Vinod
0f36bbf3e1 Revert #4034 2023-02-18 23:45:45 +05:30
Sidharth Vinod
3c4a6a19bb fix: Vite, D3, Vitest Types 2023-02-18 22:35:14 +05:30
Aiello
e31924eadc fix(api): tree shaking package.json import
Manually tree shaking import statement of package.json
2023-02-18 23:21:20 +08:00
Sidharth Vinod
bb8bd111f8 Merge branch 'develop' into sidv/classDiagramLabels
* develop: (39 commits)
  Add highlight tag info in contributing.md
  chore(deps): update dependency cypress to v12
  docs: fix links
  Skip precommit hooks on CI
  Fix release-publish
  Fix timeline and mindmap
  Updating integration instructions for timeline and mindmap
  Remove node heap
  Revert "chore: Set node heap size"
  Revert "Remove text hint"
  Split cytoscape
  Linear build
  Remove text hint
  Fix elk import
  Dynamic elk import
  Remove heap option
  elk web-worker
  Test publish docs
  chore: Add file extension for dynamic import
  chore: Defer elk loading
  ...
2023-02-16 18:06:41 +05:30
Sidharth Vinod
fec193ebaf Merge pull request #4068 from mermaid-js/renovate/cypress-12.x
chore(deps): update dependency cypress to v12
2023-02-16 18:05:24 +05:30
Sidharth Vinod
4ed6ec1a4d Add highlight tag info in contributing.md 2023-02-16 18:00:41 +05:30
renovate[bot]
ccaa99937f chore(deps): update dependency cypress to v12 2023-02-16 12:27:04 +00:00
Sidharth Vinod
17238c0326 Merge branch 'master' into develop
* master: (24 commits)
  docs: fix links
  Skip precommit hooks on CI
  Fix release-publish
  Fix timeline and mindmap
  Updating integration instructions for timeline and mindmap
  Remove node heap
  Revert "chore: Set node heap size"
  Revert "Remove text hint"
  Split cytoscape
  Linear build
  Remove text hint
  Fix elk import
  Dynamic elk import
  Remove heap option
  elk web-worker
  Test publish docs
  chore: Add file extension for dynamic import
  chore: Defer elk loading
  Update vitepress
  Fix links to integrations.md
  ...
2023-02-16 17:52:07 +05:30
Sidharth Vinod
ac231949f0 Merge pull request #4071 from mermaid-js/renovate/vite-4.x
chore(deps): update dependency vite to v4
2023-02-16 17:50:08 +05:30
Sidharth Vinod
d543bc0411 docs: fix links 2023-02-16 17:27:51 +05:30
Knut Sveidqvist
23ed533fac Merge pull request #4095 from mermaid-js/release/9.4.1
Release 9.4.1
2023-02-16 12:47:51 +01:00
Sidharth Vinod
86cfb1bb60 Skip precommit hooks on CI 2023-02-16 17:09:02 +05:30
Sidharth Vinod
b10d243995 Fix release-publish 2023-02-16 17:07:03 +05:30
Sidharth Vinod
b22978dfb2 Fix timeline and mindmap 2023-02-16 16:52:15 +05:30
Knut Sveidqvist
276f042983 Merge branch 'release/9.4.1' of github.com:mermaid-js/mermaid into release/9.4.1 2023-02-16 12:05:51 +01:00
Knut Sveidqvist
71e4f1152b Updating integration instructions for timeline and mindmap 2023-02-16 12:05:38 +01:00
Sidharth Vinod
0a923dfe91 Remove node heap 2023-02-16 16:28:09 +05:30
Sidharth Vinod
743c636441 Revert "chore: Set node heap size"
This reverts commit 8df965bd60.
2023-02-16 16:10:20 +05:30
Sidharth Vinod
8c7043ffaf Revert "Remove text hint"
This reverts commit ec6ef35d21.
2023-02-16 15:27:43 +05:30
Sidharth Vinod
f81f9f7c95 Split cytoscape 2023-02-16 15:21:45 +05:30
Sidharth Vinod
ea7aaa5d56 Linear build 2023-02-16 15:09:22 +05:30
Sidharth Vinod
ec6ef35d21 Remove text hint 2023-02-16 15:07:55 +05:30
Sidharth Vinod
c815c84e1c Fix elk import 2023-02-16 15:00:35 +05:30
Sidharth Vinod
b8315cec6c Dynamic elk import 2023-02-16 14:42:47 +05:30
Sidharth Vinod
76fdc00b06 Remove heap option 2023-02-16 14:41:22 +05:30
Sidharth Vinod
83797eef38 elk web-worker 2023-02-16 14:21:33 +05:30
Sidharth Vinod
0db2657b7b Test publish docs 2023-02-16 13:05:53 +05:30
Sidharth Vinod
a1a252cc29 Merge branch 'master' into release/9.4.1
* master:
  Update vitepress
  Fix links to integrations.md
  chore: Set node heap size
2023-02-16 13:01:10 +05:30
Sidharth Vinod
533bd7da3c chore: Add file extension for dynamic import 2023-02-16 12:56:32 +05:30
Sidharth Vinod
037504785c chore: Defer elk loading 2023-02-16 12:47:28 +05:30
Sidharth Vinod
62f7fb082e Update vitepress 2023-02-16 12:47:00 +05:30
Sidharth Vinod
b89b90dbb9 Fix links to integrations.md 2023-02-16 12:35:43 +05:30
Sidharth Vinod
e9cc9f4005 chore: Set node heap size 2023-02-16 12:26:27 +05:30
Sidharth Vinod
8df965bd60 chore: Set node heap size 2023-02-16 12:21:24 +05:30
Sidharth Vinod
2b3019fb94 Set node heap size 2023-02-16 12:16:00 +05:30
Sidharth Vinod
31afd7499b chore: Linear build 2023-02-16 12:05:41 +05:30
Knut Sveidqvist
25da0c6c8e Merge branch 'master' into develop 2023-02-15 16:31:44 +01:00
Per Brolin
aad147c219 Merge branch 'master' into develop 2023-02-15 16:21:17 +01:00
Per Brolin
98bec36f81 Merge branch 'release/9.4.0' 2023-02-15 16:20:22 +01:00
Sidharth Vinod
10e6c92766 Lint 2023-02-14 10:56:16 +05:30
Sidharth Vinod
e1710fddd9 Cleanup nodes.js 2023-02-14 10:22:17 +05:30
Sidharth Vinod
bcfefefbd4 docs: Update classdiagram docs 2023-02-14 00:56:40 +05:30
Sidharth Vinod
ef4fbd8bb3 classLabel tests 2023-02-14 00:54:42 +05:30
Sidharth Vinod
17e317385a Formatting 2023-02-14 00:37:17 +05:30
Sidharth Vinod
102900749e Add support for classDiagram labels 2023-02-14 00:36:43 +05:30
Sidharth Vinod
46f2aebabc Cleanup Renderer 2023-02-13 22:48:11 +05:30
Sidharth Vinod
b9c2f62b47 Cleanup classDB 2023-02-13 21:31:43 +05:30
Sidharth Vinod
9d75665460 Fix links to integrations.md 2023-02-13 10:55:24 +05:30
Sidharth Vinod
6fcba87ee8 Merge pull request #4076 from mermaid-js/sidv/readmeLogo
Add logo to readme
2023-02-13 10:49:56 +05:30
Sidharth Vinod
3e9978a58c docs: Add CDN to top links, remove changelog
Co-authored-by: Alois Klink <alois@aloisklink.com>
2023-02-10 12:31:14 +05:30
Sidharth Vinod
fd8fb96ec2 chore: Copy readme before publishing 2023-02-10 12:14:58 +05:30
Sidharth Vinod
ad6a43cf81 Add logo to readme 2023-02-09 12:46:05 +05:30
Sidharth Vinod
f6d9868e35 chore: Lint fix 2023-02-09 11:34:20 +05:30
Sidharth Vinod
94d4ee3a2c Merge pull request #4015 from JeffTrain/develop
docs: minor fix on markdown
2023-02-09 11:33:28 +05:30
Sidharth Vinod
004432fae9 Fix types 2023-02-09 11:28:27 +05:30
renovate[bot]
08ac41113f chore(deps): update dependency vite to v4 2023-02-09 05:54:04 +00:00
Sidharth Vinod
e9d2d084fd Merge pull request #4066 from mermaid-js/renovate/actions-dependency-review-action-3.x
chore(deps): update actions/dependency-review-action action to v3
2023-02-09 11:14:27 +05:30
renovate[bot]
34c98717d5 chore(deps): update actions/dependency-review-action action to v3 2023-02-09 05:44:09 +00:00
Sidharth Vinod
f22ce38ada Merge pull request #4065 from mermaid-js/renovate/actions-configure-pages-3.x
chore(deps): update actions/configure-pages action to v3
2023-02-09 11:13:54 +05:30
Sidharth Vinod
8ba33a994c Merge pull request #4072 from mermaid-js/renovate/timonvs-pr-labeler-action-4.x
chore(deps): update timonvs/pr-labeler-action action to v4
2023-02-09 11:13:15 +05:30
Sidharth Vinod
07764348eb Merge pull request #4069 from mermaid-js/renovate/jsdom-21.x
chore(deps): update dependency jsdom to v21
2023-02-09 11:13:03 +05:30
Sidharth Vinod
803c8ca45b Merge pull request #4070 from mermaid-js/renovate/rimraf-4.x
chore(deps): update dependency rimraf to v4
2023-02-09 11:12:51 +05:30
Frederic Lavigne
f791cd2b24 💄 section width now covers all tasks 2023-02-08 22:02:19 -06:00
Sidharth Vinod
b69b3919bb Merge pull request #4073 from aloisklink/chore/cache-eslint-in-lint-fix
build(lint:fix): cache eslint in pnpm run lint:fix
2023-02-09 08:27:16 +05:30
renovate[bot]
886d1c15c4 chore(deps): update timonvs/pr-labeler-action action to v4 2023-02-09 00:51:38 +00:00
renovate[bot]
72e8b7fb38 chore(deps): update dependency rimraf to v4 2023-02-09 00:49:20 +00:00
renovate[bot]
3a89cc7993 chore(deps): update dependency jsdom to v21 2023-02-09 00:47:08 +00:00
renovate[bot]
bb3a48c91a chore(deps): update actions/configure-pages action to v3 2023-02-09 00:42:44 +00:00
renovate[bot]
d45eda1c60 chore(deps): update dependency @types/uuid to v9 2023-02-09 00:41:24 +00:00
Alois Klink
4d12fb0464 build(lint:fix): cache eslint in pnpm run lint:fix
Cache eslint in `pnpm run lint:fix`.

This was added to the `pnpm run lint` script in
b7f9495 (build: add eslint --cache file, 2022-08-27), but we
didn't add it to `pnpm run lint:fix` due to worries about cache
invalidation.

However, we switched to using `--cache-strategy content` in
b3e509b7 (build(lint): cache eslint with strategy content, 2023-02-05),
which should avoid any caching issues.

Co-authored-by: Sidharth Vinod <sidharthv96@gmail.com>
2023-02-09 00:21:19 +00:00
Sidharth Vinod
08e7bbcc13 Merge pull request #4044 from mermaid-js/renovate/all-minor-patch
chore(deps): update all non-major dependencies (minor)
2023-02-09 01:36:46 +05:30
Sidharth Vinod
f83f09d8b0 Fix vitest type 2023-02-09 01:29:41 +05:30
renovate[bot]
c4eb1608b0 chore(deps): update all non-major dependencies 2023-02-08 19:30:57 +00:00
Per Brolin
e8db9b2bd5 Merge branch 'master' of github.com:mermaid-js/mermaid 2023-01-20 09:01:48 +01:00
cnjeftia
5925d8b731 docs: minor fix on markdown in root folder 2023-01-20 11:45:11 +08:00
cnjeftia
96d5bc7695 docs: minor fix on markdown 2023-01-20 11:29:16 +08:00
Sidharth Vinod
cdba2b4ac8 Update CDN links 2022-12-20 10:56:39 +05:30
Sidharth Vinod
15cfa5d40d Merge branch 'develop' into sidv/splitDiagrams
* develop: (79 commits)
  Minor change
  feat: Add @include support to docs
  feat: Add @include example to docs
  feat: Add @include support to docs
  cleanup
  fix lines
  fix Async rendering
  Revert "sync"
  chore(deps): update pnpm to v7.17.1
  chore(deps): remove dependency on `graphlib`
  test(e2e): make gitgraph snapshots consistent
  chore: Fix lint
  test: Update vitest
  Add official vim plugin to list in integrations
  chore: Cleanup package.json
  chore: Cleanup package.json
  chore: Cleanup package.json
  fix lock
  Docs
  Fix: array concat
  ...
2022-11-30 19:15:21 +05:30
Sidharth Vinod
bf53a03c9d fix: Use lodash instead of lodash-es
lodash with specific imports use lesser space than lodash-es
2022-11-20 18:30:01 +05:30
Sidharth Vinod
3b32f44a60 Merge branch 'sidv/viz' into sidv/splitDiagrams
* sidv/viz:
  feat: Add package visualization
  Ignore stats.html
  feat: Add bundle visualization
2022-11-20 14:25:40 +05:30
Sidharth Vinod
a8cd5e675d Ignore stats.html 2022-11-20 12:10:05 +05:30
Sidharth Vinod
bc269a966d Merge branch 'sidv/sizeCheck' into sidv/splitDiagrams
* sidv/sizeCheck:
  feat: Add size inspection plugin
2022-11-20 12:09:42 +05:30
Sidharth Vinod
d39606cb47 fix: Mindmap link 2022-11-20 12:04:28 +05:30
Sidharth Vinod
b04517b146 chore: Cleanup 2022-11-20 12:00:34 +05:30
Sidharth Vinod
024ee4213f Merge branch 'develop' into sidv/splitDiagrams
* develop: (233 commits)
  style(docs): use `github-dark` hightlight theme
  refactor(docs): use default vitepress highlighter
  fix: Move redirection to router
  ci(renovate): disable pinning dependencies
  Revert "chore(deps): pin dependencies"
  change shiki getHighlighter import
  create separate spec for stateRenderer-v2
  diagramStates should not be global; pass it into functions; minor comment fixes
  diagramClasses no longer needs to be cached; mermaidAPI no longer calls it repeatedly
  (minor) import expectTypeOf in spec
  (minor) fix JSdoc tag
  + spec stateRenderer-v2.js getClasses() to verify it returns a {}
  (minor) fix JSdoc types in comments
  (minor) add comments, remove duplicated line
  chore: Add master to link checker
  chore: Add docs to redirect.ts
  stateDB classes must be a {} not []
  feat: Redirect old documentation links.
  add stateDiagram-v2 to list of graphs with classDefs
  fix(docs): ClassDiagram table
  ...
2022-11-20 11:58:55 +05:30
Sidharth Vinod
e861fbb517 feat: unbundle styles 2022-11-20 11:09:08 +05:30
Sidharth Vinod
2e028ce36d chore: Unify registerLazyLoadedDiagrams 2022-11-20 00:38:35 +05:30
Sidharth Vinod
7306b5ac45 feat: Add size inspection plugin 2022-11-18 17:52:55 +05:30
Sidharth Vinod
0854bab124 fix: Remove diagram dependency from mermaidAPI 2022-11-18 16:51:50 +05:30
Sidharth Vinod
fa51121f29 chore(split): Error 2022-11-18 16:30:54 +05:30
Sidharth Vinod
0b4c6f6477 chore(split): Journey 2022-11-18 16:22:38 +05:30
Sidharth Vinod
e5768454f1 chore(split): State Diagram 2022-11-18 16:19:38 +05:30
Sidharth Vinod
89b5eb56f2 chore(split): Orchestration 2022-11-18 16:11:19 +05:30
Sidharth Vinod
616c969a03 chore(split): Flow type 2022-11-18 16:11:03 +05:30
Sidharth Vinod
4fd826ac8c chore(split): Sequence 2022-11-18 16:10:51 +05:30
Sidharth Vinod
6d5a6ad0c8 chore(split): Requirement 2022-11-18 16:10:42 +05:30
Sidharth Vinod
e0cd76e6fd chore(split): Pie 2022-11-18 16:10:25 +05:30
Sidharth Vinod
f03364f328 chore(split): Info 2022-11-18 16:10:15 +05:30
Sidharth Vinod
25bc381361 chore(split): gitGraph 2022-11-18 16:10:06 +05:30
Sidharth Vinod
38e5c3a81e chore(split): Gantt 2022-11-18 16:09:56 +05:30
Sidharth Vinod
43aa831dd2 chore(split): ER 2022-11-18 16:09:45 +05:30
Sidharth Vinod
4492c5ed4e chore(split): classDiagram 2022-11-18 16:09:36 +05:30
Sidharth Vinod
5dec9eb2f5 fix: C4 type 2022-11-18 16:09:10 +05:30
Sidharth Vinod
02903be558 feat: Split C4 & Flow 2022-11-18 14:28:28 +05:30
Per Brolin
f36cf5b321 Merge branch 'master' of github.com:mermaid-js/mermaid 2022-11-14 13:02:03 +01:00
Per Brolin
82ac667535 Service functions added 2022-11-14 10:03:24 +01:00
226 changed files with 4174 additions and 4381 deletions

View File

@@ -1,4 +1,4 @@
blank_issues_enabled: false
blank_issues_enabled: true
contact_links:
- name: GitHub Discussions
url: https://github.com/mermaid-js/mermaid/discussions

View File

@@ -17,4 +17,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@v3
- name: 'Dependency Review'
uses: actions/dependency-review-action@v2
uses: actions/dependency-review-action@v3

View File

@@ -8,6 +8,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Label PR
uses: TimonVS/pr-labeler-action@v3
uses: TimonVS/pr-labeler-action@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -5,6 +5,7 @@ on:
push:
branches:
- master
pull_request:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
@@ -40,7 +41,7 @@ jobs:
run: pnpm install --frozen-lockfile
- name: Setup Pages
uses: actions/configure-pages@v2
uses: actions/configure-pages@v3
- name: Run Build
run: pnpm --filter mermaid run docs:build:vitepress
@@ -52,6 +53,7 @@ jobs:
# Deployment job
deploy:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
environment:
name: github-pages
runs-on: ubuntu-latest

View File

@@ -11,18 +11,21 @@ jobs:
- uses: actions/checkout@v3
- uses: fregante/setup-git-user@v1
- name: Setup Node.js
- uses: pnpm/action-setup@v2
# uses version from "packageManager" field in package.json
- name: Setup Node.js v18
uses: actions/setup-node@v3
with:
cache: pnpm
node-version: 18.x
- name: Install Yarn
run: npm i yarn --global
- name: Install Json
run: npm i json --global
- name: Install Packages
run: yarn install --frozen-lockfile
run: |
pnpm install --frozen-lockfile
npm i json --global
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
- name: Prepare release
run: |
@@ -31,7 +34,7 @@ jobs:
git checkout -t origin/release/$VERSION
npm version --no-git-tag-version --allow-same-version $VERSION
git add package.json
git commit -m "Bump version $VERSION"
git commit -nm "Bump version $VERSION"
git checkout -t origin/master
git merge -m "Release $VERSION" --no-ff release/$VERSION
git push --no-verify

View File

@@ -33,6 +33,14 @@ jobs:
run: |
pnpm run ci --coverage
- name: Run ganttDb tests using California timezone
env:
# Makes sure that gantt db works even in a timezone that has daylight savings
# since some days have 25 hours instead of 24.
TZ: America/Los_Angeles
run: |
pnpm exec vitest run ./packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts
- name: Upload Coverage to Coveralls
# it feels a bit weird to use @master, but that's what the docs use
# (coveralls also doesn't publish a @v1 we can use)

View File

@@ -9,8 +9,11 @@ https://mkdocs.org/
https://osawards.com/javascript/#nominees
https://osawards.com/javascript/2019
# Timeout error, maybe Twitter has anti-bot defences against GitHub's CI servers?
# Timeout error, maybe Twitter has anti-bot defenses against GitHub's CI servers?
https://twitter.com/mermaidjs_
# Don't check files that are generated during the build via `pnpm docs:code`
packages/mermaid/src/docs/config/setup/*
# Network error: 502, since few days
https://bundlephobia.com/

View File

@@ -1,6 +0,0 @@
version: 2
snapshot:
widths:
- 1280
discovery:
disable-cache: true

View File

@@ -1,15 +0,0 @@
{
"ecmaVersion": 6,
"libs": ["browser"],
"loadEagerly": [],
"dontLoad": ["node_modules/**"],
"plugins": {
"modules": {},
"es_modules": {},
"node": {},
"doc_comment": {
"fullDocs": true,
"strong": true
}
}
}

View File

@@ -20,13 +20,14 @@ const visualizerOptions = (packageName: string, core = false): PluginOption[] =>
if (packageName !== 'mermaid' || !visualize) {
return [];
}
return ['network', 'treemap', 'sunburst'].map((chartType) =>
visualizer({
filename: `./stats/${chartType}${core ? '.core' : ''}.html`,
template: chartType as TemplateType,
gzipSize: true,
brotliSize: true,
})
return ['network', 'treemap', 'sunburst'].map(
(chartType) =>
visualizer({
filename: `./stats/${chartType}${core ? '.core' : ''}.html`,
template: chartType as TemplateType,
gzipSize: true,
brotliSize: true,
}) as PluginOption
);
};
@@ -61,12 +62,6 @@ export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions)
sourcemap: true,
entryFileNames: `${name}.esm${minify ? '.min' : ''}.mjs`,
},
{
name,
format: 'umd',
sourcemap: true,
entryFileNames: `${name}${minify ? '.min' : ''}.js`,
},
];
if (core) {
@@ -122,11 +117,9 @@ export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions)
};
const buildPackage = async (entryName: keyof typeof packageOptions) => {
return Promise.allSettled([
build(getBuildConfig({ minify: false, entryName })),
build(getBuildConfig({ minify: 'esbuild', entryName })),
build(getBuildConfig({ minify: false, core: true, entryName })),
]);
await build(getBuildConfig({ minify: false, entryName }));
await build(getBuildConfig({ minify: 'esbuild', entryName }));
await build(getBuildConfig({ minify: false, core: true, entryName }));
};
const main = async () => {

View File

@@ -1,27 +1,20 @@
import express, { NextFunction, Request, Response } from 'express';
import express from 'express';
import cors from 'cors';
import { createServer as createViteServer } from 'vite';
const cors = (req: Request, res: Response, next: NextFunction) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type');
next();
};
async function createServer() {
const app = express();
// Create Vite server in middleware mode
const vite = await createViteServer({
configFile: './vite.config.ts',
mode: 'production',
server: { middlewareMode: true },
appType: 'custom', // don't include Vite's default HTML handling middlewares
});
app.use(cors);
app.use(cors());
app.use(express.static('./packages/mermaid/dist'));
// app.use(express.static('./packages/mermaid-example-diagram/dist'));
app.use(express.static('./packages/mermaid-example-diagram/dist'));
app.use(vite.middlewares);
app.use(express.static('demos'));

View File

@@ -1,6 +1,105 @@
# Change Log
# Changelog
// TODO: Populate changelog
## [10.0.0](https://github.com/mermaid-js/mermaid/releases/tag/v10.0.0)
### Mermaid is ESM only!
We've dropped CJS support. So, you will have to update your import scripts as follows.
```html
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';
mermaid.initialize({ startOnLoad: true });
</script>
```
You can keep using v9 by adding the `@9` in the CDN URL.
```diff
- <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.js"></script>
+ <script src="https://cdn.jsdelivr.net/npm/mermaid@9/dist/mermaid.js"></script>
```
### mermaid.render is async and doesn't accept callbacks
```js
// < v10
mermaid.render('id', 'graph TD;\nA-->B', (svg, bindFunctions) => {
element.innerHTML = svg;
if (bindFunctions) {
bindFunctions(element);
}
});
// Shorter syntax
if (bindFunctions) {
bindFunctions(element);
}
// can be replaced with the `?.` shorthand
bindFunctions?.(element);
// >= v10 with async/await
const { svg, bindFunctions } = await mermaid.render('id', 'graph TD;\nA-->B');
element.innerHTML = svg;
bindFunctions?.(element);
// >= v10 with promise.then
mermaid.render('id', 'graph TD;A-->B').then(({ svg, bindFunctions }) => {
element.innerHTML = svg;
bindFunctions?.(element);
});
```
### mermaid.parse is async and ParseError is removed
```js
// < v10
mermaid.parse(text, parseError);
//>= v10
await mermaid.parse(text).catch(parseError);
// or
try {
await mermaid.parse(text);
} catch (err) {
parseError(err);
}
```
### Init deprecated and InitThrowsErrors removed
The config passed to `init` was not being used eariler.
It will now be used.
The `init` function is deprecated and will be removed in the next major release.
init currently works as a wrapper to `initialize` and `run`.
```js
// < v10
mermaid.init(config, selector, cb);
//>= v10
mermaid.initialize(config);
mermaid.run({
querySelector: selector,
postRenderCallback: cb,
suppressErrors: true,
});
```
```js
// < v10
mermaid.initThrowsErrors(config, selector, cb);
//>= v10
mermaid.initialize(config);
mermaid.run({
querySelector: selector,
postRenderCallback: cb,
suppressErrors: false,
});
```
// TODO: Populate changelog pre v10
- Config has a lot of changes
- globalReset resets to `defaultConfig` instead of current config. Use `reset` instead.

View File

@@ -63,6 +63,28 @@ flowchart LR
```
You can use `note`, `tip`, `warning` and `danger` in triple backticks to add a note, tip, warning or danger box.
Do not use vitepress specific markdown syntax `::: warning` as it will not be processed correctly.
````
```note
Note content
```
```tip
Tip content
```
```warning
Warning content
```
```danger
Danger content
```
````
**_DO NOT CHANGE FILES IN `/docs`_**
### The official documentation site

View File

@@ -1,8 +1,37 @@
# mermaid
<p align="center">
<img src="https://raw.githubusercontent.com/mermaid-js/mermaid/develop/docs/public/favicon.svg" height="150">
</p>
<h1 align="center">
Mermaid
</h1>
<p align="center">
Generate diagrams from markdown-like text.
<p>
<p align="center">
<a href="https://www.npmjs.com/package/mermaid"><img src="https://img.shields.io/npm/v/mermaid?color=ff3670&label="></a>
<p>
[![Build CI Status](https://github.com/mermaid-js/mermaid/actions/workflows/build.yml/badge.svg)](https://github.com/mermaid-js/mermaid/actions/workflows/build.yml) [![NPM](https://img.shields.io/npm/v/mermaid)](https://www.npmjs.com/package/mermaid) [![npm minified gzipped bundle size](https://img.shields.io/bundlephobia/minzip/mermaid)](https://bundlephobia.com/package/mermaid) [![Coverage Status](https://coveralls.io/repos/github/mermaid-js/mermaid/badge.svg?branch=master)](https://coveralls.io/github/mermaid-js/mermaid?branch=master) [![CDN Status](https://img.shields.io/jsdelivr/npm/hm/mermaid)](https://www.jsdelivr.com/package/npm/mermaid) [![NPM](https://img.shields.io/npm/dm/mermaid)](https://www.npmjs.com/package/mermaid) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) [![Twitter Follow](https://img.shields.io/badge/Social-mermaidjs__-blue?style=social&logo=twitter)](https://twitter.com/mermaidjs_)
<p align="center">
<a href="https://mermaid.live/"><b>Live Editor!</b></a>
</p>
<p align="center">
<a href="https://mermaid.js.org">📖 Documentation</a> | <a href="https://mermaid.js.org/intro/">🚀 Getting Started</a> | <a href="https://www.jsdelivr.com/package/npm/mermaid">🌐 CDN</a> | <a href="https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE" title="Slack invite">🙌 Join Us</a>
</p>
<p align="center">
<a href="./README.zh-CN.md">简体中文</a>
</p>
English | [简体中文](./README.zh-CN.md)
<br>
<br>
[![NPM](https://img.shields.io/npm/v/mermaid)](https://www.npmjs.com/package/mermaid)
[![Build CI Status](https://github.com/mermaid-js/mermaid/actions/workflows/build.yml/badge.svg)](https://github.com/mermaid-js/mermaid/actions/workflows/build.yml)
[![npm minified gzipped bundle size](https://img.shields.io/bundlephobia/minzip/mermaid)](https://bundlephobia.com/package/mermaid)
[![Coverage Status](https://coveralls.io/repos/github/mermaid-js/mermaid/badge.svg?branch=master)](https://coveralls.io/github/mermaid-js/mermaid?branch=master)
[![CDN Status](https://img.shields.io/jsdelivr/npm/hm/mermaid)](https://www.jsdelivr.com/package/npm/mermaid)
[![NPM Downloads](https://img.shields.io/npm/dm/mermaid)](https://www.npmjs.com/package/mermaid)
[![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE)
[![Twitter Follow](https://img.shields.io/badge/Social-mermaidjs__-blue?style=social&logo=twitter)](https://twitter.com/mermaidjs_)
<img src="./img/header.png" alt="" />
@@ -27,14 +56,12 @@ Mermaid addresses this problem by enabling users to create easily modifiable dia
Mermaid allows even non-programmers to easily create detailed diagrams through the [Mermaid Live Editor](https://mermaid.live/).<br/>
[Tutorials](./docs/config/Tutorials.md) has video tutorials.
Use Mermaid with your favorite applications, check out the list of [Integrations and Usages of Mermaid](./docs/misc/integrations.md).
Use Mermaid with your favorite applications, check out the list of [Integrations and Usages of Mermaid](./docs/ecosystem/integrations.md).
You can also use Mermaid within [GitHub](https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/) as well many of your other favorite applications—check out the list of [Integrations and Usages of Mermaid](./docs/misc/integrations.md).
You can also use Mermaid within [GitHub](https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/) as well many of your other favorite applications—check out the list of [Integrations and Usages of Mermaid](./docs/ecosystem/integrations.md).
For a more detailed introduction to Mermaid and some of its more basic uses, look to the [Beginner's Guide](./docs/community/n00b-overview.md), [Usage](./docs/config/usage.md) and [Tutorials](./docs/config/Tutorials.md).
🌐 [CDN](https://unpkg.com/mermaid/) | 📖 [Documentation](https://mermaidjs.github.io) | 🙌 [Contribution](https://github.com/mermaid-js/mermaid/blob/develop/CONTRIBUTING.md) | 📜 [Changelog](./docs/CHANGELOG.md)
In our release process we rely heavily on visual regression tests using [applitools](https://applitools.com/). Applitools is a great service which has been easy to use and integrate with our tests.
<a href="https://applitools.com/">

View File

@@ -1,8 +1,37 @@
# mermaid
<p align="center">
<img src="https://raw.githubusercontent.com/mermaid-js/mermaid/develop/docs/public/favicon.svg" height="150">
</p>
<h1 align="center">
Mermaid
</h1>
<p align="center">
通过解析类 Markdown 的文本语法来实现图表的创建和动态修改。
<p>
<p align="center">
<a href="https://www.npmjs.com/package/mermaid"><img src="https://img.shields.io/npm/v/mermaid?color=ff3670&label="></a>
<p>
[![Build CI Status](https://github.com/mermaid-js/mermaid/actions/workflows/build.yml/badge.svg)](https://github.com/mermaid-js/mermaid/actions/workflows/build.yml) [![NPM](https://img.shields.io/npm/v/mermaid)](https://www.npmjs.com/package/mermaid) [![npm minified gzipped bundle size](https://img.shields.io/bundlephobia/minzip/mermaid)](https://bundlephobia.com/package/mermaid) [![Coverage Status](https://coveralls.io/repos/github/mermaid-js/mermaid/badge.svg?branch=master)](https://coveralls.io/github/mermaid-js/mermaid?branch=master) [![CDN Status](https://img.shields.io/jsdelivr/npm/hm/mermaid)](https://www.jsdelivr.com/package/npm/mermaid) [![NPM](https://img.shields.io/npm/dm/mermaid)](https://www.npmjs.com/package/mermaid) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) [![Twitter Follow](https://img.shields.io/badge/Social-mermaidjs__-blue?style=social&logo=twitter)](https://twitter.com/mermaidjs_)
<p align="center">
<a href="https://mermaid.live/"><b>Live Editor!</b></a>
</p>
<p align="center">
<a href="https://mermaid.js.org">📖 文档</a> | <a href="https://mermaid.js.org/intro/">🚀 入门</a> | <a href="https://www.jsdelivr.com/package/npm/mermaid">🌐 CDN</a> | <a href="https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE" title="Slack invite">🙌 加入我们</a>
</p>
<p align="center">
<a href="./README.md">English</a>
</p>
[English](./README.md) | 简体中文
<br>
<br>
[![NPM](https://img.shields.io/npm/v/mermaid)](https://www.npmjs.com/package/mermaid)
[![Build CI Status](https://github.com/mermaid-js/mermaid/actions/workflows/build.yml/badge.svg)](https://github.com/mermaid-js/mermaid/actions/workflows/build.yml)
[![npm minified gzipped bundle size](https://img.shields.io/bundlephobia/minzip/mermaid)](https://bundlephobia.com/package/mermaid)
[![Coverage Status](https://coveralls.io/repos/github/mermaid-js/mermaid/badge.svg?branch=master)](https://coveralls.io/github/mermaid-js/mermaid?branch=master)
[![CDN Status](https://img.shields.io/jsdelivr/npm/hm/mermaid)](https://www.jsdelivr.com/package/npm/mermaid)
[![NPM Downloads](https://img.shields.io/npm/dm/mermaid)](https://www.npmjs.com/package/mermaid)
[![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE)
[![Twitter Follow](https://img.shields.io/badge/Social-mermaidjs__-blue?style=social&logo=twitter)](https://twitter.com/mermaidjs_)
<img src="./img/header.png" alt="" />
@@ -24,12 +53,10 @@ Mermaid 是一个基于 Javascript 的图表绘制工具,通过解析类 Markd
Mermaid 通过允许用户创建便于修改的图表来解决这一难题,它也可以作为生产脚本(或其他代码)的一部分。<br/>
<br/>
Mermaid 甚至能让非程序员也能通过 [Mermaid Live Editor](https://mermaid.live/) 轻松创建详细的图表。<br/>
你可以访问 [教程](./docs/config/Tutorials.md) 来查看 Live Editor 的视频教程,也可以查看 [Mermaid 的集成和使用](./docs/misc/integrations.md) 这个清单来检查你的文档工具是否已经集成了 Mermaid 支持。
你可以访问 [教程](./docs/config/Tutorials.md) 来查看 Live Editor 的视频教程,也可以查看 [Mermaid 的集成和使用](./docs/ecosystem/integrations.md) 这个清单来检查你的文档工具是否已经集成了 Mermaid 支持。
如果想要查看关于 Mermaid 更详细的介绍及基础使用方式,可以查看 [入门指引](./docs/community/n00b-overview.md), [用法](./docs/config/usage.md) 和 [教程](./docs/config/Tutorials.md).
🌐 [CDN](https://unpkg.com/mermaid/) | 📖 [文档](https://mermaidjs.github.io) | 🙌 [贡献](https://github.com/mermaid-js/mermaid/blob/develop/CONTRIBUTING.md) | 📜 [更新日志](./docs/CHANGELOG.md)
<!-- </Main description> -->
## 示例
@@ -325,7 +352,7 @@ _很不幸的是鱼与熊掌不可兼得在这个场景下它意味着在
来自 Knut Sveidqvist:
> _特别感谢 [d3](https://d3js.org/) 和 [dagre-d3](https://github.com/cpettitt/dagre-d3) 这两个优秀的项目,它们提供了图形布局和绘图工具库! _ >_同样感谢 [js-sequence-diagram](https://bramp.github.io/js-sequence-diagrams) 提供了时序图语法的使用。 感谢 Jessica Peter 提供了甘特图渲染的灵感。_ >_感谢 [Tyler Long](https://github.com/tylerlong) 从 2017 年四月开始成为了项目的合作者。_
> _特别感谢 [d3](https://d3js.org/) 和 [dagre-d3](https://github.com/cpettitt/dagre-d3) 这两个优秀的项目,它们提供了图形布局和绘图工具库_ > _同样感谢 [js-sequence-diagram](https://bramp.github.io/js-sequence-diagrams) 提供了时序图语法的使用。 感谢 Jessica Peter 提供了甘特图渲染的灵感。_ > _感谢 [Tyler Long](https://github.com/tylerlong) 从 2017 年四月开始成为了项目的合作者。_
>
> _感谢越来越多的 [贡献者们](https://github.com/knsv/mermaid/graphs/contributors)没有你们就没有这个项目的今天_

View File

@@ -1,5 +0,0 @@
# A collection of updates that change the behaviour
## Lazy loading and asynchronisity
- Invalid dates are rendered as syntax error instead of returning best guess or the current date

View File

@@ -19,6 +19,7 @@
"brkt",
"brolin",
"brotli",
"città",
"classdef",
"codedoc",
"colour",
@@ -27,6 +28,7 @@
"cuzon",
"cytoscape",
"dagre",
"deepdwn",
"descr",
"docsify",
"docsy",

View File

@@ -22,7 +22,7 @@ export const mermaidUrl = (graphStr, options, api) => {
return url;
};
export const imgSnapshotTest = (graphStr, _options, api = false, validation) => {
export const imgSnapshotTest = (graphStr, _options = {}, api = false, validation = undefined) => {
cy.log(_options);
const options = Object.assign(_options);
if (!options.fontFamily) {

View File

@@ -13,7 +13,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('1: should render a simple class diagram', () => {
@@ -47,7 +46,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('2: should render a simple class diagrams with cardinality', () => {
@@ -76,7 +74,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('should render a simple class diagram with different visibilities', () => {
@@ -94,7 +91,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('should render multiple class diagrams', () => {
@@ -147,7 +143,6 @@ describe('Class diagram V2', () => {
],
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('4: should render a simple class diagram with comments', () => {
@@ -177,7 +172,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('5: should render a simple class diagram with abstract method', () => {
@@ -189,7 +183,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('6: should render a simple class diagram with static method', () => {
@@ -201,7 +194,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('7: should render a simple class diagram with Generic class', () => {
@@ -221,7 +213,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('8: should render a simple class diagram with Generic class and relations', () => {
@@ -242,7 +233,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('9: should render a simple class diagram with clickable link', () => {
@@ -264,7 +254,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('10: should render a simple class diagram with clickable callback', () => {
@@ -286,7 +275,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('11: should render a simple class diagram with return type on method', () => {
@@ -301,7 +289,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('12: should render a simple class diagram with generic types', () => {
@@ -317,7 +304,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('13: should render a simple class diagram with css classes applied', () => {
@@ -335,7 +321,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('14: should render a simple class diagram with css classes applied directly', () => {
@@ -351,7 +336,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('15: should render a simple class diagram with css classes applied two multiple classes', () => {
@@ -365,7 +349,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('16a: should render a simple class diagram with static field', () => {
@@ -378,7 +361,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('16b: should handle the direction statement with TB', () => {
@@ -403,7 +385,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('18: should handle the direction statement with LR', () => {
@@ -428,7 +409,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('17a: should handle the direction statement with BT', () => {
imgSnapshotTest(
@@ -452,7 +432,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('17b: should handle the direction statement with RL', () => {
imgSnapshotTest(
@@ -476,7 +455,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('18: should render a simple class diagram with notes', () => {
@@ -493,7 +471,6 @@ describe('Class diagram V2', () => {
`,
{ logLevel: 1, flowchart: { htmlLabels: false } }
);
cy.get('svg');
});
it('1433: should render a simple class with a title', () => {
@@ -503,8 +480,72 @@ title: simple class diagram
---
classDiagram-v2
class Class10
`,
{}
`
);
});
it('should render a class with text label', () => {
imgSnapshotTest(
`classDiagram
class C1["Class 1 with text label"]
C1 --> C2`
);
});
it('should render two classes with text labels', () => {
imgSnapshotTest(
`classDiagram
class C1["Class 1 with text label"]
class C2["Class 2 with chars @?"]
C1 --> C2`
);
});
it('should render a class with a text label, members and annotation', () => {
imgSnapshotTest(
`classDiagram
class C1["Class 1 with text label"] {
&lt;&lt;interface&gt;&gt;
+member1
}
C1 --> C2`
);
});
it('should render multiple classes with same text labels', () => {
imgSnapshotTest(
`classDiagram
class C1["Class with text label"]
class C2["Class with text label"]
class C3["Class with text label"]
C1 --> C2
C3 ..> C2
`
);
});
it('should render classes with different text labels', () => {
imgSnapshotTest(
`classDiagram
class C1["OneWord"]
class C2["With, Comma"]
class C3["With (Brackets)"]
class C4["With [Brackets]"]
class C5["With {Brackets}"]
class C7["With 1 number"]
class C8["With . period..."]
class C9["With - dash"]
class C10["With _ underscore"]
class C11["With ' single quote"]
class C12["With ~!@#$%^&*()_+=-/?"]
class C13["With Città foreign language"]
`
);
});
it('should render classLabel if class has already been defined earlier', () => {
imgSnapshotTest(
`classDiagram
Animal <|-- Duck
class Duck["Duck with text label"]
`
);
});
});

View File

@@ -188,7 +188,7 @@ describe('Entity Relationship Diagram', () => {
erDiagram
CLUSTER {
varchar(99) name
string(255) description
string(255) description
}
`,
{ logLevel: 1 }

View File

@@ -1,6 +1,6 @@
import { imgSnapshotTest, renderGraph } from '../../helpers/util';
describe('Flowchart ELK', () => {
describe.skip('Flowchart ELK', () => {
it('1-elk: should render a simple flowchart', () => {
imgSnapshotTest(
`flowchart-elk TD

View File

@@ -670,6 +670,17 @@ title: Simple flowchart
---
flowchart TD
A --> B
`,
{ titleTopMargin: 0 }
);
});
it('3192: It should be possieble to render flowcharts with invisible edges', () => {
imgSnapshotTest(
`---
title: Simple flowchart with invisible edges
---
flowchart TD
A ~~~ B
`,
{ titleTopMargin: 0 }
);

View File

@@ -116,7 +116,11 @@ context('Sequence diagram', () => {
loop Loopy
Bob->>Alice: Pasten
end `,
{ wrap: true }
{
sequence: {
wrap: true,
},
}
);
});
context('font settings', () => {

View File

@@ -49,13 +49,9 @@ mermaid.initialize({
],
},
});
mermaid.render(
'the-id-of-the-svg',
code,
(svg) => {
console.log(svg);
const elem = document.querySelector('#graph-to-be');
elem.innerHTML = svg;
}
// ,document.querySelector('#tmp')
);
void (async () => {
const { svg } = await mermaid.render('the-id-of-the-svg', code);
console.log(svg);
const elem = document.querySelector('#graph-to-be');
elem.innerHTML = svg;
})();

View File

@@ -12,7 +12,6 @@
<style>
body {
background: rgb(221, 208, 208);
/*background:#333;*/
font-family: 'Arial';
}
h1 {
@@ -113,24 +112,16 @@ classE o-- classF : aggregation
callback Shape "callbackFunction" "This is a tooltip for a callback"
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
mermaid.initialize({
theme: 'default',
// arrowMarkerAbsolute: true,
// themeCSS: '.edgePath .path {stroke: red;} .arrowheadPath {fill: red;}',
logLevel: 0,
flowchart: { curve: 'linear', htmlLabels: true },
// gantt: { axisFormat: '%m/%d/%Y' },
sequence: { actorMargin: 50, showSequenceNumbers: true },
// sequenceDiagram: { actorMargin: 300 } // deprecated
// fontFamily: '"arial", sans-serif',
// themeVariables: {
// fontFamily: '"arial", sans-serif',
// },
curve: 'linear',
securityLevel: 'loose',
});

View File

@@ -125,7 +125,6 @@
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div');
@@ -162,6 +161,9 @@
document.getElementsByTagName('body')[0].appendChild(div);
}
</script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({ startOnLoad: true, securityLevel: 'loose', logLevel: 1 });
</script>
</body>

View File

@@ -59,8 +59,8 @@
Add another diagram to demo page : 48h
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';

View File

@@ -125,8 +125,8 @@
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';

View File

@@ -61,8 +61,8 @@
Add another diagram to demo page : 48h
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';

View File

@@ -28,8 +28,8 @@
end
A --> B
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
function showFullFirstSquad(elemName) {
console.log('show ' + elemName);
}

View File

@@ -107,8 +107,8 @@ Note over Alice,Bob: Looks
Note over Bob,Alice: Looks back
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};

View File

@@ -1,32 +1,12 @@
<html>
<head>
<meta charset="utf-8" />
<!-- <meta charset="iso-8859-15"/> -->
<script src="./viewer.js" type="module"></script>
<!-- <link href="https://fonts.googleapis.com/css?family=Mansalva&display=swap" rel="stylesheet" /> -->
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"
rel="stylesheet"
/>
<style>
body {
/* font-family: 'Mansalva', cursive;*/
/* font-family: 'Mansalva', cursive; */
/* font-family: 'arial'; */
/* font-family: "trebuchet ms", verdana, arial; */
}
/* div {
font-family: 'arial';
} */
/* .mermaid-main-font {
font-family: "trebuchet ms", verdana, arial;
font-family: var(--mermaid-font-family);
} */
/* :root {
--mermaid-font-family: '"trebuchet ms", verdana, arial';
--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive;
--mermaid-font-family: '"Lucida Console", Monaco, monospace';
} */
svg {
border: 2px solid darkred;
}
@@ -36,21 +16,5 @@
}
</style>
</head>
<body>
<!-- <script src="./mermaid.js"></script> -->
<script>
// Notice startOnLoad=false
// This prevents default handling in mermaid from render before the e2e logic is applied
// mermaid.initialize({
// startOnLoad: false,
// useMaxWidth: true,
// // "themeCSS": ":root { --mermaid-font-family: \"trebuchet ms\", verdana, arial;}",
// // fontFamily: '\"trebuchet ms\", verdana, arial;'
// // fontFamily: '"Comic Sans MS", "Comic Sans", cursive'
// // fontFamily: '"Mansalva", cursive',
// // fontFamily: '"Noto Sans SC", sans-serif'
// fontFamily: '"Noto Sans SC", sans-serif'
// });
</script>
</body>
<body></body>
</html>

View File

@@ -17,7 +17,7 @@ example-diagram
await mermaid.registerExternalDiagrams([exampleDiagram]);
await mermaid.initialize({ logLevel: 0 });
await mermaid.initThrowsErrorsAsync();
await mermaid.run();
if (window.Cypress) {
window.rendered = true;
}

View File

@@ -29,8 +29,8 @@
click a_a "http://www.aftonbladet.se" "apa"
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
theme: 'forest',
// themeCSS: '.node rect { fill: red; }',

View File

@@ -0,0 +1,46 @@
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<style>
body {
font-family: 'trebuchet ms', verdana, arial;
}
</style>
</head>
<body>
<pre class="mermaid">
graph TB
subgraph One
a1-->a2-->a3
end
</pre>
<pre class="mermaid">
graph TB
a_a --> b_b:::apa --> c_c:::apa
classDef apa fill:#f9f,stroke:#333,stroke-width:4px;
class a_a apa;
</pre>
<pre class="mermaid">
graph TB
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" "apa"
</pre>
<script type="module">
import mermaid from '../../packages/mermaid/src/mermaid';
mermaid.initialize({
theme: 'forest',
// themeCSS: '.node rect { fill: red; }',
logLevel: 3,
flowchart: { curve: 'linear' },
gantt: { axisFormat: '%m/%d/%Y' },
sequence: { actorMargin: 50 },
// sequenceDiagram: { actorMargin: 300 } // deprecated
});
</script>
</body>
</html>

View File

@@ -8,18 +8,18 @@
</div>
<svg id="diagram"></svg>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({ startOnLoad: false, logLevel: 0 });
const graph = `
%%{ init: { "themeVariables" : { "textColor": "green;} #target { background-color: crimson }", "mainBkg": "#fff000" } } }%%
graph TD
A[Goose]
`;
%%{ init: { "themeVariables" : { "textColor": "green;} #target { background-color: crimson }", "mainBkg": "#fff000" } } }%%
graph TD
A[Goose]
`;
const diagram = document.getElementById('diagram');
const svg = mermaid.render('diagram-svg', graph);
const { svg } = await mermaid.render('diagram-svg', graph);
diagram.innerHTML = svg;
if (window.Cypress) {
window.rendered = true;

View File

@@ -8,8 +8,8 @@
</div>
<svg id="diagram"></svg>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({ startOnLoad: false, logLevel: 0 });
const graph = `
@@ -19,7 +19,7 @@
`;
const diagram = document.getElementById('diagram');
const svg = mermaid.render('diagram-svg', graph);
const { svg } = await mermaid.render('diagram-svg', graph);
diagram.innerHTML = svg;
if (window.Cypress) {
window.rendered = true;

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -91,13 +91,11 @@
diagram += 'le> * { background : red}</style>test</p>"]';
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
document.querySelector('#res').innerHTML = res;
if (window.Cypress) {
window.rendered = true;
}
});
const { svg } = await mermaid.render('diagram', diagram);
document.querySelector('#res').innerHTML = svg;
if (window.Cypress) {
window.rendered = true;
}
</script>
</body>
</html>

View File

@@ -43,8 +43,8 @@
cssClass "BankAccount" customCss
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};

View File

@@ -130,8 +130,8 @@
commit
merge main
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};

View File

@@ -98,8 +98,8 @@
commit
merge main
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};

File diff suppressed because one or more lines are too long

View File

@@ -7,8 +7,8 @@
<pre class="mermaid">
info
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
theme: 'forest',
// themeCSS: '.node rect { fill: red; }',

View File

@@ -87,8 +87,8 @@
Add another diagram to demo page : 48h
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';

View File

@@ -59,7 +59,7 @@ A-->B
>
<script src="./packages/mermaid-mindmap/dist/mermaid-mindmap-detector.js"></script>
<script src="./packages/mermaid-mindmap/dist/mermaid-example-diagram-detector.js"></script>
<script src="./packages/mermaid/dist/mermaid.js"></script>
<script src="./packages/mermaid/dist/mermaid.esm.mjs"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);

View File

@@ -1,14 +1,4 @@
<html>
<head>
<script src="http://localhost:9000/mermaid.js"></script>
<script>
mermaid.initialize({
theme: 'base',
themeVariables: {},
startOnLoad: true,
});
</script>
</head>
<body>
<h1>Example</h1>
<pre class="mermaid">
@@ -26,4 +16,12 @@ sequenceDiagram
Note left of Ernie: Cookies are good
</pre>
</body>
<script type="module">
import mermaid from '/mermaid.esm.mjs';
mermaid.initialize({
theme: 'base',
themeVariables: {},
startOnLoad: true,
});
</script>
</html>

View File

@@ -9,19 +9,19 @@
<body>
<div id="graph"></div>
<script src="./mermaid.js"></script>
<script>
mermaid.init({ startOnLoad: false });
<script type="module">
import mermaid from './mermaid.esm.mjs';
await mermaid.initialize({ startOnLoad: false });
await mermaid.run();
mermaid.mermaidAPI.initialize({ securityLevel: 'strict' });
await mermaid.mermaidAPI.initialize({ securityLevel: 'strict' });
try {
console.log('rendering');
mermaid.mermaidAPI.render('graphDiv', `>`);
await mermaid.mermaidAPI.render('graphDiv', `>`);
} catch (e) {}
mermaid.mermaidAPI.render('graphDiv', `graph LR\n a --> b`, (html) => {
document.getElementById('graph').innerHTML = html;
});
const { svg } = await mermaid.mermaidAPI.render('graphDiv', `graph LR\n a --> b`);
document.getElementById('graph').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -9,20 +9,20 @@
<body>
<div id="graph"></div>
<script src="./mermaid.js"></script>
<script>
mermaid.init({ startOnLoad: false });
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({ startOnLoad: false });
mermaid.mermaidAPI.initialize();
rerender('XMas');
function rerender(text) {
async function rerender(text) {
const graphText = `graph TD
A[${text}] -->|Get money| B(Go shopping)`;
const graph = mermaid.mermaidAPI.render('id', graphText);
console.log('\x1b[35m%s\x1b[0m', '>> graph', graph);
document.getElementById('graph').innerHTML = graph;
const { svg } = await mermaid.mermaidAPI.render('id', graphText);
console.log('\x1b[35m%s\x1b[0m', '>> graph', svg);
document.getElementById('graph').innerHTML = svg;
}
window.rerender = rerender;
await rerender('XMas');
</script>
<button id="rerender" onclick="rerender('Saturday')">Rerender</button>
</body>

View File

@@ -313,8 +313,8 @@ requirementDiagram
merge release
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};

View File

@@ -308,8 +308,8 @@ gitGraph
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};

View File

@@ -308,8 +308,8 @@ gitGraph
merge release
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};

View File

@@ -301,8 +301,8 @@ requirementDiagram
merge release
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};

View File

@@ -305,8 +305,8 @@ requirementDiagram
merge release
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};

View File

@@ -305,8 +305,8 @@ requirementDiagram
merge release
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};

View File

@@ -1,255 +1,17 @@
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
/>
<link
href="https://cdn.jsdelivr.net/npm/@mdi/font@6.9.96/css/materialdesignicons.min.css"
rel="stylesheet"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"
rel="stylesheet"
/>
<style>
body {
/* background: rgb(221, 208, 208); */
/* background:#333; */
font-family: 'Arial';
/* font-size: 18px !important; */
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
.mermaid svg {
/* font-size: 18px !important; */
background-color: #eee;
background-image: radial-gradient(#fff 1%, transparent 11%),
radial-gradient(#fff 1%, transparent 11%);
background-size: 20px 20px;
background-position: 0 0, 10px 10px;
background-repeat: repeat;
}
.malware {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: 150px;
background: red;
color: black;
display: flex;
display: flex;
justify-content: center;
align-items: center;
font-family: monospace;
font-size: 72px;
}
</style>
</head>
<body>
<pre id="diagram" class="mermaid">
%%{init: {"flowchart": {"defaultRenderer": "elk"}} }%%
graph TB
a --> b
a --> c
b --> d
c --> d
</pre>
<pre id="diagram" class="mermaid">
flowchart-elk LR
subgraph A
a -->b
end
subgraph B
b
end
</pre>
<pre id="diagram" class="mermaid">
%%{init: {"flowchart": {"defaultRenderer": "elk"}} }%%
flowchart TB
%% I could not figure out how to use double quotes in labels in Mermaid
subgraph ibm[IBM Espresso CPU]
core0[IBM PowerPC Broadway Core 0]
core1[IBM PowerPC Broadway Core 1]
core2[IBM PowerPC Broadway Core 2]
rom[16 KB ROM]
core0 --- core2
rom --> core2
end
subgraph amd[AMD Latte GPU]
mem[Memory & I/O Bridge]
dram[DRAM Controller]
edram[32 MB EDRAM MEM1]
rom[512 B SEEPROM]
sata[SATA IF]
exi[EXI]
subgraph gx[GX]
sram[3 MB 1T-SRAM]
end
radeon[AMD Radeon R7xx GX2]
mem --- gx
mem --- radeon
rom --- mem
mem --- sata
mem --- exi
dram --- sata
dram --- exi
end
ddr3[2 GB DDR3 RAM MEM2]
mem --- ddr3
dram --- ddr3
edram --- ddr3
core1 --- mem
exi --- rtc
rtc{{rtc}}
</pre
>
<br />
<pre id="diagram" class="mermaid">
flowchart TB
%% I could not figure out how to use double quotes in labels in Mermaid
subgraph ibm[IBM Espresso CPU]
core0[IBM PowerPC Broadway Core 0]
core1[IBM PowerPC Broadway Core 1]
core2[IBM PowerPC Broadway Core 2]
rom[16 KB ROM]
core0 --- core2
rom --> core2
end
subgraph amd[AMD Latte GPU]
mem[Memory & I/O Bridge]
dram[DRAM Controller]
edram[32 MB EDRAM MEM1]
rom[512 B SEEPROM]
sata[SATA IF]
exi[EXI]
subgraph gx[GX]
sram[3 MB 1T-SRAM]
end
radeon[AMD Radeon R7xx GX2]
mem --- gx
mem --- radeon
rom --- mem
mem --- sata
mem --- exi
dram --- sata
dram --- exi
end
ddr3[2 GB DDR3 RAM MEM2]
mem --- ddr3
dram --- ddr3
edram --- ddr3
core1 --- mem
exi --- rtc
rtc{{rtc}}
</pre
>
<br />
&nbsp;
<pre id="diagram" class="mermaid2">
flowchart LR
B1 --be be--x B2
B1 --bo bo--o B3
subgraph Ugge
B2
B3
subgraph inner
B4
B5
end
subgraph inner2
subgraph deeper
C4
C5
end
C6
end
B4 --> C4
B3 -- X --> B4
B2 --> inner
C4 --> C5
end
subgraph outer
B6
end
B6 --> B5
</pre
>
<pre id="diagram" class="mermaid2">
sequenceDiagram
Customer->>+Stripe: Makes a payment request
Stripe->>+Bank: Forwards the payment request to the bank
Bank->>+Customer: Asks for authorization
Customer->>+Bank: Provides authorization
Bank->>+Stripe: Sends a response with payment details
Stripe->>+Merchant: Sends a notification of payment receipt
Merchant->>+Stripe: Confirms the payment
Stripe->>+Customer: Sends a confirmation of payment
Customer->>+Merchant: Receives goods or services
</pre
>
<pre id="diagram" class="mermaid2">
gantt
title Style today marker (vertical line should be 5px wide and half-transparent blue)
dateFormat YYYY-MM-DD
axisFormat %d
todayMarker stroke-width:5px,stroke:#00f,opacity:0.5
section Section1
Today: 1, -1h
</pre>
<!-- <div id="cy"></div> -->
<!-- <script src="http://localhost:9000/packages/mermaid-mindmap/dist/mermaid-mindmap-detector.js"></script> -->
<!-- <script src="./mermaid-example-diagram-detector.js"></script> -->
<!-- <script src="//cdn.jsdelivr.net/npm/mermaid@9.1.7/dist/mermaid.min.js"></script> -->
<!-- <script src="./mermaid.js"></script> -->
<div id="d2"></div>
<script type="module">
import mindmap from '../../packages/mermaid-mindmap/src/detector';
// import example from '../../packages/mermaid-example-diagram/src/detector';
import mermaid from '../../packages/mermaid/src/mermaid';
await mermaid.registerExternalDiagrams([mindmap]);
import mermaid from '/mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -274,6 +36,11 @@ sequenceDiagram
console.error('In parse error:');
console.error(err);
};
const value = `graph TD\nHello --> World`;
const el = document.getElementById('d2');
const { svg } = await mermaid.render('d22', value);
console.log(svg);
el.innerHTML = svg;
// mermaid.test1('first_slow', 1200).then((r) => console.info(r));
// mermaid.test1('second_fast', 200).then((r) => console.info(r));
// mermaid.test1('third_fast', 200).then((r) => console.info(r));

View File

@@ -34,8 +34,8 @@
9e122290-->82072290_1ec3_e711_8c5a_005056ad0002
style 9e122290 fill:#F99,stroke-width:2px,stroke:#F0F
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
function showFullFirstSquad(elemName) {
console.log('show ' + elemName);
}

View File

@@ -120,8 +120,8 @@
</div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};

View File

@@ -25,8 +25,8 @@
Get into car:4: Dad, Mum, Child 1, Child 2
Drive home:3: Dad
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
theme: 'forest',
logLevel: 3,

View File

@@ -26,8 +26,8 @@
A --> B --> C
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
function showFullFirstSquad(elemName) {
console.log('show ' + elemName);
}

View File

@@ -46,7 +46,7 @@ const contentLoaded = async function () {
await mermaid2.registerExternalDiagrams([externalExample]);
mermaid2.initialize(graphObj.mermaid);
await mermaid2.init();
await mermaid2.run();
markRendered();
}
};
@@ -75,7 +75,7 @@ function merge(current, update) {
return current;
}
const contentLoadedApi = function () {
const contentLoadedApi = async function () {
let pos = document.location.href.indexOf('?graph=');
if (pos > 0) {
pos = pos + 7;
@@ -102,38 +102,25 @@ const contentLoadedApi = function () {
mermaid2.initialize(cnf);
for (let i = 0; i < numCodes; i++) {
mermaid2.render(
const { svg, bindFunctions } = await mermaid2.render(
'newid' + i,
graphObj.code[i],
(svgCode, bindFunctions) => {
div.innerHTML = svgCode;
bindFunctions(div);
},
divs[i]
);
div.innerHTML = svg;
bindFunctions(div);
}
} else {
const div = document.createElement('div');
div.id = 'block';
div.className = 'mermaid';
// div.innerHTML = graphObj.code
console.warn('graphObj.mermaid', graphObj.mermaid);
document.getElementsByTagName('body')[0].appendChild(div);
mermaid2.initialize(graphObj.mermaid);
mermaid2.render(
'newid',
graphObj.code,
(svgCode, bindFunctions) => {
div.innerHTML = svgCode;
if (bindFunctions) {
bindFunctions(div);
}
},
div
);
const { svg, bindFunctions } = await mermaid2.render('newid', graphObj.code, div);
div.innerHTML = svg;
bindFunctions(div);
}
}
markRendered();
@@ -148,7 +135,7 @@ if (typeof document !== 'undefined') {
function () {
if (this.location.href.match('xss.html')) {
this.console.log('Using api');
contentLoadedApi();
void contentLoadedApi();
} else {
this.console.log('Not using api');
void contentLoaded();

View File

@@ -33,8 +33,8 @@
</script>
</head>
<body>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
startOnLoad: false,
useMaxWidth: true,

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -104,10 +104,9 @@
// diagram += "=xssAttack()> --> B";
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -102,10 +102,9 @@
// diagram += "=xssAttack()> --> B";
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -102,10 +102,9 @@
// diagram += "=xssAttack()> --> B";
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -102,10 +102,9 @@
// diagram += "=xssAttack()> --> B";
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -104,10 +104,9 @@
// diagram += "=xssAttack()> --> B";
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -103,10 +103,9 @@
// diagram += "=xssAttack()> --> B";
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -102,10 +102,9 @@
// diagram += '//via.placeholder.com/64\' width=64 />"]';
// console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -102,10 +102,9 @@
// diagram += '//via.placeholder.com/64\' width=64 />"]';
// console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -101,10 +101,9 @@
// diagram += '//via.placeholder.com/64\' width=64 />"]';
// console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -103,10 +103,9 @@ class Shape{
// diagram += '//via.placeholder.com/64\' width=64 />"]';
// console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -48,8 +48,8 @@
Alice->>Bob: Hi Bob
Bob->>Alice: Hi Alice
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
startOnLoad: true,
useMaxWidth: true,
@@ -59,7 +59,7 @@
const handler = setInterval(() => {
cnt++;
a = {};
if (typeof a.polluted !== 'undefined') {
if (a.polluted !== undefined) {
clearInterval(handler);
xssAttack();
}

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -101,10 +101,8 @@ A --> B["<a href='javasc`;
diagram += `ript#colon;xssAttack()'>AAA</a>"]`;
// diagram += '//via.placeholder.com/64\' width=64 />"]';
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
// console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -97,14 +97,12 @@
// A --> B["&lt;a href='javascript`;
// diagram += `ript#colon;xssAttack()'&gt;AAA&lt;/a&gt;"]`;
let diagram = ` graph TD
A --> B["<a href='javasc`;
A --> B["<a href='javasc`;
diagram += `ript#9;t#colon;xssAttack()'>AAA</a>"]`;
// diagram += '//via.placeholder.com/64\' width=64 />"]';
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -8,8 +8,8 @@
graph TD
A --&gt; B["&lt;a href='javascript#9;t#colon;alert(document.location)'&gt;AAA&lt;/a&gt;"]
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({ startOnLoad: true });
</script>
</body>

View File

@@ -36,8 +36,8 @@
graph LR
A --> B
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
startOnLoad: true,
useMaxWidth: true,

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -95,9 +95,8 @@
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -99,10 +99,9 @@
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -97,10 +97,9 @@
// diagram += "script\u003aalert\u0028document.domain\u0029\` src=x>\"\);\n";
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -99,10 +99,9 @@
// diagram += "script\u003aalert\u0028document.domain\u0029\` src=x>\"\);\n";
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -98,10 +98,9 @@
// diagram += "script\u003aalert\u0028document.domain\u0029\` src=x>\"\);\n";
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -49,8 +49,8 @@
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
@@ -98,10 +98,9 @@
// diagram += "script\u003aalert\u0028document.domain\u0029\` src=x>\"\);\n";
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
mermaid.render('diagram', diagram, (res) => {
console.log(res);
document.querySelector('#res').innerHTML = res;
});
const { svg } = await mermaid.render('diagram', diagram);
console.log(res);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -217,8 +217,8 @@
</pre>
<hr />
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
const ALLOWED_TAGS = [
'a',
'b',
@@ -273,8 +273,7 @@
},
// sequenceDiagram: { actorMargin: 300 } // deprecated
});
</script>
<script>
function testClick(nodeId) {
console.log('clicked', nodeId);
let originalBgColor = document.querySelector('body').style.backgroundColor;
@@ -283,21 +282,18 @@
document.querySelector('body').style.backgroundColor = originalBgColor;
}, 100);
}
</script>
<script>
const testLineEndings = (test, input) => {
const testLineEndings = async (test, input) => {
try {
mermaid.render(test, input, () => {
//no-op
});
await mermaid.render(test, input);
} catch (err) {
console.error('Error in %s:\n\n%s', test, err);
}
};
testLineEndings('CR', 'graph LR\rsubgraph CR\rA --> B\rend');
testLineEndings('LF', 'graph LR\nsubgraph LF\nA --> B\nend');
testLineEndings('CRLF', 'graph LR\r\nsubgraph CRLF\r\nA --> B\r\nend');
await testLineEndings('CR', 'graph LR\rsubgraph CR\rA --> B\rend');
await testLineEndings('LF', 'graph LR\nsubgraph LF\nA --> B\nend');
await testLineEndings('CRLF', 'graph LR\r\nsubgraph CRLF\r\nA --> B\r\nend');
</script>
</body>
</html>

View File

@@ -154,8 +154,8 @@
</pre>
<hr />
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
theme: 'default',
// themeCSS: '.node rect { fill: red; }',

View File

@@ -34,8 +34,8 @@
noSide[|borders:no| stroke no side ];
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
theme: 'forest',
logLevel: 3,

View File

@@ -109,8 +109,8 @@
MANUFACTURER only one to zero or more CAR : makes
</pre>
<script src="./mermaid.js"></script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
theme: 'default',

View File

@@ -1507,8 +1507,8 @@
<h1 id="link-clicked">Anchor for "link-clicked" test</h1>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
theme: 'forest',
logLevel: 3,

View File

@@ -182,8 +182,8 @@
}
</script>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
logLevel: 3,
securityLevel: 'loose',

View File

@@ -38,8 +38,8 @@
merge newbranch
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
const ALLOWED_TAGS = [
'a',
'b',

View File

@@ -17,7 +17,7 @@
<h1>Journey diagram demo</h1>
<pre class="mermaid">
---
title: My working day
title: My working day
---
journey
accTitle: Very simple journey demo
@@ -32,8 +32,8 @@
Sit down: 3: Me
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
theme: 'forest',
logLevel: 3,

View File

@@ -40,7 +40,6 @@
<script type="module">
import mermaid from './mermaid.esm.mjs';
import mermaidMindmap from './mermaid-mindmap.esm.mjs';
const ALLOWED_TAGS = [
'a',

View File

@@ -37,7 +37,7 @@
</pre>
<script type="module">
import mermaid from '../packages/mermaid';
import mermaid from '../packages/mermaid/src/mermaid';
mermaid.initialize({
theme: 'forest',
// themeCSS: '.node rect { fill: red; }',

View File

@@ -159,8 +159,8 @@
An Example <- copies - test_entity2
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
theme: 'neutral',
// themeCSS: '.node rect { fill: red; }',

View File

@@ -144,8 +144,8 @@
>
<hr />
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
theme: 'base',
// themeCSS: '.node rect { fill: red; }',

View File

@@ -218,8 +218,8 @@
</pre>
<hr />
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
theme: 'default',
// themeCSS: '.node rect { fill: red; }',

View File

@@ -23,8 +23,8 @@
1940 : fourth step : fifth step
</pre>
<script src="./mermaid.js"></script>
<script>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.initialize({
theme: 'forest',
logLevel: 1,

View File

@@ -8,7 +8,7 @@
## [New Mermaid Live-Editor Beta](https://mermaid-js.github.io/docs/mermaid-live-editor-beta/#/edit/eyJjb2RlIjoiJSV7aW5pdDoge1widGhlbWVcIjogXCJmb3Jlc3RcIiwgXCJsb2dMZXZlbFwiOiAxIH19JSVcbmdyYXBoIFREXG4gIEFbQ2hyaXN0bWFzXSAtLT58R2V0IG1vbmV5fCBCKEdvIHNob3BwaW5nKVxuICBCIC0tPiBDe0xldCBtZSB0aGlua31cbiAgQyAtLT58T25lfCBEW0xhcHRvcF1cbiAgQyAtLT58VHdvfCBFW2lQaG9uZV1cbiAgQyAtLT58VGhyZWV8IEZbZmE6ZmEtY2FyIENhcl1cblx0XHQiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGFyayJ9fQ)
## [CDN](https://unpkg.com/mermaid/)
## [CDN](https://www.jsdelivr.com/package/npm/mermaid)
With version 8.6.0 comes the release of directives for mermaid, a new system for modifying configurations, with the aim of establishing centralized, sane defaults and simple implementation.

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/mermaidAPI.ParseOptions.md](../../../../packages/mermaid/src/docs/config/setup/interfaces/mermaidAPI.ParseOptions.md).
# Interface: ParseOptions
[mermaidAPI](../modules/mermaidAPI.md).ParseOptions
## Properties
### suppressErrors
`Optional` **suppressErrors**: `boolean`
#### Defined in
[mermaidAPI.ts:70](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L70)

View File

@@ -0,0 +1,54 @@
> **Warning**
>
> ## 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).
# Interface: RenderResult
[mermaidAPI](../modules/mermaidAPI.md).RenderResult
## Properties
### bindFunctions
`Optional` **bindFunctions**: (`element`: `Element`) => `void`
#### Type declaration
▸ (`element`): `void`
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');
div.innerHTML = svg;
bindFunctions?.(div); // To call bindFunctions only if it's present.
```
##### Parameters
| Name | Type |
| :-------- | :-------- |
| `element` | `Element` |
##### Returns
`void`
#### Defined in
[mermaidAPI.ts:91](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L91)
---
### svg
**svg**: `string`
The svg code for the rendered graph.
#### Defined in
[mermaidAPI.ts:81](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L81)

View File

@@ -6,6 +6,11 @@
# Module: mermaidAPI
## Interfaces
- [ParseOptions](../interfaces/mermaidAPI.ParseOptions.md)
- [RenderResult](../interfaces/mermaidAPI.RenderResult.md)
## References
### default
@@ -20,13 +25,13 @@ Renames and re-exports [mermaidAPI](mermaidAPI.md#mermaidapi)
#### Defined in
[mermaidAPI.ts:74](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L74)
[mermaidAPI.ts:75](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L75)
## Variables
### mermaidAPI
`Const` **mermaidAPI**: `Readonly`<{ `defaultConfig`: `MermaidConfig` = configApi.defaultConfig; `getConfig`: () => `MermaidConfig` = configApi.getConfig; `getSiteConfig`: () => `MermaidConfig` = configApi.getSiteConfig; `globalReset`: () => `void` ; `initialize`: (`options`: `MermaidConfig`) => `void` ; `parse`: (`text`: `string`, `parseError?`: `ParseErrorFunction`) => `boolean` ; `parseAsync`: (`text`: `string`, `parseError?`: `ParseErrorFunction`) => `Promise`<`boolean`> ; `parseDirective`: (`p`: `any`, `statement`: `string`, `context`: `string`, `type`: `string`) => `void` ; `render`: (`id`: `string`, `text`: `string`, `cb?`: (`svgCode`: `string`, `bindFunctions?`: (`element`: `Element`) => `void`) => `void`, `svgContainingElement?`: `Element`) => `string` ; `renderAsync`: (`id`: `string`, `text`: `string`, `cb?`: (`svgCode`: `string`, `bindFunctions?`: (`element`: `Element`) => `void`) => `void`, `svgContainingElement?`: `Element`) => `Promise`<`string`> ; `reset`: () => `void` ; `setConfig`: (`conf`: `MermaidConfig`) => `MermaidConfig` = configApi.setConfig; `updateSiteConfig`: (`conf`: `MermaidConfig`) => `MermaidConfig` = configApi.updateSiteConfig }>
`Const` **mermaidAPI**: `Readonly`<{ `defaultConfig`: `MermaidConfig` = configApi.defaultConfig; `getConfig`: () => `MermaidConfig` = configApi.getConfig; `getSiteConfig`: () => `MermaidConfig` = configApi.getSiteConfig; `globalReset`: () => `void` ; `initialize`: (`options`: `MermaidConfig`) => `void` ; `parse`: (`text`: `string`, `parseOptions?`: [`ParseOptions`](../interfaces/mermaidAPI.ParseOptions.md)) => `Promise`<`boolean` | `void`> ; `parseDirective`: (`p`: `any`, `statement`: `string`, `context`: `string`, `type`: `string`) => `void` ; `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
@@ -90,7 +95,7 @@ mermaid.initialize(config);
#### Defined in
[mermaidAPI.ts:886](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L886)
[mermaidAPI.ts:662](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L662)
## Functions
@@ -121,7 +126,7 @@ Return the last node appended
#### Defined in
[mermaidAPI.ts:287](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L287)
[mermaidAPI.ts:308](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L308)
---
@@ -147,7 +152,7 @@ the cleaned up svgCode
#### Defined in
[mermaidAPI.ts:238](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L238)
[mermaidAPI.ts:259](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L259)
---
@@ -173,7 +178,7 @@ the string with all the user styles
#### Defined in
[mermaidAPI.ts:167](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L167)
[mermaidAPI.ts:188](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L188)
---
@@ -196,7 +201,7 @@ the string with all the user styles
#### Defined in
[mermaidAPI.ts:215](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L215)
[mermaidAPI.ts:236](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L236)
---
@@ -223,7 +228,7 @@ with an enclosing block that has each of the cssClasses followed by !important;
#### Defined in
[mermaidAPI.ts:151](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L151)
[mermaidAPI.ts:172](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L172)
---
@@ -243,7 +248,7 @@ with an enclosing block that has each of the cssClasses followed by !important;
#### Defined in
[mermaidAPI.ts:131](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L131)
[mermaidAPI.ts:152](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L152)
---
@@ -263,7 +268,7 @@ with an enclosing block that has each of the cssClasses followed by !important;
#### Defined in
[mermaidAPI.ts:102](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L102)
[mermaidAPI.ts:123](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L123)
---
@@ -289,7 +294,7 @@ Put the svgCode into an iFrame. Return the iFrame code
#### Defined in
[mermaidAPI.ts:266](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L266)
[mermaidAPI.ts:287](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L287)
---
@@ -314,4 +319,4 @@ Remove any existing elements from the given document
#### Defined in
[mermaidAPI.ts:337](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L337)
[mermaidAPI.ts:358](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaidAPI.ts#L358)

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