Compare commits

..

506 Commits

Author SHA1 Message Date
Sidharth Vinod
771d3fcbbe Remove logs 2024-07-01 13:02:52 +05:30
Sidharth Vinod
06377b8231 chore: Fix eslint errors 2024-06-30 16:21:25 +05:30
Sidharth Vinod
4e55f4cf3d chore: eslint autofix 2024-06-30 16:21:17 +05:30
Sidharth Vinod
d5a03a9054 Merge branch 'sidv/eslintv9' into 5237-unified-layout-common-renderer-eslint
* sidv/eslintv9: (24 commits)
  chore: Cleanup tsconfig
  chore: Fix lint
  Apply suggestions from code review
  chore: Remove extra words from cspell
  chore: Log granular rebuild times
  fix: Message wrap
  fix: Message wrap
  chore: Use `??` instead of `||`
  chore: Organise imports
  chore: Remove unused variables
  chore: Remove cross-env from eslint
  chore: Cleanup rules
  chore: Fix eslint issues
  chore: Fix eslint issues
  chore: Add type checked rules, auto fix
  chore: Remove max_old_space_size as v9 does not have perf issues
  fix: Eslint jison linting
  chore: Resolve eslint errors
  chore: Resolve eslint errors
  chore: Remove orphaned files
  ...
2024-06-30 15:58:14 +05:30
Sidharth Vinod
f3a65f3178 chore: Cleanup tsconfig 2024-06-30 15:39:57 +05:30
Sidharth Vinod
b27d83e0e7 Merge pull request #5608 from mermaid-js/sidv/eslintv9Typed
ESLint V9 - Typed
2024-06-30 15:00:32 +05:30
Sidharth Vinod
55bd9e6efa chore: Fix lint 2024-06-30 14:50:53 +05:30
Sidharth Vinod
8b8c0dd57c Apply suggestions from code review
Co-authored-by: Alois Klink <alois@aloisklink.com>
2024-06-30 14:47:03 +05:30
Sidharth Vinod
d8d608fd99 chore: Remove extra words from cspell
Co-authored-by: Alois Klink <alois@aloisklink.com>
2024-06-30 14:37:59 +05:30
Sidharth Vinod
2efb2565ad Merge branch 'sidv/eslintv9' into sidv/eslintv9Typed
* sidv/eslintv9:
  chore: Log granular rebuild times
  Separate eslint packages from updates
2024-06-30 14:31:32 +05:30
Sidharth Vinod
c8a3290163 Merge branch 'develop' into sidv/eslintv9
* develop:
  chore: Log granular rebuild times
  Separate eslint packages from updates
2024-06-30 14:27:38 +05:30
Alois Klink
14a231767a Merge pull request #5609 from mermaid-js/sidv/esbuild_logs
chore: Log granular rebuild times
2024-06-30 08:35:13 +00:00
Sidharth Vinod
803e9eb2bd chore: Log granular rebuild times 2024-06-30 13:47:33 +05:30
Sidharth Vinod
29a3967c0e fix: Message wrap 2024-06-30 12:49:36 +05:30
Sidharth Vinod
cf72d33335 fix: Message wrap 2024-06-30 11:37:36 +05:30
Sidharth Vinod
7534462966 chore: Use ?? instead of || 2024-06-30 11:09:47 +05:30
Sidharth Vinod
d4525331cb chore: Organise imports 2024-06-30 10:51:11 +05:30
Sidharth Vinod
501cdbfcf7 Merge branch 'sidv/eslintv9' into sidv/eslintv9Typed
* sidv/eslintv9:
  chore: Remove unused variables
  chore: Remove cross-env from eslint
2024-06-30 01:47:58 +05:30
Sidharth Vinod
13bba48e92 chore: Remove unused variables 2024-06-30 01:45:14 +05:30
Sidharth Vinod
f1bd8fa91b chore: Remove cross-env from eslint 2024-06-30 01:30:05 +05:30
Sidharth Vinod
d9a12997ce chore: Cleanup rules 2024-06-30 01:29:28 +05:30
Sidharth Vinod
1fad9e6eef chore: Fix eslint issues 2024-06-30 01:19:11 +05:30
Sidharth Vinod
d9b2934a50 chore: Fix eslint issues 2024-06-30 01:16:46 +05:30
Sidharth Vinod
6b87fb3418 chore: Add type checked rules, auto fix 2024-06-30 00:58:02 +05:30
Knut Sveidqvist
444de0f133 5237 fix for async katex rendering when using elk 2024-06-29 21:19:09 +02:00
Sidharth Vinod
51fc56b95d chore: Remove max_old_space_size as v9 does not have perf issues 2024-06-29 23:44:29 +05:30
Sidharth Vinod
195e314c42 fix: Eslint jison linting 2024-06-29 16:31:19 +05:30
Sidharth Vinod
4c6e2783b0 chore: Resolve eslint errors 2024-06-29 16:20:46 +05:30
Sidharth Vinod
4a50feb5d9 chore: Resolve eslint errors 2024-06-29 16:09:50 +05:30
Sidharth Vinod
3f2e823330 chore: Remove orphaned files 2024-06-29 16:09:05 +05:30
Alois Klink
0ba712f53c build(eslint): add tsconfig for all linted files 2024-06-28 23:02:02 +09:00
Alois Klink
14622b0386 squash! chore: Update to eslint v9 with flat config
Use typescript-eslint v8 for ESLint v9 support.
2024-06-28 22:56:03 +09:00
Knut Sveidqvist
35797f867f #5237 Styling fixes 2024-06-28 15:27:32 +02:00
Knut Sveidqvist
3f0ababca6 Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-06-28 08:47:28 +02:00
Knut Sveidqvist
6231682867 #5237 cleanup diagram definition 2024-06-28 08:45:25 +02:00
Sidharth Vinod
9400e46827 Separate eslint packages from updates 2024-06-28 12:11:41 +05:30
Knut Sveidqvist
b92eae5b34 #5237 Fix for line-height issue 2024-06-28 08:40:04 +02:00
Knut Sveidqvist
5e6215d4f2 #5237 Fix for issue with text-centering in state-diagrams with htmlLabels true and subgraph title bkg 2024-06-28 08:32:33 +02:00
Sidharth Vinod
871a13aff8 Merge branch 'develop' into sidv/eslintv9
* develop: (59 commits)
  docs: Update mermaid.init remove date
  docs: Remove incorrect =
  chore: Prettier format
  chore: Update config.type.ts
  chore Add vitest.workspace.js
  chore: Stricter TS version
  chore: Remove MermaidAPI from docs
  doc: Update deprecation message
  doc: Update deprecation message
  fix: prevent escaping label styles
  chore: update browsers list
  chore(deps): update all patch dependencies
  docs: Added demo diagram of bidirectional arrows for sequence diagrams
  fix(deps): update all patch dependencies
  chore: Update drupal regex
  chore: Update pnpm
  chore: Update docs to remove html tag like text
  rebuild
  chore: Use string templates
  chore: Update docs
  ...
2024-06-28 11:59:55 +05:30
Sidharth Vinod
7f2902594c Merge branch 'develop' into 5237-unified-layout-common-renderer
* develop: (59 commits)
  docs: Update mermaid.init remove date
  docs: Remove incorrect =
  chore: Prettier format
  chore: Update config.type.ts
  chore Add vitest.workspace.js
  chore: Stricter TS version
  chore: Remove MermaidAPI from docs
  doc: Update deprecation message
  doc: Update deprecation message
  fix: prevent escaping label styles
  chore: update browsers list
  chore(deps): update all patch dependencies
  docs: Added demo diagram of bidirectional arrows for sequence diagrams
  fix(deps): update all patch dependencies
  chore: Update drupal regex
  chore: Update pnpm
  chore: Update docs to remove html tag like text
  rebuild
  chore: Use string templates
  chore: Update docs
  ...
2024-06-28 11:51:54 +05:30
Sidharth Vinod
ceb487f2d4 Merge pull request #4821 from mermaid-js/sidv/deprecateMermaidAPI
chore: Deprecate mermaidAPI
2024-06-28 11:42:18 +05:30
Sidharth Vinod
6095aaae61 Merge pull request #5598 from mermaid-js/fix/replace-string-with-dom
fix: prevent escaping label styles
2024-06-28 05:54:03 +00:00
Sidharth Vinod
c1052bd3c5 docs: Update mermaid.init remove date 2024-06-27 18:05:40 +05:30
Sidharth Vinod
a2cc86a414 docs: Remove incorrect = 2024-06-27 17:20:22 +05:30
Sidharth Vinod
2057649581 Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop:
  chore: Prettier format
2024-06-27 17:10:55 +05:30
Sidharth Vinod
ba0d91da32 chore: Prettier format 2024-06-27 17:07:38 +05:30
Sidharth Vinod
63f81f36a9 chore: Update config.type.ts 2024-06-27 17:03:08 +05:30
Sidharth Vinod
8e46e10429 Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop:
  chore Add vitest.workspace.js
2024-06-27 16:59:34 +05:30
Sidharth Vinod
3411a6e46d chore Add vitest.workspace.js 2024-06-27 16:59:13 +05:30
Sidharth Vinod
115a4976ff Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop:
  chore: Stricter TS version
2024-06-27 16:57:51 +05:30
Sidharth Vinod
a796940de3 chore: Stricter TS version 2024-06-27 16:57:32 +05:30
Sidharth Vinod
4b5e73102c chore: Remove MermaidAPI from docs 2024-06-27 16:55:05 +05:30
Sidharth Vinod
c5805383c7 doc: Update deprecation message 2024-06-27 15:36:12 +05:30
Sidharth Vinod
eb7d18dfca doc: Update deprecation message 2024-06-27 15:32:13 +05:30
Sidharth Vinod
eb0cb42f36 Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop: (21 commits)
  chore: update browsers list
  chore(deps): update all patch dependencies
  docs: Added demo diagram of bidirectional arrows for sequence diagrams
  fix(deps): update all patch dependencies
  chore: Update drupal regex
  chore: Update pnpm
  rebuild
  chore: Use string templates
  chore: Fix docs
  fix tests
  update arrow startx position
  move arrowhead adjustment to buildMessageModel
  fixed incorrect spacing, added e2e-test
  Format
  Replace regex with contain match
  Format
  Fix test
  Add charset=UTF-8
  Encode string to UTF-8 before encoding to Base64
  fix arrow pointer x position
  ...
2024-06-27 14:15:46 +05:30
Sidharth Vinod
18e2879867 feat: Allow html tags in markdown 2024-06-27 13:38:50 +05:30
Ashish Jain
a46f993e3e Fix composite state with label 2024-06-26 14:51:19 +02:00
Knut Sveidqvist
fc78ee0fc5 #5237 Fix for label opacity 2024-06-26 13:51:02 +02:00
Knut Sveidqvist
ee6ae6a47a #5237 fix for issue with alignment of subgraph titles 2024-06-26 13:15:52 +02:00
Knut Sveidqvist
6d7b2b1e14 Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-06-25 16:52:13 +02:00
Knut Sveidqvist
2117e71b51 #5237 Support for config nodespace and rankspace 2024-06-25 16:32:14 +02:00
Knut Sveidqvist
c3423beeda #5237 Support for invisisblwe links 2024-06-25 16:22:56 +02:00
Ashish Jain
de51bc40c7 #5237 Fix for the styling on different shapes 2024-06-25 16:17:52 +02:00
Knut Sveidqvist
aa9f4a7760 #5237 Support for default link styles 2024-06-25 15:58:58 +02:00
Knut Sveidqvist
9979ea1d74 #5237 Fix of alignment with htmlLabels 2024-06-25 15:48:19 +02:00
Knut Sveidqvist
fc31b22eb0 #5237 Fix of label styling 2024-06-25 15:19:12 +02:00
Knut Sveidqvist
c221350d59 #5237 Fix of alignment issues 2024-06-25 13:20:05 +02:00
Knut Sveidqvist
881a68241c Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-06-25 09:59:32 +02:00
Knut Sveidqvist
469acbe810 #5237 Fix of issue with styling of nodes for flowcharts 2024-06-25 09:42:55 +02:00
Yash Singh
ab726f008c fix: prevent escaping label styles 2024-06-24 16:07:43 -07:00
Knut Sveidqvist
9b56cb3feb #5237 Fix for issue with styling using new rendering flow 2024-06-24 14:17:56 +02:00
Ashish Jain
cfacd3b2e1 #5237 Added hasKatex check 2024-06-24 12:07:39 +02:00
Ashish Jain
f45ae227a0 #5237 Added hasKatex check 2024-06-24 11:32:24 +02:00
Knut Sveidqvist
97be6cbd73 Merge branches '5237-unified-layout-common-renderer' and '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-06-24 11:28:25 +02:00
Sidharth Vinod
ce3b0af03a Merge pull request #5592 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-06-24 09:01:25 +00:00
Sidharth Vinod
c7c1218e02 Merge pull request #5593 from mermaid-js/update-browserslist
Update Browserslist
2024-06-24 14:31:51 +05:30
cmmoran
f5bdbf22e7 chore: update browsers list 2024-06-24 07:07:40 +00:00
renovate[bot]
1ab23d137f chore(deps): update all patch dependencies 2024-06-24 01:33:30 +00:00
Sidharth Vinod
cba968ccc0 Merge pull request #5544 from mermaid-js/renovate/patch-all-patch
fix(deps): update all patch dependencies (patch)
2024-06-22 16:04:50 +00:00
Sidharth Vinod
0f3778aea8 Merge pull request #5589 from Justin-Garey/docs/123_bidirectional-sequence-arrows-demo
docs: Added demo diagram of bidirectional arrows for sequence diagrams
2024-06-22 16:04:32 +00:00
Justin
ac5c61dbd4 docs: Added demo diagram of bidirectional arrows for sequence diagrams 2024-06-21 14:16:21 +00:00
renovate[bot]
6c785c9316 fix(deps): update all patch dependencies 2024-06-21 11:12:06 +00:00
Sidharth Vinod
58483fb231 chore: Update drupal regex 2024-06-21 16:37:55 +05:30
Sidharth Vinod
0d8c3fcf8c chore: Update pnpm 2024-06-21 16:31:29 +05:30
Sidharth Vinod
9f375139d5 Merge pull request #5556 from OG-NI/bug/5555_xychart_incorrect_spacing
[XYChart] fixed incorrect spacing between data points
2024-06-21 03:39:47 +00:00
Sidharth Vinod
5ba3696f95 chore: Update docs to remove html tag like text 2024-06-21 08:45:52 +05:30
Ingo
0c49d2b84e Merge branch 'develop' into bug/5555_xychart_incorrect_spacing 2024-06-20 20:49:00 +02:00
OG-NI
42414e85d1 rebuild 2024-06-20 20:38:51 +02:00
Sidharth Vinod
77a02fefe4 Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop: (138 commits)
  chore: Update docs
  chore: Add argos token to cypress config.
  chore: Remove cy.get('svg') calls
  chore: fix Argos parallel
  chore: Support local screenshot testing without applitools or argos
  chore: Skip checking drupal links
  chore: Remove reference screenshot generation from E2E
  chore: Remove cytoscape patch.
  chore(argos): disable matchImageSnapshot
  chore(argos): put parallel mode only when necessary
  chore(argos): setup parallel mode
  chore: setup Argos Visual Testing on E2E
  Fixed linters
  Added more specs for elk detector
  Fixed wrong elk detector, check only beginning of the line for diagram keywords
  Removed unused patch
  Fix cytoscape patch
  chore: Remove cytoscape patch.
  docs: fix node version in CONTRIBUTING.md
  Explain line breaks in `sequenceDiagram.md`
  ...
2024-06-20 23:40:17 +05:30
Sidharth Vinod
1e43ad1ee3 Merge pull request #5520 from iansan5653/fix-sandbox-utf16
Fix `sandbox` mode with UTF-16 characters
2024-06-20 18:07:40 +00:00
Sidharth Vinod
cda41a1cdf Merge pull request #5209 from Ronid1/feature/4051_sequence_diagram-multi-directional-arrow
Feature/4051 sequence diagram multi directional arrow
2024-06-20 18:07:17 +00:00
Ronid1
1a199d630f Merge branch 'develop' of https://github.com/mermaid-js/mermaid into feature/4051_sequence_diagram-multi-directional-arrow 2024-06-20 10:25:42 -07:00
Sidharth Vinod
51c07163aa Merge branch 'develop' into pr/iansan5653/5520
* develop:
  chore: Update docs
  chore: Add argos token to cypress config.
  chore: Remove cy.get('svg') calls
  Explain line breaks in `sequenceDiagram.md`
  add integration test
  fix note z position
  Correct the System_Boundary stereotype
2024-06-20 22:48:45 +05:30
Sidharth Vinod
9bbd3cab3c chore: Use string templates 2024-06-20 22:48:28 +05:30
Sidharth Vinod
6f61a71dda Merge branch 'develop' into bug/5555_xychart_incorrect_spacing 2024-06-20 22:31:03 +05:30
Sidharth Vinod
3af4020cdc Merge pull request #5570 from abitrolly/patch-1
Explain line breaks in `sequenceDiagram.md`
2024-06-20 22:16:34 +05:30
Sidharth Vinod
d65e78f9e2 chore: Update docs 2024-06-20 22:15:52 +05:30
Sidharth Vinod
82b120e567 Merge branch 'develop' into patch-1 2024-06-20 22:14:38 +05:30
Nikolay Rozhkov
d95c159b1f Merge pull request #5243 from jonmcewen/c4-sys-boundary-stereotype
Correct the System_Boundary stereotype
2024-06-20 15:14:20 +00:00
Nikolay Rozhkov
c468319869 Merge branch 'develop' into c4-sys-boundary-stereotype 2024-06-20 17:36:02 +03:00
Knut Sveidqvist
4de0182978 #5237 Styling for clusters 2024-06-20 16:32:03 +02:00
Sidharth Vinod
4b21e1e745 Merge pull request #5564 from Ronid1/bug/5525_sequence_diagram_fix_note_z_position
Bug/5525 sequence diagram fix note z position
2024-06-20 13:51:21 +00:00
Ashish Jain
1601140511 #5237 Fix for broken cssCompiledStyles not iterable issue 2024-06-20 15:39:57 +02:00
Sidharth Vinod
fb1942c2cf Merge branch 'develop' into bug/5525_sequence_diagram_fix_note_z_position 2024-06-20 18:44:17 +05:30
Sidharth Vinod
81d8b9d02e chore: Fix docs 2024-06-20 18:41:11 +05:30
Sidharth Vinod
6db070197a Merge branch 'develop' into fix-sandbox-utf16 2024-06-20 18:35:29 +05:30
Sidharth Vinod
a331125187 Merge pull request #5586 from mermaid-js/sidv/cleanupCy
Cleanup Cypress tests
2024-06-20 13:04:42 +00:00
Sidharth Vinod
66bc461fa1 chore: Add argos token to cypress config.
This token is not sensitive, and is required for argos to run in fork PRs.
2024-06-20 18:26:19 +05:30
Knut Sveidqvist
b69c9821bc #5237 Fix for async rendering of clusters 2024-06-20 14:54:49 +02:00
Sidharth Vinod
df72febc00 Merge pull request #5579 from mermaid-js/bug/5507_fixed-wrong-elk-detector
Fixed wrong ELK detector
2024-06-20 12:47:57 +00:00
Ashish Jain
6d91ae4a09 #5237 Allow more text styles for labelStyles 2024-06-20 14:11:12 +02:00
Sidharth Vinod
5aced51f9e chore: Remove cy.get('svg') calls 2024-06-20 17:05:00 +05:30
Ashish Jain
f791ea00ef Removed data-id attr from edges 2024-06-20 13:26:12 +02:00
Ashish Jain
e07fdfedb6 Add katex support 2024-06-20 13:21:48 +02:00
Knut Sveidqvist
1096b185ee Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-06-20 12:48:26 +02:00
Knut Sveidqvist
fef433e844 #5237 Fix for issue with edges from clusters 2024-06-20 12:47:43 +02:00
Sidharth Vinod
fe9fbd8618 Merge pull request #5581 from gregberge/fix-argos-parallel
chore: fix Argos parallel
2024-06-20 16:15:36 +05:30
Greg Bergé
b031c6f182 chore: fix Argos parallel 2024-06-20 12:11:53 +02:00
Ashish Jain
5a93afa7ca #5237 Add data-id attr for edge 2024-06-20 11:45:30 +02:00
Sidharth Vinod
2f792e33d6 chore: Support local screenshot testing without applitools or argos 2024-06-20 15:11:38 +05:30
Ashish Jain
d408efdd1d #5237 fix for broken multiple classDef 2024-06-20 11:37:59 +02:00
Sidharth Vinod
dc51a8f182 Merge branch 'develop' into fix-sandbox-utf16 2024-06-20 14:48:39 +05:30
Sidharth Vinod
e8d18189ac Merge branch 'develop' of https://github.com/mermaid-js/mermaid into develop
* 'develop' of https://github.com/mermaid-js/mermaid:
  chore: Remove reference screenshot generation from E2E
  chore: Remove cytoscape patch.
  chore(argos): disable matchImageSnapshot
  chore(argos): put parallel mode only when necessary
  chore(argos): setup parallel mode
  chore: setup Argos Visual Testing on E2E
2024-06-20 14:47:57 +05:30
Sidharth Vinod
a6276a94c3 chore: Skip checking drupal links 2024-06-20 14:47:53 +05:30
Sidharth Vinod
85628f2148 Merge pull request #5577 from gregberge/setup-argos-visual-testing
chore: setup Argos Visual Testing
2024-06-20 14:46:54 +05:30
Sidharth Vinod
1f70717a53 Merge branch 'develop' into pr/gregberge/5577
* develop:
  Removed unused patch
  Fix cytoscape patch
  chore: Remove cytoscape patch.
  docs: fix node version in CONTRIBUTING.md
  Fixed entrypoint path
2024-06-20 14:44:16 +05:30
Sidharth Vinod
493bb8a80e chore: Remove reference screenshot generation from E2E 2024-06-20 14:39:21 +05:30
Sidharth Vinod
788e7c96ff chore: Remove cytoscape patch. 2024-06-20 14:39:21 +05:30
Greg Bergé
caa0ff340d chore(argos): disable matchImageSnapshot 2024-06-20 14:38:37 +05:30
Greg Bergé
44688a20b6 chore(argos): put parallel mode only when necessary 2024-06-20 14:38:37 +05:30
Greg Bergé
3f1bba407e chore(argos): setup parallel mode 2024-06-20 14:38:21 +05:30
Greg Bergé
91e8bcaba9 chore: setup Argos Visual Testing on E2E 2024-06-20 14:38:06 +05:30
Knut Sveidqvist
a35e62db14 #5237 Fix for issue with setting up data for subgraphs 2024-06-20 11:03:09 +02:00
Nikolay Rozhkov
66cd0b9621 Fixed linters 2024-06-19 22:53:55 +03:00
Nikolay Rozhkov
6382dcf7c8 Added more specs for elk detector 2024-06-19 22:36:13 +03:00
Nikolay Rozhkov
5587011f75 Fixed wrong elk detector, check only beginning of the line for diagram keywords 2024-06-19 22:19:50 +03:00
Nikolay Rozhkov
0044aa3029 Merge pull request #5573 from exoego/docs/5572_node-version-contributing-md
docs: fix node version in CONTRIBUTING.md
2024-06-19 18:25:38 +00:00
Nikolay Rozhkov
9c3bcec7f0 Merge branch 'develop' into docs/5572_node-version-contributing-md 2024-06-19 21:04:46 +03:00
Sidharth Vinod
63f9e95795 Merge pull request #5566 from mermaid-js/bug/5565-fix-docker-local-development
Fixed entrypoint path
2024-06-19 17:31:01 +00:00
Nikolay Rozhkov
8f00555bf5 Removed unused patch 2024-06-19 19:51:09 +03:00
Nikolay Rozhkov
029b3c1101 Merge branch 'develop' into bug/5565-fix-docker-local-development 2024-06-19 19:21:48 +03:00
Nikolay Rozhkov
2340a3b836 Fix cytoscape patch 2024-06-19 19:17:56 +03:00
Sidharth Vinod
d84b4403ab chore: Remove cytoscape patch. 2024-06-19 21:47:07 +05:30
Nikolay Rozhkov
323f72ce33 Merge branch 'develop' into bug/5565-fix-docker-local-development 2024-06-19 16:49:23 +03:00
Knut Sveidqvist
6ae5fe7f17 #5237 Fixing self-loops 2024-06-19 12:24:29 +02:00
Knut Sveidqvist
460e027b6e #5237 Adding missing shape 2024-06-19 10:49:58 +02:00
Ashish Jain
406c0d869b Add support for custom cssStyle and compiledStyles for custom classDefs for flowchart 2024-06-18 11:48:24 +02:00
Knut Sveidqvist
b6b2b3697d Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-06-18 11:16:28 +02:00
Knut Sveidqvist
83f2663f68 #5237 making styles take preceedence and adding test 2024-06-18 11:15:59 +02:00
Knut Sveidqvist
a6f3316ddb #5237 passing cssStyles and cssCompiled style arrays 2024-06-17 15:42:45 +02:00
Ashish Jain
4a8c24a633 Add support for custom cssStyle and compiledStyles for custom classDefs 2024-06-17 15:19:03 +02:00
Ashish Jain
6ca6403878 Add support for custom cssStyle and compiledStyles for custom classDefs 2024-06-17 15:09:45 +02:00
Knut Sveidqvist
5bd3a28667 Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-06-17 14:21:49 +02:00
Knut Sveidqvist
d52f4724fe #5237 Updated type for classdefs and styles 2024-06-17 14:20:05 +02:00
Ashish Jain
618f7977ef Add support for interaction, tooltip, for refactored flowchart 2024-06-17 13:25:54 +02:00
Sidharth Vinod
ecee23d8ba Merge pull request #5546 from mermaid-js/update-browserslist
Update Browserslist
2024-06-17 10:55:54 +05:30
exoego
7ee22de5e2 docs: fix node version in CONTRIBUTING.md 2024-06-16 07:29:35 +09:00
Anatoli Babenia
c904c7d21a Explain line breaks in sequenceDiagram.md
Closes https://github.com/mermaid-js/mermaid/issues/4351
2024-06-15 12:29:30 +03:00
Knut Sveidqvist
0d1ef9de07 #5237 Lint fixes 2024-06-14 17:39:42 +02:00
Knut Sveidqvist
481f8186e4 #5237 Fixes after visual testing. Handling multi-line notes and positioning of notes relative to the state 2024-06-14 17:18:31 +02:00
Knut Sveidqvist
5731b72795 #5237 Dagre padding adjustments 2024-06-14 14:16:01 +02:00
Knut Sveidqvist
92c05b9138 #5237 Lint fixes 2024-06-14 14:12:55 +02:00
Ashish Jain
dd7f8ac81b lint fixes 2024-06-13 17:00:08 +02:00
Knut Sveidqvist
1afd0a199e Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-06-13 16:26:30 +02:00
Knut Sveidqvist
e2e652ae0f 5237 Adding rectWith title shape 2024-06-13 16:25:41 +02:00
Ashish Jain
a5d24e5da5 Fix lint issues 2024-06-13 14:57:36 +02:00
Ashish Jain
94512c0780 Fix lint issues 2024-06-13 14:50:52 +02:00
Knut Sveidqvist
ef83adb36e Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-06-13 14:27:16 +02:00
Knut Sveidqvist
926762a800 5237 Fixes after visual tests 2024-06-13 14:27:10 +02:00
Knut Sveidqvist
ec0e9b8680 5237 Fixes after visual tests 2024-06-13 14:25:31 +02:00
Ashish Jain
fc17733770 #5237 Fix eslint error 2024-06-13 14:17:36 +02:00
Ashish Jain
a5281e0464 #5237 Fix eslint error 2024-06-13 14:10:58 +02:00
Ashish Jain
a6dc1eaa40 #5237 Fix eslint error 2024-06-13 13:47:25 +02:00
Knut Sveidqvist
9643e8f19c Merge branch 'develop' into 5237-unified-layout-common-renderer 2024-06-13 10:02:57 +02:00
Sidharth Vinod
bdca0a583e chore: Update to eslint v9 with flat config 2024-06-12 22:19:14 +05:30
Knut Sveidqvist
a35152843f #5237 Handling remaining references to useRough 2024-06-12 12:35:53 +02:00
Knut Sveidqvist
f19a9d021f 5237 Removed a comma 2024-06-12 12:25:41 +02:00
Per Brolin
1b5bd999e2 5237 Replaced useRough by look 2024-06-12 12:10:20 +02:00
Knut Sveidqvist
36e4fcfdfe 5237 Subgraph handling 2024-06-12 11:36:15 +02:00
Knut Sveidqvist
913dbee2e7 5237 Subgraph handling 2024-06-12 11:34:13 +02:00
Ashish Jain
d895a62565 #5237 Make getData to use global nodes and edges 2024-06-12 11:05:26 +02:00
Knut Sveidqvist
50394e7af1 5237 Lint fixes 2024-06-12 09:45:26 +02:00
Knut Sveidqvist
9981d3fc8b Support for config option elk.mergeEdges 2024-06-12 08:48:06 +02:00
Knut Sveidqvist
7763d9ceb8 5237 Label background for state diagrams 2024-06-11 15:03:14 +02:00
Knut Sveidqvist
8cbceb611a 5237 Bugfix for intersect calculation in dagre 2024-06-11 14:47:47 +02:00
Knut Sveidqvist
5f110e4cde 5237 Better algorithm to pich replacement node when faking position for subgraphs 2024-06-11 13:27:51 +02:00
Knut Sveidqvist
aaa4e8a794 test commit 2024-06-10 13:55:12 +02:00
Knut Sveidqvist
ea69d26a60 #5237 Fix for incorrect handling of self loops with elk layout 2024-06-10 13:50:06 +02:00
cmmoran
ce3d0a23de chore: update browsers list 2024-06-10 07:06:39 +00:00
Knut Sveidqvist
7fbe1661ec #5237 Fix for edges in when using elk and subgraphs regarding offset and direction of marker in some edge cases 2024-06-09 15:32:28 +02:00
Nikolay Rozhkov
1c4dd9b923 Fixed entrypoint path 2024-06-09 01:23:38 +03:00
Knut Sveidqvist
1b29135cc1 #5237 Enabling subgraphs using the unified renderer for flowcharts 2024-06-07 20:23:44 +02:00
Ronid1
b285466130 add integration test 2024-06-06 18:33:55 -07:00
Ronid1
3754ac0872 fix note z position 2024-06-06 18:15:11 -07:00
Ronid1
83ca6897bd fix tests 2024-06-04 15:23:57 -07:00
Ronid1
d2d7f2bcb0 update arrow startx position 2024-06-04 15:10:50 -07:00
Ronid1
20f9abcc38 move arrowhead adjustment to buildMessageModel 2024-06-04 14:58:47 -07:00
Ronid1
0417a8ddff Merge branch 'develop' of https://github.com/mermaid-js/mermaid into feature/4051_sequence_diagram-multi-directional-arrow 2024-06-04 14:40:39 -07:00
Knut Sveidqvist
a85f36c3be #5237 Enabling edges using the unified renderer for flowcharts 2024-06-04 16:34:20 +02:00
Ashish Jain
d9d4a677ab 5237 Adjust classDef and note position data 2024-06-03 14:43:00 +02:00
Ashish Jain
01297fa042 5237 Adjust classDef and note position data 2024-06-03 14:16:35 +02:00
OG-NI
46fe731379 fixed incorrect spacing, added e2e-test 2024-06-01 21:48:34 +02:00
Knut Sveidqvist
cca1c41749 #5237 Adding look to data4Layout generation and radius fix 2024-05-31 12:04:38 +02:00
Knut Sveidqvist
2c9c3b4571 #5237 Elk curve fix 2024-05-31 11:55:26 +02:00
Knut Sveidqvist
4266b2e4ca #5237 Bugfixes 2024-05-31 11:27:12 +02:00
Nikolay Rozhkov
0e63233845 Merge branch 'develop' into c4-sys-boundary-stereotype 2024-05-30 01:52:56 +03:00
Knut Sveidqvist
9855bdbaaa Fix for edge issue with small corners 2024-05-28 15:27:13 +02:00
Knut Sveidqvist
51bdda0c34 Merge branch '5237-unified-layout-flowchart' into 5237-unified-layout-common-renderer 2024-05-28 10:27:19 +02:00
Knut Sveidqvist
8fb9b21f59 #5237 Fix four double circle background 2024-05-28 08:50:16 +02:00
Knut Sveidqvist
b8dd4b9048 #5237 Finishing the roughup of the nodes 2024-05-27 17:42:07 +02:00
Ashish Jain
4f6586873f wip: Broke out flowchar shapes for common rendering 2024-05-27 15:17:59 +02:00
Knut Sveidqvist
37d799dd8e Removing debug code 2024-05-27 14:46:00 +02:00
Knut Sveidqvist
c32116a21a #5237 Only using markdown strings 2024-05-27 14:27:26 +02:00
Knut Sveidqvist
a56aa56cbc Merge branch '5237-unified-layout-common-renderer' into 5237-unified-layout-flowchart 2024-05-24 16:30:24 +02:00
Knut Sveidqvist
48e313bf18 Merge pull request #5539 from mermaid-js/sidv/5237
Internal: Fix build
2024-05-24 16:26:50 +02:00
Knut Sveidqvist
fa6bcd8b30 #5237 Adding new rendering for flowcharts 2024-05-24 13:28:33 +02:00
Sidharth Vinod
eed5ba6c1e Merge branch 'sidv/5237' of https://github.com/mermaid-js/mermaid into sidv/5237
* 'sidv/5237' of https://github.com/mermaid-js/mermaid:
  Update docs
2024-05-24 15:37:30 +05:30
Sidharth Vinod
8e40f31ed3 chore: Fix import 2024-05-24 15:37:25 +05:30
sidharthv96
af05df937e Update docs 2024-05-24 09:48:45 +00:00
Sidharth Vinod
f01a9d50fb chore: Fix formatting 2024-05-24 15:15:42 +05:30
Sidharth Vinod
f14b65cf43 chore ignore file 2024-05-24 15:12:30 +05:30
Sidharth Vinod
e5069083c9 Merge branch '5237-unified-layout-common-renderer' into sidv/5237
* 5237-unified-layout-common-renderer:
  Tweaking spacings for elk and confurinable network placement strategy
  #5237 Elk spacing tweak and fix for fonthandling in directives
  #5237 Handling label size for elk layout
  #5237 Handling paddings in subgraphs for state diagrams
  #5237 Handling paddings in subgraphs for state diagrams
2024-05-24 14:50:03 +05:30
Sidharth Vinod
8a079299a6 chore: Fix eslint errors 2024-05-24 14:38:05 +05:30
Sidharth Vinod
dfe223c3b8 chore: Fix eslint errors 2024-05-24 14:32:22 +05:30
Sidharth Vinod
e09410448c chore: Fix typos, remove unused docs 2024-05-24 10:11:22 +05:30
Sidharth Vinod
269ddf4a34 chore: Add reason to tsignore 2024-05-24 10:09:16 +05:30
Sidharth Vinod
e41bccad64 chore: Fix types.d.ts 2024-05-24 10:08:06 +05:30
Sidharth Vinod
d6ccd93cf2 Merge pull request #5532 from TWiStErRob/patch-1
Tiny improvements to Diagram Syntax sidebar
2024-05-24 09:24:17 +05:30
Knut Sveidqvist
7da85b9005 Tweaking spacings for elk and confurinable network placement strategy 2024-05-23 11:59:31 +02:00
Knut Sveidqvist
8d23b684f5 #5237 Elk spacing tweak and fix for fonthandling in directives 2024-05-23 11:12:36 +02:00
Knut Sveidqvist
47776e3ca1 #5237 Handling label size for elk layout 2024-05-23 10:50:39 +02:00
Sidharth Vinod
52e0dc6464 chore: Suppress type errors
Should fix properly
2024-05-23 10:06:42 +05:30
Knut Sveidqvist
5413668c1a #5237 Handling paddings in subgraphs for state diagrams 2024-05-22 16:18:00 +02:00
Knut Sveidqvist
3e60270193 Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-05-22 16:05:31 +02:00
Knut Sveidqvist
ddaa7afbb5 #5237 Handling paddings in subgraphs for state diagrams 2024-05-22 16:02:57 +02:00
Sidharth Vinod
2377a0d753 chore: Cleanup state renderer v3 2024-05-22 18:04:33 +05:30
Sidharth Vinod
a4de1b4944 Merge pull request #5535 from mermaid-js/sidv/5237
Internal
2024-05-22 17:24:28 +05:30
Sidharth Vinod
5b66810646 feat: Remove direct file dependency of mermaid from elk, by using peerDependency. 2024-05-22 17:01:34 +05:30
Sidharth Vinod
aa63f320f8 Minor cleanups 2024-05-21 22:24:04 +05:30
Sidharth Vinod
cf20ccb126 Create FUNDING.json 2024-05-21 18:28:21 +05:30
Sidharth Vinod
ca2c112c9a Fix cspell 2024-05-21 17:58:02 +05:30
Sidharth Vinod
75b0ee3daf Remove unused code 2024-05-21 17:56:50 +05:30
Sidharth Vinod
60c79dfb2f Add d3 2024-05-21 17:55:10 +05:30
Sidharth Vinod
c10ab23387 Merge branch 'develop' into 5237-unified-layout-common-renderer
* develop: (50 commits)
  Update pnpm to v9
  chore: Fix link
  Update docs
  fixup, docs: update plugin's name
  Update docs
  Changed Mermaid Chart GPT plugin's name
  Updated Mermaid Chart ChatGPT plugin link
  chore(deps): update all patch dependencies
  run the pnpm --filter mermaid run docs:build command
  Update flowchart.md
  chore: address @Yokozuna59's code reviews
  Lint fix
  Fix for proper handling of block-diagram labels
  Fix for proper handling of block-diagram labels
  docs: Add blog post - Documentation Software (#5519)
  refactor: remove non-null assertion operator
  chore: remove unrefSubSchemas
  chore: Build config types before building types
  chore: Ignore `vite.config.ts.timestamp-`
  chore(deps): update all patch dependencies
  ...
2024-05-21 17:52:11 +05:30
Sidharth Vinod
ec7adb7e00 Update pnpm to v9 2024-05-21 17:48:30 +05:30
Knut Sveidqvist
0d2c7c3b2c #5237 Removed node properties, doc status in types 2024-05-20 14:33:54 +02:00
Knut Sveidqvist
c8f2abad18 #5237 Removed use of node.type from renderer 2024-05-20 14:29:38 +02:00
Knut Sveidqvist
b6ef7367c2 #5237 Removed style, class, labelText and props from node 2024-05-20 14:21:01 +02:00
Knut Sveidqvist
4463e9d7a3 #5237 Removal of debug logs 2024-05-20 13:14:33 +02:00
Róbert Papp
44f42b2a63 Tiny improvements to Diagram Syntax sidebar 2024-05-18 11:13:09 +01:00
Knut Sveidqvist
991721e955 #5237 Elk tweaks and additional layout algorithms 2024-05-17 12:46:02 +02:00
Knut Sveidqvist
47d4929bc6 #5237 Handling tainted subgraphs 2024-05-17 09:30:51 +02:00
Knut Sveidqvist
ff36301cc5 #5237 Fix for direction handling using ELK 2024-05-16 14:36:02 +02:00
Ashish Jain
7fb079ef3c #5237 node data type remarks 2024-05-16 12:19:26 +02:00
Sidharth Vinod
7bcba29493 Merge branch 'master' of https://github.com/mermaid-js/mermaid into develop
* 'master' of https://github.com/mermaid-js/mermaid:
  chore: Fix link
  Update docs
  fixup, docs: update plugin's name
  Update docs
  Changed Mermaid Chart GPT plugin's name
  Updated Mermaid Chart ChatGPT plugin link
  run the pnpm --filter mermaid run docs:build command
  Update flowchart.md
  Lint fix
  Fix for proper handling of block-diagram labels
  Fix for proper handling of block-diagram labels
  docs: Add blog post - Documentation Software (#5519)
  update content
  add ai blog post
2024-05-16 14:26:38 +05:30
Sidharth Vinod
8744008630 Merge pull request #5509 from Abrifq/patch-6
Updated Mermaid Chart ChatGPT plugin link
2024-05-16 14:22:52 +05:30
Sidharth Vinod
418d34cbee chore: Fix link 2024-05-16 14:21:44 +05:30
Sidharth Vinod
fcd5c2c21d Merge branch 'master' into pr/Abrifq/5509
* master:
  run the pnpm --filter mermaid run docs:build command
  Update flowchart.md
  Lint fix
  Fix for proper handling of block-diagram labels
  Fix for proper handling of block-diagram labels
  docs: Add blog post - Documentation Software (#5519)
  update content
  add ai blog post
2024-05-16 14:16:53 +05:30
Abrifq
e3c6281b26 Update docs 2024-05-16 14:13:44 +05:30
Arda Aydın
ae5b886148 fixup, docs: update plugin's name 2024-05-16 14:13:44 +05:30
Abrifq
c5badf8341 Update docs 2024-05-16 14:13:43 +05:30
Arda Aydın
da882de0d4 Changed Mermaid Chart GPT plugin's name 2024-05-16 14:13:43 +05:30
Abrifq
633febaeab Updated Mermaid Chart ChatGPT plugin link 2024-05-16 14:13:42 +05:30
Sidharth Vinod
bf9485c231 Merge pull request #5513 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-05-16 08:35:44 +00:00
renovate[bot]
a722bdcd37 chore(deps): update all patch dependencies 2024-05-16 07:44:05 +00:00
Sidharth Vinod
8a5fe53706 Merge pull request #5468 from mermaid-js/fix/maps
fix: move from objects to Maps
2024-05-16 07:27:23 +00:00
Sidharth Vinod
362e49aa2c Merge pull request #5517 from GRASBOCK/patch-1
Update flowchart.md
2024-05-16 10:44:32 +05:30
Richard Körner
6d2939c9b9 run the pnpm --filter mermaid run docs:build command 2024-05-16 10:43:18 +05:30
GRASBOCK
9a11cb7bb3 Update flowchart.md
fix callback by setting the window callback to the respective callback function in the jsfiddle and code sample
2024-05-16 10:43:17 +05:30
Sidharth Vinod
45cd2c005b chore: Minor fixes when reading code 2024-05-15 21:34:16 +05:30
Sidharth Vinod
2d241808e9 chore: Minor fixes 2024-05-15 21:23:33 +05:30
Sidharth Vinod
9fc17f67c6 Merge branch '5237-unified-layout-common-renderer' of https://github.com/mermaid-js/mermaid into 5237-unified-layout-common-renderer
* '5237-unified-layout-common-renderer' of https://github.com/mermaid-js/mermaid:
  #5237 Increasing fill weight for rects in rough
2024-05-15 19:02:15 +05:30
Knut Sveidqvist
287e903385 #5237 Increasing fill weight for rects in rough 2024-05-15 15:31:06 +02:00
Sidharth Vinod
b1b27f7a2b Merge branch '5237-unified-layout-common-renderer' of https://github.com/mermaid-js/mermaid into 5237-unified-layout-common-renderer
* '5237-unified-layout-common-renderer' of https://github.com/mermaid-js/mermaid:
  #5237 Theme support for stateStart, stateEnd, choice and fork/join
  #5237 Improved Edge Handling
  #5237 pass css node style like bgColor, borderColor, borderWeight for roughjs
2024-05-15 19:00:58 +05:30
Sidharth Vinod
745ec0daae chore: Update imports in layout-elk 2024-05-15 19:00:45 +05:30
Sidharth Vinod
64f1d2f005 chore: Move layout-elk to different package 2024-05-15 18:59:53 +05:30
Knut Sveidqvist
55afd8cdb8 #5237 Theme support for stateStart, stateEnd, choice and fork/join 2024-05-15 15:28:39 +02:00
Knut Sveidqvist
42a12a62ac #5237 Improved Edge Handling 2024-05-15 15:06:16 +02:00
Ashish Jain
e8018ed779 #5237 pass css node style like bgColor, borderColor, borderWeight for roughjs 2024-05-15 11:20:10 +02:00
Yash Singh
00eaebeac8 Merge pull request #5518 from aloisklink/5468/refactor/remove-TypeScript-non-null-assertion-when-possible 2024-05-14 18:36:13 -07:00
Yash Singh
dd92aecdca chore: address @Yokozuna59's code reviews 2024-05-14 18:33:47 -07:00
Knut Sveidqvist
20f9e503cb #5237 Fix for arrowheads when usising non linear curves with roughjs 2024-05-14 21:32:16 +02:00
Ian Sanders
e26dea6416 Format 2024-05-14 15:07:31 -04:00
Ian Sanders
3b2b8dacd8 Replace regex with contain match 2024-05-14 15:02:14 -04:00
Ian Sanders
df94d3994d Format 2024-05-14 14:34:10 -04:00
Ian Sanders
6f56d94c64 Fix test 2024-05-14 14:30:13 -04:00
Ian Sanders
56c4f10607 Add charset=UTF-8 2024-05-14 14:08:35 -04:00
Ian Sanders
dfa71317ad Encode string to UTF-8 before encoding to Base64 2024-05-14 13:57:32 -04:00
Sidharth Vinod
2df26ca323 Merge branch 'develop' into fix/maps 2024-05-14 22:15:54 +05:30
Knut Sveidqvist
b7cb9673b0 Merge branch 'release/10.9.1' 2024-05-14 13:01:17 +02:00
Knut Sveidqvist
8d815f878c Lint fix 2024-05-14 13:00:45 +02:00
Knut Sveidqvist
dab26df9c4 Fix for proper handling of block-diagram labels 2024-05-14 12:55:39 +02:00
Knut Sveidqvist
c7fe9a6465 Fix for proper handling of block-diagram labels 2024-05-14 12:53:41 +02:00
Steph
4f26f3ae2e docs: Add blog post - Documentation Software (#5519)
Add blog post documentation software
2024-05-14 16:39:16 +09:00
Alois Klink
730fa89e4c refactor: remove non-null assertion operator
Remove the non-null assertion operator when possible from PR
https://github.com/mermaid-js/mermaid/pull/5468
2024-05-14 03:28:59 +09:00
Sidharth Vinod
0326d899c4 Merge pull request #5514 from mermaid-js/sidv/removeUnrefSubschemas
chore: remove unrefSubSchemas
2024-05-13 12:12:14 +05:30
Sidharth Vinod
c993adfcdb chore: remove unrefSubSchemas 2024-05-13 10:14:28 +05:30
Sidharth Vinod
4885b311f8 chore: Build config types before building types 2024-05-13 08:47:23 +05:30
Sidharth Vinod
3274f673ab chore: Ignore vite.config.ts.timestamp- 2024-05-13 08:46:13 +05:30
Knut Sveidqvist
f5fefc0499 #5237 Style support in rects 2024-05-10 15:51:48 +02:00
Knut Sveidqvist
ab077992f5 #5237 Updating configuration otions and adding handdrawnSeed 2024-05-10 14:56:52 +02:00
Ashish Jain
2f80c3a2c4 #5237 pass useRough to note & group nodes 2024-05-10 14:14:17 +02:00
Knut Sveidqvist
4c0b8f6f40 #5237 Rough rendering of notes 2024-05-10 13:47:45 +02:00
Knut Sveidqvist
ce6f2739b5 #5237 Theme support 2024-05-10 13:21:39 +02:00
Knut Sveidqvist
7ecb772c6c #5237 Alternating background 2024-05-10 07:43:04 +02:00
Ashish Jain
f480fb7c85 #5237 added state refactor test page 2024-05-08 15:27:36 +02:00
Knut Sveidqvist
94bb43907d Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-05-08 14:16:47 +02:00
Knut Sveidqvist
32a62bede8 #5237 Edge labels for ELK - mergwe 2024-05-08 14:16:04 +02:00
Ashish Jain
7372d9055a #5237 added state refactor test page 2024-05-08 14:13:19 +02:00
Knut Sveidqvist
3ff4a6910d #5237 Edge labels for ELK 2024-05-08 14:13:18 +02:00
Ashish Jain
683695bec2 #5237 add support for note shape 2024-05-08 11:10:05 +02:00
Ashish Jain
fbe13f4e9e #5237 fix for duplicate nodes for join fork 2024-05-08 09:43:01 +02:00
Sidharth Vinod
4f642428de Merge pull request #5504 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-05-08 06:19:56 +00:00
renovate[bot]
954f5d7d42 chore(deps): update all patch dependencies 2024-05-08 06:04:26 +00:00
Sidharth Vinod
4a12c46350 Merge pull request #5503 from igorwessel/feat/add-from-to-id-in-edge
feat(state): add from, to ids for edge
2024-05-08 05:21:44 +00:00
Sidharth Vinod
9eb64cd6db Update docs 2024-05-08 10:59:18 +05:30
Sidharth Vinod
7b8e76c26f Merge pull request #5480 from mermaid-js/update-browserslist
Update Browserslist
2024-05-08 10:57:06 +05:30
Sidharth Vinod
665be1ecfe Merge pull request #5506 from conradagramont/patch-1
Added to "others" section on integration with Astro
2024-05-08 10:56:48 +05:30
Sidharth Vinod
edda73c7fc chore: Update ordering 2024-05-08 10:56:08 +05:30
Sidharth Vinod
6413529a6e Merge pull request #5490 from Timac/patch-1
Update integrations-community: Add MarkChart, a macOS app to preview …
2024-05-08 10:54:14 +05:30
Sidharth Vinod
f5e1df08a0 Merge pull request #5483 from NicolasNewman/5435/inconsistent-math-rendering
fix: inconsistent MathML rendering & erroneous <br />s being added
2024-05-08 10:53:52 +05:30
Conrad Agramont
bb2bbfdf92 Added to "others" section on integration with Astro 2024-05-07 13:24:04 -07:00
Sidharth Vinod
7529db8254 Merge branch 'develop' into 5237-unified-layout-common-renderer
* develop: (462 commits)
  Update packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison
  fix: Simplify actor type of activeStart and activeEnd
  chore(deps): update all patch dependencies
  chore: Fix typo
  chore(deps): update all patch dependencies
  chore: remove repetitive words
  Update stateDiagram.md
  Update stateDiagram.md
  fix: simply from and to in message to string type
  docs: Add quadrant point styling
  feat: Change precedence of styling
  chore(deps): update all minor dependencies
  chore(deps): update all patch dependencies
  fix: eslint ignore, type definition
  chore(deps): update all patch dependencies
  fix: Remove `ImperativeState` type restriction.
  📝🐛 fix schema link
  update latest news section
  Changes to rendering/gitGraph.spec.js - Added additional rendering test functionality for recognizing 'switch' as an alias to 'checkout'.
  1. Changes to gitGraph.jison - Updated the regex to allow either 'checkout' or 'switch' 2. Changes to gitGraphParser.spec.js - Additional test coverage added for the changes made to the parser. 3. Changes to gitGraphParserV2.spec.js - Additional test coverafe added for the changes made to the parser. 4. Changes to gitgraph.md - Updated documentation to let users know that checkout/switch can be used interchangeably.
  ...
2024-05-07 21:16:15 +05:30
Knut Sveidqvist
b9a73c88b5 #5237 Bugfix for fork/join 2024-05-07 15:47:39 +02:00
Nicolas Newman
22bd26272d Merge branch 'develop' into 5435/inconsistent-math-rendering 2024-05-06 09:53:11 -05:00
Knut Sveidqvist
d497a5c4ac #5237 Adjustment for different sematics between dagre and elk positioning 2024-05-06 16:21:25 +02:00
Knut Sveidqvist
323737f3a6 #5237 Setting layout algorithm and handrawn or not via configuration 2024-05-06 14:42:36 +02:00
Knut Sveidqvist
39bffcb3a0 #5237 Support for composit states WIP, rough 2024-05-06 13:19:40 +02:00
Knut Sveidqvist
16cd7bf649 #5237 Support for composit states WIP, rough 2024-05-06 13:09:57 +02:00
Igor Wessel
da150e8767 feat: use standard edge id function for class,flow,state diagram 2024-05-06 08:07:47 -03:00
Igor Wessel
1f64452716 feat(utils): create a standard edge id function 2024-05-06 07:46:42 -03:00
cmmoran
10871af93b chore: update browsers list 2024-05-06 07:06:55 +00:00
Yash Singh
50c9ede69d chore: rm autocompleted import 2024-05-04 09:44:08 -07:00
Yash Singh
ca4fa11859 trigger e2e again 2024-05-04 09:42:56 -07:00
Knut Sveidqvist
853948a93d #5237 Support for composit states WIP 2024-05-04 11:34:57 +02:00
Igor Wessel
9986b023d7 feat(state): add from, to in edge 2024-05-04 06:21:12 -03:00
Yash Singh
58af76384a fix: classrenderer v2 using in op 2024-05-03 21:19:52 -07:00
Yash Singh
e2ca8e820e format 2024-05-03 21:12:48 -07:00
Yash Singh
1cbd730b8d fix: class diagram notes plss 2024-05-03 21:07:09 -07:00
Yash Singh
6f1a553234 fix: git graph diffs 2024-05-03 20:37:45 -07:00
Knut Sveidqvist
b2c286ff1d #5237 Recusive structuture refactoring for subgraphs 2024-05-03 15:58:39 +02:00
Ashish Jain
024bffd683 #5237 pass useRough to edges 2024-05-03 13:03:34 +02:00
Ashish Jain
5e53d6cfee #5237 fix for node duplication 2024-05-03 12:50:02 +02:00
Knut Sveidqvist
913b29dbcb #5237 First elk iteration 2024-05-03 12:02:19 +02:00
Yash Singh
e68ba3f1df Merge branch 'develop' into fix/maps 2024-05-02 15:34:50 -07:00
Yash Singh
92f1941fb0 fix: some changes 2024-05-02 15:28:59 -07:00
Sidharth Vinod
e68125eb6a Merge pull request #5471 from ad1992/aakansha/types
fix: simply from and to in message to string type
2024-05-01 17:44:15 +00:00
Sidharth Vinod
4f1c3547bf Merge pull request #5494 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-05-01 17:33:01 +00:00
Sidharth Vinod
e102ac2b58 Update packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison 2024-05-01 23:02:46 +05:30
Justin Greywolf
a536484408 Merge pull request #5495 from mermaid-js/update-mermaid-chart-page
DOCS: update Mermaid Chart page
2024-05-01 08:09:07 -07:00
Aakansha Doshi
63dca5bb86 Merge branch 'develop' into aakansha/types 2024-05-01 18:18:45 +05:30
Sidharth Vinod
bc7ecf330b fix: Simplify actor type of activeStart and activeEnd 2024-05-01 17:34:38 +05:30
Ashish Jain
703c25a6e2 #5237 node text cut off 2024-04-30 16:57:57 +02:00
renovate[bot]
d4e00de1fd chore(deps): update all patch dependencies 2024-04-30 10:26:27 +00:00
Knut Sveidqvist
0c36248073 #5237 Support for composit states 2024-04-30 10:07:58 +02:00
Knut Sveidqvist
08e4489ede #5237 Support for composit states 2024-04-30 10:06:52 +02:00
Steph
76801ff564 update content 2024-04-29 14:12:55 -07:00
NicolasNewman
c4ccfec316 Update docs 2024-04-29 14:49:56 +00:00
NicolasNewman
1ac9244e68 style(mathml): linting 2024-04-29 09:46:50 -05:00
Ashish Jain
7e837dfee2 #5237 add support for diagram title 2024-04-29 15:58:54 +02:00
Knut Sveidqvist
21185227ad Merge 2024-04-29 11:21:51 +02:00
Knut Sveidqvist
b3e29dc11b #5237 Adding elk support 2024-04-29 11:20:58 +02:00
Ashish Jain
9f6fc5a074 #5237 WIP 2024-04-29 11:19:06 +02:00
Sidharth Vinod
f2d3ac1e7b Merge pull request #5492 from mermaid-js/add-blog-post
DOCS: Add AI in Software Diagramming blog post
2024-04-27 11:12:15 +05:30
Steph
edad740e15 add ai blog post 2024-04-26 13:17:36 -07:00
Sidharth Vinod
8265e53128 Merge pull request #5485 from cbugk/develop
Add named composite state example to stateDiagram-v2
2024-04-26 18:08:12 +00:00
Sidharth Vinod
d316b05fa1 Merge pull request #5476 from welfuture/develop
chore: remove repetitive words
2024-04-26 17:47:49 +00:00
Sidharth Vinod
3000f0208f Merge branch 'develop' into develop 2024-04-26 23:16:41 +05:30
Sidharth Vinod
e49c95c220 chore: Fix typo 2024-04-26 23:16:11 +05:30
Sidharth Vinod
47c5abb8a5 Merge pull request #5478 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-04-26 23:13:09 +05:30
renovate[bot]
be9b349e51 chore(deps): update all patch dependencies 2024-04-26 15:51:00 +00:00
Knut Sveidqvist
b22ae106b2 #5237 Adding support for decision 2024-04-26 15:00:19 +02:00
Knut Sveidqvist
7fe4a2ce6c #5237 More rough shapes 2024-04-26 14:15:07 +02:00
Ashish Jain
8102ba4d52 #5237 added support for node with label/description 2024-04-26 12:46:53 +02:00
Ashish Jain
dd5bfb3b24 #5237 WIP 2024-04-26 12:24:02 +02:00
Alexandre Colucci
18defaae6d Update integrations-community: Add MarkChart, a macOS app to preview Mermaid diagrams 2024-04-26 08:17:40 +02:00
Knut Sveidqvist
a2702e4058 #5237 Adding support for rounded rect 2024-04-26 07:24:57 +02:00
Knut Sveidqvist
e6e463092c #5237 Adding roughjs edges 2024-04-25 15:48:33 +02:00
Yash Singh
128c69aa76 fix: use maps for quadrant diagrams 2024-04-24 19:15:21 -07:00
Ronid1
17fd681bdb fix arrow pointer x position 2024-04-24 12:53:40 -07:00
Ashish Jain
3e4193e3d5 #5237 WIP 2024-04-24 15:23:13 +02:00
Knut Sveidqvist
da40dbf1dd #5237 Adding roughjs 2024-04-24 15:21:28 +02:00
Knut Sveidqvist
01350467bd Merge branch '5237-unified-layout-common-renderer' of github.com:mermaid-js/mermaid into 5237-unified-layout-common-renderer 2024-04-24 14:51:07 +02:00
Knut Sveidqvist
6b1d568172 #5237 Adding roughjs 2024-04-24 14:40:09 +02:00
Ashish Jain
d220720dde #5237 WIP 2024-04-24 14:40:05 +02:00
Ronid1
e852156b9f add bidirectional arrow to sequence diagram 2024-04-23 20:36:58 -07:00
Knut Sveidqvist
b7f864cdb0 #5237 Adding missing await 2024-04-23 15:26:19 +02:00
Knut Sveidqvist
1f8accd6e0 #5237 WIP, refactoring, adding 2024-04-23 14:09:02 +02:00
Knut Sveidqvist
8205e3619a #5237 WIP, testing common layoutAndRender 2024-04-23 11:04:43 +02:00
NicolasNewman
7f33ae0f40 fix(mathml): fixed flowchart equations being cut off 2024-04-22 17:15:10 -05:00
NicolasNewman
13aa3265e3 docs(mathml): updated docs to include forceLegacyMathML 2024-04-22 17:14:36 -05:00
NicolasNewman
3b0687e557 feat(mathml): added additional config option for forcing legacy rendering 2024-04-22 17:12:12 -05:00
welfuture
273941a9fe chore: remove repetitive words
Signed-off-by: welfuture <wellfuture@qq.com>
2024-04-20 20:46:14 +08:00
Celil Buğra Karacan
718811be9c Update stateDiagram.md
Add explanation for naming a composite state
2024-04-19 16:40:34 +03:00
Celil Buğra Karacan
8d9cb09261 Update stateDiagram.md
Add renamed composite as an example of composites with spaced names.
2024-04-19 16:39:03 +03:00
Aakansha Doshi
196d88559c fix: simply from and to in message to string type 2024-04-18 20:41:44 +05:30
Yash-Singh1
357da0ca28 Update docs 2024-04-17 03:50:39 +00:00
Yash Singh
9b411fa8d4 test: sankey, pie, seq diagram 2024-04-16 20:47:47 -07:00
Yash Singh
087a5748c8 test: seq, state 2024-04-16 17:52:26 -07:00
Yash Singh
6105185d05 test: requirement, sankey 2024-04-16 17:14:49 -07:00
Yash Singh
c993a817d1 test: block, er, gantt, git, pie 2024-04-16 14:46:50 -07:00
Yash Singh
002aa29f19 test: unsafe props to make sure they work with changes 2024-04-16 13:52:25 -07:00
Yash Singh
07de090723 fix: move from objects to Maps 2024-04-16 13:52:25 -07:00
Sidharth Vinod
3809732e48 Merge pull request #5173 from ilyes-ced/feature/add-point-styling-quadrant-to-charts
feat: Add point styling for quadrant chart
2024-04-16 09:17:07 +05:30
Sidharth Vinod
eb4a6fd2ed docs: Add quadrant point styling
Co-authored-by: ilyes-ced <109927235+ilyes-ced@users.noreply.github.com>
2024-04-16 08:45:22 +05:30
Sidharth Vinod
3357844a1f feat: Change precedence of styling 2024-04-16 08:44:21 +05:30
Sidharth Vinod
0d8fe3b626 Merge pull request #5433 from mermaid-js/renovate/all-minor
chore(deps): update all minor dependencies (minor)
2024-04-15 12:11:26 +05:30
renovate[bot]
5df988d2ac chore(deps): update all minor dependencies 2024-04-15 05:49:28 +00:00
Sidharth Vinod
e9ef277929 Merge pull request #5463 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-04-15 11:17:24 +05:30
renovate[bot]
2dcdcba227 chore(deps): update all patch dependencies 2024-04-15 02:00:26 +00:00
Sidharth Vinod
5b6c5dff0a fix: eslint ignore, type definition 2024-04-14 12:11:01 +05:30
Sidharth Vinod
7fa887b644 Merge pull request #5426 from ad1992/aakansha/typesafe
fix: make sequenceDB typesafe
2024-04-14 04:09:05 +00:00
Sidharth Vinod
5c6b2cf490 Merge pull request #5446 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-04-14 04:08:48 +00:00
renovate[bot]
e0930b5cbb chore(deps): update all patch dependencies 2024-04-13 21:31:37 +00:00
Sidharth Vinod
2a3d03254d Merge branch 'develop' into aakansha/typesafe 2024-04-13 11:53:58 +05:30
Sidharth Vinod
e570863801 Merge pull request #5445 from FutzMonitor/5422issue
Adds 'Switch' as an Alias for 'Checkout`
2024-04-13 06:21:44 +00:00
Sidharth Vinod
866d9416b4 fix: Remove ImperativeState type restriction. 2024-04-13 11:50:19 +05:30
Sidharth Vinod
e048085b5a Merge branch 'develop' into 5422issue 2024-04-13 11:31:08 +05:30
Sidharth Vinod
9ed2f4b2d3 Merge branch 'master' into develop
* master:
  📝🐛 fix schema link
2024-04-12 23:59:27 +05:30
Sidharth Vinod
c2eb2184fc Merge branch 'master' into develop
* master:
  update latest news section
  add Turing machine blog post
2024-04-12 23:58:52 +05:30
Sidharth Vinod
a2e3b4ca06 Merge pull request #5456 from dudeofawesome/patch-1
📝🐛 fix schema link
2024-04-12 23:57:44 +05:30
Louis Orleans
909ad02a18 📝🐛 fix schema link
The original domain (`mermaid-js.github.io`) only redirects to the new domain (`mermaid.js.org`) from the root `/`. I've updated the link to point to the new domain directly.
2024-04-12 23:56:14 +05:30
Sidharth Vinod
4a930d2b5b Merge pull request #5455 from mermaid-js/update-latest-news
DOCS: update latest news
2024-04-12 09:25:08 +05:30
steph
4a19103891 update latest news section 2024-04-11 10:53:34 -07:00
futzmonitor
bb0c45b090 Changes to rendering/gitGraph.spec.js
- Added additional rendering test functionality for recognizing 'switch' as an alias to 'checkout'.
2024-04-08 09:45:44 -04:00
futzmonitor
d0583f9947 1. Changes to gitGraph.jison
- Updated the regex to allow either 'checkout' or 'switch'
2. Changes to gitGraphParser.spec.js
- Additional test coverage added for the changes made to the parser.
3. Changes to gitGraphParserV2.spec.js
- Additional test coverafe added for the changes made to the parser.
4. Changes to gitgraph.md
- Updated documentation to let users know that checkout/switch can be used interchangeably.
2024-04-07 20:40:57 -04:00
Aakansha Doshi
12bd301401 revert from and to type to object 2024-04-05 18:22:48 +05:30
Aakansha Doshi
a14637b416 Merge branch 'develop' into aakansha/typesafe 2024-04-05 17:19:12 +05:30
Aakansha Doshi
5d1ac22fd1 add eslint rule consistent-type-definations 2024-04-05 17:17:01 +05:30
Sidharth Vinod
3ccfea84b8 Merge pull request #5430 from jakobskrym/feature/support-fa-kit-custom-icons
Feature/support fa kit custom icons
2024-04-03 21:54:11 +05:30
Jakob
38beca11fd Merge branch 'develop' into feature/support-fa-kit-custom-icons 2024-04-03 09:02:33 +02:00
Jakob
3555577581 Update createText.ts
Co-authored-by: Sidharth Vinod <sidharthv96@gmail.com>
2024-04-03 09:02:20 +02:00
Sidharth Vinod
e852596862 Merge pull request #5432 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-04-03 10:54:31 +05:30
renovate[bot]
f15fde26f9 chore(deps): update all patch dependencies 2024-04-03 04:02:11 +00:00
Sidharth Vinod
73c426f8be Merge pull request #5421 from ad1992/aakansha/lint
fix: remove unused import
2024-04-03 01:32:49 +05:30
Aakansha Doshi
8f40c1a77f revert lock file 2024-04-02 15:10:22 +05:30
Aakansha Doshi
0d00e88580 simplify message type from and to 2024-04-02 11:40:11 +05:30
Aakansha Doshi
8792e0a978 move types to separate file 2024-04-02 10:40:34 +05:30
Aakansha Doshi
e27e56f7bf use interfaces instead of types 2024-04-02 10:38:04 +05:30
Knut Sveidqvist
6b7e1225dd #5237 Adding basic flow, WIP 2024-04-01 19:46:06 +02:00
jakobskrym
0051620840 feat: create utils func + test cases 2024-04-01 19:05:35 +02:00
jakobskrym
63f9d3e0b4 docs: finish docs 2024-03-30 12:28:18 +01:00
jakobskrym
90b1111382 docs: update docs with new info 2024-03-30 12:21:01 +01:00
jakobskrym
0aa526d707 feat: add in additional files 2024-03-30 12:08:16 +01:00
jakobskrym
4daef2591d feat: add support for fa-kit icons 2024-03-30 12:03:55 +01:00
Alois Klink
2d91aa0b06 Merge pull request #5425 from mermaid-js/add-blog-post
DOCS: add Turing machine blog post
2024-03-29 17:47:30 +00:00
Aakansha Doshi
2fd6de0af5 more type fixes 2024-03-29 15:27:13 +05:30
Aakansha Doshi
799af4e550 fix test 2024-03-29 15:05:03 +05:30
Aakansha Doshi
b8e0bcee5b fix type 2024-03-29 14:27:51 +05:30
Aakansha Doshi
3567308a22 fix: make sequenceDB typesafe 2024-03-29 13:31:02 +05:30
Steph
aca0bebaf4 add Turing machine blog post 2024-03-28 12:50:10 -07:00
Aakansha Doshi
4ee4555cbd fix: remove unused import 2024-03-27 19:18:14 +05:30
ilyes-ced
253adcb0eb added docs build 2024-03-26 22:54:01 +00:00
ilyes-ced
585609b907 lint fix 2024-03-26 22:50:27 +00:00
ilyes-ced
1d8332d61e Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-26 22:45:03 +00:00
ilyes-ced
3f95c78428 added styling docs 2024-03-26 22:44:37 +00:00
Sidharth Vinod
8e95c4db55 Merge pull request #5414 from mermaid-js/renovate/major-all-major
chore(deps): update all major dependencies (major)
2024-03-26 11:49:36 +05:30
renovate[bot]
f476a7566c chore(deps): update all major dependencies 2024-03-25 13:46:41 +00:00
Sidharth Vinod
4304fba0f5 Merge pull request #5411 from mermaid-js/renovate/patch-all-patch
chore(deps): update all patch dependencies (patch)
2024-03-25 19:14:55 +05:30
renovate[bot]
07bd9825a1 chore(deps): update all patch dependencies 2024-03-25 11:50:29 +00:00
Sidharth Vinod
69c7cb9f6f Update docs 2024-03-25 12:02:28 +05:30
Sidharth Vinod
fd473af5b0 Merge branch 'develop' of https://github.com/mermaid-js/mermaid into develop
* 'develop' of https://github.com/mermaid-js/mermaid:
  Update entityRelationshipDiagram.md
  chore(deps): update dependency type-fest to v4.14.0
2024-03-25 12:01:58 +05:30
Sidharth Vinod
d1f02f6bed Merge pull request #5412 from mermaid-js/renovate/all-minor
chore(deps): update dependency type-fest to v4.14.0
2024-03-25 11:59:59 +05:30
Sidharth Vinod
c5cc9dbffa Merge pull request #5413 from anlai46/updateEntityRelationshipMD
Update entityRelationshipDiagram.md
2024-03-25 11:58:35 +05:30
anlai46
43e183b658 Update entityRelationshipDiagram.md
- Added Wikipedia link
- Removed comma "," at the end of a bullet point
- Removed additional period "."
2024-03-24 21:32:57 -04:00
renovate[bot]
153f319666 chore(deps): update dependency type-fest to v4.14.0 2024-03-25 00:34:55 +00:00
ilyes-ced
3b8e6ecc42 small fix (follow) 2024-03-24 18:55:56 +00:00
ilyes-ced
29ec8cbd0a small fixes 2024-03-24 18:48:57 +00:00
Sidharth Vinod
3072604070 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-23 22:59:54 +05:30
Sidharth Vinod
562d10809c v11.0.0-alpha.7 2024-03-23 18:53:26 +05:30
Sidharth Vinod
c7d41cd963 Merge branch 'develop' into sidv/deprecateMermaidAPI 2024-03-23 18:21:39 +05:30
Sidharth Vinod
46346d2a51 Remove comment 2024-03-23 15:49:02 +05:30
Sidharth Vinod
830a58cebd Merge branch 'develop' into sidv/deprecateMermaidAPI
* develop: (588 commits)
  Linting
  chore:  temp fix for eslint OOM
  chore: Update error snapshots
  Fix ESLint
  chore: Prettier
  chore: YOLO `pnpm --recursive update`
  chore: Remove commitlint
  Fix flowchart-elk render test
  chore: Add example page link in index
  chore: Minor fixes
  chore: Build docs
  Use develop as base on develop branch.
  Update renovate json
  update link
  update announcement and blog pages
  Remove `--force` flag
  Tweak editor.bash
  update link
  chore: update browsers list
  Update integrations-community: add Drupal and module.
  ...
2024-03-23 15:47:59 +05:30
Knut Sveidqvist
fcda3dc8c6 #5237 Sample orchestration of new flow in state diagrams-v3 2024-03-18 15:51:27 +01:00
ilyes-ced
37ba7af6f6 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-11 22:02:34 +00:00
ilyes-ced
5b43460ea4 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-09 16:29:15 +00:00
ilyes-ced
33444466f3 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-08 18:02:54 +00:00
ilyes-ced
b1915132d5 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-08 14:18:34 +00:00
Sidharth Vinod
01082f86b7 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-07 18:30:24 +05:30
ilyes-ced
358d855c88 fixed typo 2024-03-06 13:29:15 +00:00
ilyes-ced
1059dd389f Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-06 13:13:19 +00:00
ilyes-ced
b8e6672e60 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-03-05 18:36:12 +00:00
ilyes-ced
67e482ff97 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-29 21:53:59 +00:00
ilyes-ced
fc7427536c Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-29 13:08:58 +00:00
ilyes-ced
cabcf1e270 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-20 01:15:41 +00:00
ilyes-ced
af7364bdf9 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-14 18:21:51 +00:00
ilyes-ced
14e1e6368a Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-12 14:15:50 +00:00
ilyes-ced
f1aa6fff9c some fixes 2024-02-11 18:56:33 +00:00
ilyes-ced
8ad056b8a2 1 tiny typo 2024-02-07 01:20:04 +00:00
ilyes-ced
c1cb171071 added styles values validation + unit tests 2024-02-07 00:57:05 +00:00
ilyes-ced
17959f648a various fixes + add unit tests for parsed styles 2024-02-07 00:21:33 +00:00
ilyes-ced
2640120be8 fixed parsing for classes and styles are in jison 2024-02-06 22:18:17 +00:00
ilyes-ced
b55014617e Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-06 21:06:23 +00:00
ilyes-ced
42589a0034 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-02-05 15:42:44 +00:00
Sidharth Vinod
8691874dbb Merge branch 'develop' into c4-sys-boundary-stereotype 2024-02-01 17:36:58 +05:30
Jon McEwen
db92b5a219 Correct the System_Boundary stereotype 2024-01-26 16:15:12 +00:00
ilyes-ced
4e3d935acf Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-01-18 11:23:13 +00:00
ilyes-ced
38ee1724a8 Merge branch 'develop' into feature/add-point-styling-quadrant-to-charts 2024-01-16 10:06:08 +00:00
ilyes-ced
0d8016d926 cypress tests 2024-01-13 12:30:41 +00:00
ilyes-ced
a599e33ec2 add: class names and class definitions|todo: tests 2024-01-12 20:41:25 +00:00
ilyes-ced
9cca389031 fix:styles can be in random order and are optional 2024-01-11 23:27:48 +00:00
ilyes-ced
e965507470 Merge branch 'mermaid-js:develop' into feature/add-point-styling-quadrant-to-charts 2024-01-11 22:42:19 +00:00
ilyes-ced
8ab00442ea add: tests 2024-01-02 01:53:03 +00:00
ilyes-ced
cba803abaf add: point styling for quadrant chart (incomplete) 2024-01-01 23:26:14 +00:00
Sidharth Vinod
4fe2f31301 Merge branch 'next' into sidv/deprecateMermaidAPI
* next: (387 commits)
  build(deps-dev): bump vite from 4.4.9 to 4.4.12
  Changes to .prettierignore 1. Added 'demos/dev/**' to be ignored by Prettier. 2. Added '!/demos/dev/example.html' so that Prettier ensures no one changes the example.html in a way that doesn't obey the Prettier code formatting rules.
  build: use `tsx` instead of `ts-node-esm`
  chore: Downgrade node to 18.18.2
  fix: #5100 Add viewbox to sankey
  chore(deps): update all minor dependencies
  chore: Rename test
  test: Add unit test for generic classname and namespace
  fix: Check if parentCommit is provided
  Split type from generic class name
  Condition of Parent Id Without Merge Commit Added
  Referenced the PmWiki's Cookbook recipe enabling MermaidJs schematics in wiki pages
  test(e2e): fix pie chart E2E tests for PR #4288
  Add dummy commit to trigger GH checks
  chore: Revert unnecessary export
  refactor: Remove unnecessary calculations
  chore: Fix computeWidth function
  chore: Cleanup setupGraphViewbox
  Update docs
  update mermaidAPI to cleanup the text before passing to getDiagramFromText
  ...
2023-12-07 10:26:50 +05:30
Sidharth Vinod
fcd983d915 chore: Deprecate mermaidAPI 2023-09-08 08:27:20 +05:30
390 changed files with 29831 additions and 15770 deletions

View File

@@ -22,9 +22,9 @@ export const packageOptions = {
packageName: 'mermaid-zenuml',
file: 'detector.ts',
},
'mermaid-flowchart-elk': {
name: 'mermaid-flowchart-elk',
packageName: 'mermaid-flowchart-elk',
file: 'detector.ts',
'mermaid-layout-elk': {
name: 'mermaid-layout-elk',
packageName: 'mermaid-layout-elk',
file: 'layouts.ts',
},
} as const;

View File

@@ -1,6 +1,7 @@
import jison from 'jison';
export const transformJison = (src: string): string => {
// @ts-ignore - Jison is not typed properly
const parser = new jison.Generator(src, {
moduleType: 'js',
'token-stack': true,

View File

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

View File

@@ -13,6 +13,7 @@ bqstring
BQUOTE
bramp
BRKT
brotli
callbackargs
callbackname
classdef
@@ -27,6 +28,7 @@ controly
CSSCLASS
CYLINDEREND
CYLINDERSTART
DAGA
datakey
DEND
descr
@@ -89,6 +91,7 @@ reqs
rewritelinks
rgba
RIGHTOF
roughjs
sankey
sequencenumber
shrc
@@ -108,9 +111,11 @@ strikethrough
stringifying
struct
STYLECLASS
STYLEDEF
STYLEOPTS
subcomponent
subcomponents
subconfig
SUBROUTINEEND
SUBROUTINESTART
Subschemas
@@ -125,6 +130,7 @@ titlevalue
topbar
TRAPEND
TRAPSTART
treemap
ts-nocheck
tsdoc
typeof

View File

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

View File

@@ -54,13 +54,16 @@ presetAttributify
pyplot
redmine
rehype
roughjs
rscratch
shiki
sparkline
sphinxcontrib
ssim
stylis
Swimm
tsbuildinfo
tseslint
Tuleap
Typora
unocss

View File

@@ -9,6 +9,7 @@ elems
gantt
gitgraph
gzipped
handdrawn
knsv
Knut
marginx
@@ -17,6 +18,7 @@ Markdownish
mermaidjs
mindmap
mindmaps
mrtree
multigraph
nodesep
NOTEGROUP

View File

@@ -1 +1,6 @@
BRANDES
circo
handdrawn
KOEPF
neato
newbranch

View File

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

View File

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

View File

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

View File

@@ -8,7 +8,7 @@ import { jisonPlugin } from './jisonPlugin.js';
const __dirname = fileURLToPath(new URL('.', import.meta.url));
export interface MermaidBuildOptions {
export interface MermaidBuildOptions extends BuildOptions {
minify: boolean;
core: boolean;
metafile: boolean;
@@ -56,7 +56,7 @@ export const getBuildConfig = (options: MermaidBuildOptions): BuildOptions => {
const external: string[] = ['require', 'fs', 'path'];
const { name, file, packageName } = packageOptions[entryName];
const outFileName = getFileName(name, options);
let output: BuildOptions = buildOptions({
const output: BuildOptions = buildOptions({
absWorkingDir: resolve(__dirname, `../packages/${packageName}`),
entryPoints: {
[outFileName]: `src/${file}`,

View File

@@ -1,11 +0,0 @@
dist/**
.github/**
docs/Setup.md
cypress.config.js
cypress/plugins/index.js
coverage
*.json
node_modules
# autogenereated by langium-cli
generated/

View File

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

5
.github/lychee.toml vendored
View File

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

View File

@@ -37,13 +37,13 @@ jobs:
run: pnpm run build
- name: Upload Mermaid Build as Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: mermaid-build
path: packages/mermaid/dist
- name: Upload Mermaid Mindmap Build as Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: mermaid-mindmap-build
path: packages/mermaid-mindmap/dist

View File

@@ -33,7 +33,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
config-file: ./.github/codeql/codeql-config.yml
languages: ${{ matrix.language }}
@@ -45,7 +45,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -59,4 +59,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3

View File

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

View File

@@ -1,9 +1,3 @@
# We use github cache to save snapshots between runs.
# For PRs and MergeQueues, the target commit is used, and for push events, github.event.previous is used.
# If a snapshot for a given Hash is not found, we checkout that commit, run the tests and cache the snapshots.
# These are then downloaded before running the E2E, providing the reference snapshots.
# If there are any errors, the diff image is uploaded to artifacts, and the user is notified.
name: E2E
on:
@@ -72,16 +66,6 @@ jobs:
mkdir -p cypress/snapshots/stats/base
mv stats cypress/snapshots/stats/base
- name: Cypress run
uses: cypress-io/github-action@v6
id: cypress-snapshot-gen
if: ${{ steps.cache-snapshot.outputs.cache-hit != 'true' }}
with:
install: false
start: pnpm run dev
wait-on: 'http://localhost:9000'
browser: chrome
e2e:
runs-on: ubuntu-latest
container:
@@ -106,7 +90,7 @@ jobs:
# These cached snapshots are downloaded, providing the reference snapshots.
- name: Cache snapshots
id: cache-snapshot
uses: actions/cache/restore@v3
uses: actions/cache/restore@v4
with:
path: ./cypress/snapshots
key: ${{ runner.os }}-snapshots-${{ env.targetHash }}
@@ -146,9 +130,13 @@ jobs:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
VITEST_COVERAGE: true
CYPRESS_COMMIT: ${{ github.sha }}
ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }}
ARGOS_PARALLEL: ${{ secrets.CYPRESS_RECORD_KEY != '' }}
ARGOS_PARALLEL_TOTAL: 4
ARGOS_PARALLEL_INDEX: ${{ matrix.containers }}
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
# Run step only pushes to develop and pull_requests
if: ${{ steps.cypress.conclusion == 'success' && (github.event_name == 'pull_request' || github.ref == 'refs/heads/develop')}}
with:
@@ -158,55 +146,3 @@ jobs:
fail_ci_if_error: false
verbose: true
token: 6845cc80-77ee-4e17-85a1-026cd95e0766
# We upload the artifacts into numbered archives to prevent overwriting
- name: Upload Artifacts
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: snapshots-${{ matrix.containers }}
retention-days: 1
path: ./cypress/snapshots
combineArtifacts:
needs: e2e
runs-on: ubuntu-latest
if: ${{ always() }}
steps:
# Download all snapshot artifacts and merge them into a single folder
- name: Download All Artifacts
uses: actions/download-artifact@v4
with:
path: snapshots
pattern: snapshots-*
merge-multiple: true
# For successful push events, we save the snapshots cache
- name: Save snapshots cache
id: cache-upload
if: ${{ github.event_name == 'push' && needs.e2e.result != 'failure' }}
uses: actions/cache/save@v3
with:
path: ./snapshots
key: ${{ runner.os }}-snapshots-${{ github.event.after }}
- name: Flatten images to a folder
if: ${{ needs.e2e.result == 'failure' }}
run: |
mkdir errors
cd snapshots
find . -mindepth 2 -type d -name "*__diff_output__*" -exec sh -c 'mv "$0"/*.png ../errors/' {} \;
- name: Upload Error snapshots
if: ${{ needs.e2e.result == 'failure' }}
uses: actions/upload-artifact@v4
id: upload-artifacts
with:
name: error-snapshots
retention-days: 10
path: errors/
- name: Notify Users
if: ${{ needs.e2e.result == 'failure' }}
run: |
echo "::error title=Visual tests failed::You can view images that failed by downloading the error-snapshots artifact: ${{ steps.upload-artifacts.outputs.artifact-url }}"

View File

@@ -29,7 +29,7 @@ jobs:
- uses: actions/checkout@v4
- name: Restore lychee cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: .lycheecache
key: cache-lychee-${{ github.sha }}

View File

@@ -22,7 +22,7 @@ jobs:
pull-requests: write # write permission is required to label PRs
steps:
- name: Label PR
uses: release-drafter/release-drafter@v5
uses: release-drafter/release-drafter@v6
with:
config-name: pr-labeler.yml
disable-autolabeler: false

View File

@@ -37,13 +37,13 @@ jobs:
run: pnpm install --frozen-lockfile
- name: Setup Pages
uses: actions/configure-pages@v3
uses: actions/configure-pages@v4
- name: Run Build
run: pnpm --filter mermaid run docs:build:vitepress
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
uses: actions/upload-pages-artifact@v3
with:
path: packages/mermaid/src/vitepress/.vitepress/dist
@@ -56,4 +56,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
uses: actions/deploy-pages@v4

View File

@@ -16,7 +16,7 @@ jobs:
pull-requests: read # required to read PR titles/labels
steps:
- name: Draft Release
uses: release-drafter/release-drafter@v5
uses: release-drafter/release-drafter@v6
with:
disable-autolabeler: true
env:

View File

@@ -39,7 +39,7 @@ jobs:
pnpm exec vitest run ./packages/mermaid/src/diagrams/gantt/ganttDb.spec.ts --coverage
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
# Run step only pushes to develop and pull_requests
if: ${{ github.event_name == 'pull_request' || github.ref == 'refs/heads/develop' }}
with:

View File

@@ -19,7 +19,7 @@ jobs:
message: 'chore: update browsers list'
push: false
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
uses: peter-evans/create-pull-request@v6
with:
branch: update-browserslist
title: Update Browserslist

5
.gitignore vendored
View File

@@ -35,7 +35,7 @@ cypress/snapshots/
.tsbuildinfo
tsconfig.tsbuildinfo
knsv*.html
#knsv*.html
local*.html
stats/
@@ -48,6 +48,7 @@ demos/dev/**
!/demos/dev/example.html
!/demos/dev/reload.js
tsx-0/**
vite.config.ts.timestamp-*
# autogenereated by langium-cli
generated/
generated/

View File

@@ -1 +1 @@
v20.11.1
20.12.2

View File

@@ -16,3 +16,5 @@ generated/
# Ignore the files creates in /demos/dev except for example.html
demos/dev/**
!/demos/dev/example.html
# TODO: Lots of errors to fix
cypress/platform/state-refactor.html

View File

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

View File

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

View File

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

View File

@@ -1,2 +1,2 @@
FROM node:20.11.1-alpine3.19 AS base
FROM node:20.12.2-alpine3.19 AS base
RUN wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.shrc" SHELL="$(which sh)" sh -

7
FUNDING.json Normal file
View File

@@ -0,0 +1,7 @@
{
"drips": {
"ethereum": {
"ownedBy": "0x0831DDFe60d009d9448CC976157b539089aB821E"
}
}
}

View File

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

View File

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

View File

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

View File

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

View File

@@ -10,7 +10,6 @@ describe('XSS', () => {
cy.wait(1000).then(() => {
cy.get('.mermaid').should('exist');
});
cy.get('svg');
});
it('should not allow tags in the css', () => {
@@ -137,4 +136,9 @@ describe('XSS', () => {
cy.wait(1000);
cy.get('#the-malware').should('not.exist');
});
it('should sanitize backticks block diagram labels properly', () => {
cy.visit('http://localhost:9000/xss25.html');
cy.wait(1000);
cy.get('#the-malware').should('not.exist');
});
});

View File

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

View File

@@ -30,7 +30,6 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
it('should render a simple C4Container diagram', () => {
imgSnapshotTest(
@@ -50,7 +49,6 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
it('should render a simple C4Component diagram', () => {
imgSnapshotTest(
@@ -69,7 +67,6 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
it('should render a simple C4Dynamic diagram', () => {
imgSnapshotTest(
@@ -93,7 +90,6 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
it('should render a simple C4Deployment diagram', () => {
imgSnapshotTest(
@@ -117,6 +113,5 @@ describe('C4 diagram', () => {
`,
{}
);
cy.get('svg');
});
});

View File

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

View File

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

View File

@@ -1458,5 +1458,79 @@ gitGraph TB:
{ gitGraph: { parallelCommits: true } }
);
});
it('73: should render a simple gitgraph with three branches and tagged merge commit using switch instead of checkout', () => {
imgSnapshotTest(
`gitGraph
commit id: "1"
commit id: "2"
branch nice_feature
switch nice_feature
commit id: "3"
switch main
commit id: "4"
switch nice_feature
branch very_nice_feature
switch very_nice_feature
commit id: "5"
switch main
commit id: "6"
switch nice_feature
commit id: "7"
switch main
merge nice_feature id: "12345" tag: "my merge commit"
switch very_nice_feature
commit id: "8"
switch main
commit id: "9"
`,
{}
);
});
it('74: should render commits for more than 8 branches using switch instead of checkout', () => {
imgSnapshotTest(
`
gitGraph
switch main
%% Make sure to manually set the ID of all commits, for consistent visual tests
commit id: "1-abcdefg"
switch main
branch branch1
commit id: "2-abcdefg"
switch main
merge branch1
branch branch2
commit id: "3-abcdefg"
switch main
merge branch2
branch branch3
commit id: "4-abcdefg"
switch main
merge branch3
branch branch4
commit id: "5-abcdefg"
switch main
merge branch4
branch branch5
commit id: "6-abcdefg"
switch main
merge branch5
branch branch6
commit id: "7-abcdefg"
switch main
merge branch6
branch branch7
commit id: "8-abcdefg"
switch main
merge branch7
branch branch8
commit id: "9-abcdefg"
switch main
merge branch8
branch branch9
commit id: "10-abcdefg"
`,
{}
);
});
});
});

View File

@@ -1,4 +1,4 @@
import { imgSnapshotTest, renderGraph } from '../../helpers/util.ts';
import { imgSnapshotTest } from '../../helpers/util.ts';
describe('Quadrant Chart', () => {
it('should render if only chart type is provided', () => {
@@ -8,7 +8,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render a complete quadrant chart', () => {
imgSnapshotTest(
@@ -30,7 +29,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render without points', () => {
imgSnapshotTest(
@@ -46,7 +44,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should able to render y-axix on right side', () => {
imgSnapshotTest(
@@ -63,7 +60,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should able to render x-axix on bottom', () => {
imgSnapshotTest(
@@ -80,7 +76,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should able to render x-axix on bottom and y-axis on right', () => {
imgSnapshotTest(
@@ -97,7 +92,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render without title', () => {
imgSnapshotTest(
@@ -112,7 +106,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should use all the config', () => {
imgSnapshotTest(
@@ -135,7 +128,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should use all the theme variable', () => {
imgSnapshotTest(
@@ -158,7 +150,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render x-axis labels in the center, if x-axis has two labels', () => {
imgSnapshotTest(
@@ -180,7 +171,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render y-axis labels in the center, if y-axis has two labels', () => {
imgSnapshotTest(
@@ -202,7 +192,6 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('should render both axes labels on the left and bottom, if both axes have only one label', () => {
imgSnapshotTest(
@@ -224,6 +213,52 @@ describe('Quadrant Chart', () => {
`,
{}
);
cy.get('svg');
});
it('it should render data points with styles', () => {
imgSnapshotTest(
`
quadrantChart
title Reach and engagement of campaigns
x-axis Reach -->
y-axis Engagement -->
quadrant-1 We should expand
quadrant-2 Need to promote
quadrant-3 Re-evaluate
quadrant-4 May be improved
Campaign A: [0.3, 0.6] radius: 20
Campaign B: [0.45, 0.23] color: #ff0000
Campaign C: [0.57, 0.69] stroke-color: #ff00ff
Campaign D: [0.78, 0.34] stroke-width: 3px
Campaign E: [0.40, 0.34] radius: 20, color: #ff0000 , stroke-color : #ff00ff, stroke-width : 3px
Campaign F: [0.35, 0.78] stroke-width: 3px , color: #ff0000, radius: 20, stroke-color: #ff00ff
Campaign G: [0.22, 0.22] stroke-width: 3px , color: #309708 , radius : 20 , stroke-color: #5060ff
Campaign H: [0.22, 0.44]
`,
{}
);
});
it('it should render data points with styles + classes', () => {
imgSnapshotTest(
`
quadrantChart
title Reach and engagement of campaigns
x-axis Reach -->
y-axis Engagement -->
quadrant-1 We should expand
quadrant-2 Need to promote
quadrant-3 Re-evaluate
quadrant-4 May be improved
Campaign A:::class1: [0.3, 0.6] radius: 20
Campaign B: [0.45, 0.23] color: #ff0000
Campaign C: [0.57, 0.69] stroke-color: #ff00ff
Campaign D:::class2: [0.78, 0.34] stroke-width: 3px
Campaign E:::class2: [0.40, 0.34] radius: 20, color: #ff0000, stroke-color: #ff00ff, stroke-width: 3px
Campaign F:::class1: [0.35, 0.78]
classDef class1 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px
classDef class2 color: #f00fff, radius : 10
`
);
});
});

View File

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

View File

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

View File

@@ -8,7 +8,6 @@ describe('State diagram', () => {
`,
{ logLevel: 1, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a simple state diagrams', () => {
imgSnapshotTest(
@@ -20,7 +19,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a long descriptions instead of id when available', () => {
imgSnapshotTest(
@@ -32,7 +30,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a long descriptions with additional descriptions', () => {
imgSnapshotTest(
@@ -44,7 +41,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a single state with short descriptions', () => {
imgSnapshotTest(
@@ -55,7 +51,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a transition descriptions with new lines', () => {
imgSnapshotTest(
@@ -69,7 +64,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a state with a note', () => {
imgSnapshotTest(
@@ -83,7 +77,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a state with on the left side when so specified', () => {
imgSnapshotTest(
@@ -97,7 +90,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a state with a note together with another state', () => {
imgSnapshotTest(
@@ -113,7 +105,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a note with multiple lines in it', () => {
imgSnapshotTest(
@@ -156,7 +147,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a simple state diagrams 2', () => {
imgSnapshotTest(
@@ -169,7 +159,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a simple state diagrams with labels', () => {
imgSnapshotTest(
@@ -185,7 +174,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render state descriptions', () => {
imgSnapshotTest(
@@ -198,7 +186,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render composite states', () => {
imgSnapshotTest(
@@ -217,7 +204,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render multiple composite states', () => {
imgSnapshotTest(
@@ -287,7 +273,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render concurrency states', () => {
imgSnapshotTest(
@@ -311,7 +296,6 @@ describe('State diagram', () => {
`,
{ logLevel: 0, fontFamily: 'courier' }
);
cy.get('svg');
});
it('v2 should render a state with states in it', () => {
imgSnapshotTest(
@@ -558,6 +542,43 @@ stateDiagram-v2
{ logLevel: 0, fontFamily: 'courier' }
);
});
it(' can have styles applied ', () => {
imgSnapshotTest(
`
stateDiagram-v2
AState
style AState fill:#636,border:1px solid red,color:white;
`,
{ logLevel: 0, fontFamily: 'courier' }
);
});
it(' should let styles take preceedence over classes', () => {
imgSnapshotTest(
`
stateDiagram-v2
AState: Should NOT be white
BState
classDef exampleStyleClass fill:#fff,color: blue;
class AState,BState exampleStyleClass
style AState fill:#636,border:1px solid red,color:white;
`,
{ logLevel: 0, fontFamily: 'courier' }
);
});
it(' should allow styles to take effect in stubgraphs', () => {
imgSnapshotTest(
`
stateDiagram
state roundWithTitle {
C: Black with white text
}
D: Black with white text
style C,D stroke:#00f, fill:black, color:white
`,
{ logLevel: 0, fontFamily: 'courier' }
);
});
});
it('1433: should render a simple state diagram with a title', () => {
imgSnapshotTest(

View File

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

View File

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

View File

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

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://cdn.jsdelivr.net/npm/@mdi/font@6.9.96/css/materialdesignicons.min.css"

View File

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

View File

@@ -3,7 +3,7 @@
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -0,0 +1,866 @@
<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"
/>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&display=swap"
rel="stylesheet"
/>
<link
href="https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Kalam:wght@300;400;700&family=Rubik+Mono+One&display=swap"
rel="stylesheet"
/>
<link
href="https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&family=Rubik+Mono+One&display=swap"
rel="stylesheet"
/>
<style>
body {
font-family: 'Arial';
}
table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
}
th,
td {
border: 1px solid black;
padding: 10px;
text-align: center;
vertical-align: middle;
}
.separator {
height: 20px;
background-color: #f0f0f0;
}
.vertical-header {
text-align: center;
}
.collapsible {
background-color: #f9f9f9;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
}
.active,
.collapsible:hover {
background-color: #ccc;
}
.collapsible:after {
content: '\002B';
color: #777;
font-weight: bold;
float: right;
margin-left: 2px;
}
.active:after {
content: '\2212';
}
.content {
padding: 0 5px;
max-height: 0;
overflow: hidden;
transition: max-height 0.2s ease-out;
background-color: #f1f1f1;
}
.content .pre-scrollable {
max-height: 200px;
overflow-y: scroll;
}
</style>
</head>
<body>
<table>
<tr>
<th></th>
<!-- Placeholder for the top left corner -->
<th>Dagre</th>
<th>Dagre with rough</th>
<th>ELK</th>
<th>ELK with rough</th>
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Stadium shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart LR
id1([This is the text in the box])
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram1" class="mermaid">
flowchart LR
id1([This is the text in the box])
</pre
>
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart LR
id1([This is the text in the box])
</pre
>
</td>
<td>
<pre id="diagram3" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart LR
id1([This is the text in the box])
</pre
>
</td>
<td>
<pre id="diagram4" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart LR
id1([This is the text in the box])
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Sub-Routine shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart LR
id1[[This is the text in the box]]
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram5" class="mermaid">
flowchart LR
id1[[This is the text in the box]]
</pre
>
</td>
<td>
<pre id="diagram6" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart LR
id1[[This is the text in the box]]
</pre
>
</td>
<td>
<pre id="diagram7" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart LR
id1[[This is the text in the box]]
</pre
>
</td>
<td>
<pre id="diagram8" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart LR
id1[[This is the text in the box]]
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Cylindrical shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart LR
id1[(Database)]
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram9" class="mermaid">
flowchart LR
id1[(Database)]
</pre
>
</td>
<td>
<pre id="diagram10" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart LR
id1[(Database)]
</pre
>
</td>
<td>
<pre id="diagram11" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart LR
id1[(Database)]
</pre
>
</td>
<td>
<pre id="diagram12" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart LR
id1[(Database)]
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Circle shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart LR
id1((This is the text in the circle))
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram13" class="mermaid">
flowchart LR
id1((This is the text in the circle))
</pre
>
</td>
<td>
<pre id="diagram14" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart LR
id1((This is the text in the circle))
</pre
>
</td>
<td>
<pre id="diagram15" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart LR
id1((This is the text in the circle))
</pre
>
</td>
<td>
<pre id="diagram16" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart LR
id1((This is the text in the circle))
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Double Circle shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart TD
id1(((This is the text in the circle)))
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram17" class="mermaid">
flowchart TD
id1(((This is the text in the circle)))
</pre
>
</td>
<td>
<pre id="diagram18" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart TD
id1(((This is the text in the circle)))
</pre
>
</td>
<td>
<pre id="diagram19" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart TD
id1(((This is the text in the circle)))
</pre
>
</td>
<td>
<pre id="diagram20" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart TD
id1(((This is the text in the circle)))
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Asymmetric shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart LR
id1>This is the text in the box]
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram21" class="mermaid">
flowchart LR
id1>This is the text in the box]
</pre
>
</td>
<td>
<pre id="diagram22" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart LR
id1>This is the text in the box]
</pre
>
</td>
<td>
<pre id="diagram23" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart LR
id1>This is the text in the box]
</pre
>
</td>
<td>
<pre id="diagram24" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart LR
id1>This is the text in the box]
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Rhombus/Diamond/Question shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart LR
id1{This is the text in the box}
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram25" class="mermaid">
flowchart LR
id1{This is the text in the box}
</pre
>
</td>
<td>
<pre id="diagram26" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart LR
id1{This is the text in the box}
</pre
>
</td>
<td>
<pre id="diagram27" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart LR
id1{This is the text in the box}
</pre
>
</td>
<td>
<pre id="diagram28" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart LR
id1{This is the text in the box}
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Hexagon shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart LR
id1{{This is the text in the box}}
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram29" class="mermaid">
flowchart LR
id1{{This is the text in the box}}
</pre
>
</td>
<td>
<pre id="diagram31" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart LR
id1{{This is the text in the box}}
</pre
>
</td>
<td>
<pre id="diagram32" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart LR
id1{{This is the text in the box}}
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Parallelogram shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart TD
id1[/This is the text in the box/]
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram33" class="mermaid">
flowchart TD
id1[/This is the text in the box/]
</pre
>
</td>
<td>
<pre id="diagram34" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart TD
id1[/This is the text in the box/]
</pre
>
</td>
<td>
<pre id="diagram35" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart TD
id1[/This is the text in the box/]
</pre
>
</td>
<td>
<pre id="diagram36" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart TD
id1[/This is the text in the box/]
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Parallelogram Alt shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart TD
id1[\This is the text in the box\]
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram37" class="mermaid">
flowchart TD
id1[\This is the text in the box\]
</pre
>
</td>
<td>
<pre id="diagram38" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart TD
id1[\This is the text in the box\]
</pre
>
</td>
<td>
<pre id="diagram39" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart TD
id1[\This is the text in the box\]
</pre
>
</td>
<td>
<pre id="diagram40" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart TD
id1[\This is the text in the box\]
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Trapezoid shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart TD
A[/Christmas\]
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram41" class="mermaid">
flowchart TD
A[/Christmas\]
</pre
>
</td>
<td>
<pre id="diagram42" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart TD
A[/Christmas\]
</pre
>
</td>
<td>
<pre id="diagram43" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart TD
A[/Christmas\]
</pre
>
</td>
<td>
<pre id="diagram44" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart TD
A[/Christmas\]
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Trapezoid Alt shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart TD
A[\Christmas/]
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram45" class="mermaid">
flowchart TD
A[\Christmas/]
</pre
>
</td>
<td>
<pre id="diagram46" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart TD
A[\Christmas/]
</pre
>
</td>
<td>
<pre id="diagram47" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart TD
A[\Christmas/]
</pre
>
</td>
<td>
<pre id="diagram48" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart TD
A[\Christmas/]
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Rect with rounded corner</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart LR
id1(This is the text in the box)
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram49" class="mermaid">
flowchart LR
id1(This is the text in the box)
</pre
>
</td>
<td>
<pre id="diagram50" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart LR
id1(This is the text in the box)
</pre
>
</td>
<td>
<pre id="diagram51" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart LR
id1(This is the text in the box)
</pre
>
</td>
<td>
<pre id="diagram52" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart LR
id1(This is the text in the box)
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Rect with sharp corner</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart LR
id1[This is the text in the box]
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram53" class="mermaid">
flowchart LR
id1[This is the text in the box]
</pre
>
</td>
<td>
<pre id="diagram54" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart LR
id1[This is the text in the box]
</pre
>
</td>
<td>
<pre id="diagram55" class="mermaid">
%%{init: {"handdrawn": false, "layout": "elk"} }%%
flowchart LR
id1[This is the text in the box]
</pre
>
</td>
<td>
<pre id="diagram56" class="mermaid">
%%{init: {"look": "handdrawn", "layout": "elk"} }%%
flowchart LR
id1[This is the text in the box]
</pre
>
</td>
</tr>
<!-- Separator row -->
<tr class="separator">
<td colspan="5"></td>
<!-- This cell spans all columns including the vertical header -->
</tr>
</table>
<script type="module">
import mermaid from './mermaid.esm.mjs';
import { layouts } from './mermaid-layout-elk.esm.mjs';
mermaid.registerLayoutLoaders(layouts);
mermaid.parseError = function (err, hash) {};
mermaid.initialize({
handdrawn: false,
mergeEdges: true,
layout: 'dagre',
flowchart: { titleTopMargin: 10 },
// fontFamily: 'Caveat',
fontFamily: 'Kalam',
sequence: {
actorFontFamily: 'courier',
noteFontFamily: 'courier',
messageFontFamily: 'courier',
},
fontSize: 16,
logLevel: 0,
});
function callback() {
alert('It worked');
}
mermaid.parseError = function (err, hash) {
console.error('In parse error:');
console.error(err);
};
let coll = document.getElementsByClassName('collapsible');
for (const element of coll) {
element.addEventListener('click', function () {
this.classList.toggle('active');
let content = this.nextElementSibling;
if (content.style.maxHeight) {
content.style.maxHeight = null;
} else {
content.style.maxHeight = content.scrollHeight + 'px';
}
});
}
</script>
</body>
</html>

View File

@@ -0,0 +1,191 @@
<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"
/>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&display=swap"
rel="stylesheet"
/>
<link
href="https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Kalam:wght@300;400;700&family=Rubik+Mono+One&display=swap"
rel="stylesheet"
/>
<link
href="https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&family=Rubik+Mono+One&display=swap"
rel="stylesheet"
/>
<style>
body {
font-family: 'Arial';
}
table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
}
th,
td {
border: 1px solid black;
padding: 10px;
text-align: center;
vertical-align: middle;
}
.separator {
height: 20px;
background-color: #f0f0f0;
}
.vertical-header {
text-align: center;
}
.collapsible {
background-color: #f9f9f9;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
}
.active,
.collapsible:hover {
background-color: #ccc;
}
.collapsible:after {
content: '\002B';
color: #777;
font-weight: bold;
float: right;
margin-left: 2px;
}
.active:after {
content: '\2212';
}
.content {
padding: 0 5px;
max-height: 0;
overflow: hidden;
transition: max-height 0.2s ease-out;
background-color: #f1f1f1;
}
.content .pre-scrollable {
max-height: 200px;
overflow-y: scroll;
}
</style>
</head>
<body>
<table>
<tr>
<th></th>
<!-- Placeholder for the top left corner -->
<th>State rough</th>
<th>Flowchart rough</th>
</tr>
<tr>
<th class="vertical-header">
<button class="collapsible">Stadium shape</button>
<div class="content">
<div class="pre-scrollable">
<pre>
flowchart LR
id1([This is the text in the box])
</pre
>
</div>
</div>
</th>
<td>
<pre id="diagram1" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
stateDiagram-v2
stateA
</pre
>
</td>
<td>
<pre id="diagram2" class="mermaid">
%%{init: {"look": "handdrawn"} }%%
flowchart LR
id1[[This is the text in the box]]
</pre
>
</td>
</tr>
</table>
<script type="module">
import mermaid from './mermaid.esm.mjs';
import { layouts } from './mermaid-layout-elk.esm.mjs';
mermaid.registerLayoutLoaders(layouts);
mermaid.parseError = function (err, hash) {};
mermaid.initialize({
handdrawn: false,
mergeEdges: true,
layout: 'dagre',
flowchart: { titleTopMargin: 10 },
// fontFamily: 'Caveat',
fontFamily: 'Kalam',
sequence: {
actorFontFamily: 'courier',
noteFontFamily: 'courier',
messageFontFamily: 'courier',
},
fontSize: 16,
logLevel: 0,
});
function callback() {
alert('It worked');
}
mermaid.parseError = function (err, hash) {
console.error('In parse error:');
console.error(err);
};
let coll = document.getElementsByClassName('collapsible');
for (const element of coll) {
element.addEventListener('click', function () {
this.classList.toggle('active');
let content = this.nextElementSibling;
if (content.style.maxHeight) {
content.style.maxHeight = null;
} else {
content.style.maxHeight = content.scrollHeight + 'px';
}
});
}
</script>
</body>
</html>

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -3,7 +3,7 @@
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -3,7 +3,7 @@
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -3,7 +3,7 @@
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -0,0 +1,433 @@
<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: #efefef;
background-image: radial-gradient(#fff 51%, transparent 91%),
radial-gradient(#fff 51%, transparent 91%);
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;
}
/* tspan {
font-size: 6px !important;
} */
</style>
</head>
<body>
<pre id="diagram" class="mermaid">
stateDiagram-v2
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*] </pre
>
<pre id="diagram" class="mermaid2">
flowchart RL
subgraph "`one`"
a1 -- l1 --> a2
a1 -- l2 --> a2
end
</pre>
<pre id="diagram" class="mermaid">
flowchart RL
subgraph "`one`"
a1 -- l1 --> a2
a1 -- l2 --> a2
end
</pre>
<pre id="diagram" class="mermaid2">
flowchart
id["`A root with a long text that wraps to keep the node size in check. A root with a long text that wraps to keep the node size in check`"]</pre
>
<pre id="diagram" class="mermaid2">
flowchart LR
A[A text that needs to be wrapped wraps to another line]
B[A text that needs to be<br/>wrapped wraps to another line]
C["`A text that needs to be wrapped to another line`"]</pre>
<pre id="diagram" class="mermaid2">
flowchart LR
C["`A text
that needs
to be wrapped
in another
way`"]
</pre
>
<pre id="diagram" class="mermaid">
classDiagram-v2
note "I love this diagram!\nDo you love it?"
</pre>
<pre id="diagram" class="mermaid">
stateDiagram-v2
State1: The state with a note with minus - and plus + in it
note left of State1
Important information! You can write
notes with . and in them.
end note </pre
>
<pre id="diagram" class="mermaid2">
mindmap
root
Child3(A node with an icon and with a long text that wraps to keep the node size in check)
</pre
>
<pre id="diagram" class="mermaid2">
%%{init: {"theme": "forest"} }%%
mindmap
id1[**Start2**<br/>end]
id2[**Start2**<br />end]
%% Another comment
id3[**Start2**<br>end] %% Comment
id4[**Start2**<br >end<br >the very end]
</pre>
<pre id="diagram" class="mermaid2">
mindmap
id1["`**Start2**
second line 😎 with long text that is wrapping to the next line`"]
id2["`Child **with bold** text`"]
id3["`Children of which some
is using *italic type of* text`"]
id4[Child]
id5["`Child
Row
and another
`"]
</pre>
<pre id="diagram" class="mermaid2">
mindmap
id1("`**Root**`"]
id2["`A formatted text... with **bold** and *italics*`"]
id3[Regular labels works as usual]
id4["`Emojis and unicode works too: 🤓
शान्तिः سلام 和平 `"]
</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
>
<pre id="diagram" class="mermaid2">
%%{init: {"flowchart": {"defaultRenderer": "elk", "htmlLabels": false}} }%%
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="mermaid2">
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">
mindmap
root((mindmap))
Origins
Long history
::icon(fa fa-book)
Popularisation
British popular psychology author Tony Buzan
Research
On effectiveness<br/>and features
On Automatic creation
Uses
Creative techniques
Strategic planning
Argument mapping
Tools
Pen and paper
Mermaid
</pre>
<br />
<pre id="diagram" class="mermaid2">
example-diagram
</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> -->
<scrpt>
// import mindmap from '../../packages/mermaid-mindmap/src/detector'; // import example from
'../../packages/mermaid-example-diagram/src/mermaid-example-diagram.core.mjs'; import mermaid
from './mermaid.esm.mjs'; // await mermaid.registerExternalDiagrams([example]);
mermaid.parseError = function (err, hash) { // console.error('Mermaid error: ', err); };
mermaid.initialize({ // theme: 'forest', startOnLoad: true, logLevel: 0, flowchart: { //
defaultRenderer: 'elk', useMaxWidth: false, // htmlLabels: false, htmlLabels: true, }, //
htmlLabels: false, gantt: { useMaxWidth: false, }, useMaxWidth: false, }); function callback()
{ alert('It worked'); } mermaid.parseError = function (err, hash) { console.error('In parse
error:'); console.error(err); }; // 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)); // mermaid.test1('forth_slow',
1200).then((r) => console.info(r));
</scrpt>
<script
type="text/javascript"
src="https://cdn.jsdelivr.net/npm/mermaid@10.2.0/dist/mermaid.min.js"
></script>
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10.2.0/dist/mermaid.min.js';
(function () {
mermaid.initialize({ startOnLoad: false });
const elements = document.getElementsByClassName('mermaid');
console.log(elements);
let id = 0;
[...elements].forEach((elem) => {
const insertSvg = function (svgCode) {
elem.innerHTML = svgCode;
};
console.log(atob(elem.innerText));
mermaid.render(`graphDiv-${id++}`, atob(elem.innerText), insertSvg);
});
})();
</script>
</body>
</html>

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://cdn.jsdelivr.net/npm/@mdi/font@6.9.96/css/materialdesignicons.min.css"

View File

@@ -14,33 +14,45 @@
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"
rel="stylesheet"
/>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&display=swap"
rel="stylesheet"
/>
<link
href="https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Kalam:wght@300;400;700&family=Rubik+Mono+One&display=swap"
rel="stylesheet"
/>
<link
href="https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&family=Rubik+Mono+One&display=swap"
rel="stylesheet"
/>
<style>
body {
/* background: rgb(221, 208, 208); */
background: #333;
/* background: #333; */
font-family: 'Arial';
/* font-size: 18px !important; */
}
h1 {
color: grey;
}
.mermaid {
border: 1px solid #ddd;
margin: 10px;
}
.mermaid2 {
display: none;
}
.mermaid svg {
/* font-size: 18px !important; */
/* background-color: #efefef; */
background-color: #333;
background-image: radial-gradient(#333 51%, transparent 91%),
radial-gradient(#333 51%, transparent 91%);
/* background-color: #efefef;
background-image: radial-gradient(#fff 51%, transparent 91%),
radial-gradient(#fff 51%, transparent 91%);
background-size: 20px 20px;
background-position: 0 0, 10px 10px;
background-repeat: repeat;
border: 2px solid rgb(131, 142, 205);
background-position:
0 0,
10px 10px;
background-repeat: repeat; */
}
.malware {
position: fixed;
@@ -58,545 +70,82 @@
font-size: 72px;
}
/* tspan {
font-size: 6px !important;
} */
font-size: 6px !important;
} */
</style>
</head>
<body>
<pre id="diagram" class="mermaid">
block-beta
blockArrowId<["Label"]>(right)
blockArrowId2<["Label"]>(left)
blockArrowId3<["Label"]>(up)
blockArrowId4<["Label"]>(down)
blockArrowId5<["Label"]>(x)
blockArrowId6<["Label"]>(y)
blockArrowId6<["Label"]>(x, down)
</pre>
<pre id="diagram" class="mermaid">
block-beta
block:e:4
columns 2
f
g
end
</pre>
<pre id="diagram" class="mermaid">
block-beta
block:e:4
columns 2
f
g
h
end
</pre>
<pre id="diagram" class="mermaid">
block-beta
columns 4
a b c d
block:e:4
columns 2
f
g
h
end
i:4
</pre>
<pre id="diagram" class="mermaid2">
flowchart LR
X-- "y" -->z
</pre>
<pre id="diagram" class="mermaid2">
block-beta
columns 5
A space B
A --x B
</pre>
<pre id="diagram" class="mermaid2">
block-beta
columns 3
a["A wide one"] b:2 c:2 d
</pre>
<pre id="diagram" class="mermaid2">
block-beta
block:e
f
end
</pre>
<pre id="diagram" class="mermaid2">
block-beta
columns 3
a:3
block:e:3
f
end
g
</pre>
<pre id="diagram" class="mermaid2">
block-beta
columns 3
a:3
block:e:3
f
g
end
h
i
j
</pre>
<pre id="diagram" class="mermaid2">
block-beta
columns 3
a b:2
block:e:3
f
end
g h i
</pre>
<pre id="diagram" class="mermaid">
block-beta
columns 3
a b c
e:3
f g h
</pre>
<pre id="diagram" class="mermaid">
block-beta
columns 1
db(("DB"))
blockArrowId6<["&nbsp;&nbsp;&nbsp;"]>(down)
block:ID
A
B["A wide one in the middle"]
C
end
space
D
ID --> D
C --> D
style B fill:#f9F,stroke:#333,stroke-width:4px
</pre>
<pre id="diagram" class="mermaid">
block-beta
columns 5
A1:3
A2:1
A3
B1 B2 B3:3
</pre>
<pre id="diagram" class="mermaid2">
block-beta
block
D
E
end
db("This is the text in the box")
</pre>
<pre id="diagram" class="mermaid2">
block-beta
block
D
end
A["A: I am a wide one"]
</pre>
<pre id="diagram" class="mermaid2">
block-beta
A["square"]
B("rounded")
C(("circle"))
</pre>
<pre id="diagram" class="mermaid2">
block-beta
A>"rect_left_inv_arrow"]
B{"diamond"}
C{{"hexagon"}}
</pre>
<pre id="diagram" class="mermaid2">
block-beta
A(["stadium"])
</pre>
<pre id="diagram" class="mermaid2">
block-beta
%% A[["subroutine"]]
%% B[("cylinder")]
C>"surprise"]
</pre>
<pre id="diagram" class="mermaid2">
block-beta
A[/"lean right"/]
B[\"lean left"\]
C[/"trapezoid"\]
D[\"trapezoid"/]
</pre>
<pre id="diagram" class="mermaid2">
flowchart
B
style B fill:#f9F,stroke:#333,stroke-width:4px
</pre>
<pre id="diagram" class="mermaid2">
flowchart LR
a1 -- apa --> b1
</pre>
<pre id="diagram" class="mermaid2">
flowchart RL
subgraph "`one`"
id
end
</pre>
<pre id="diagram" class="mermaid2">
flowchart RL
subgraph "`one`"
a1 -- l1 --> a2
a1 -- l2 --> a2
end
</pre>
<pre id="diagram" class="mermaid2">
flowchart
id["`A root with a long text that wraps to keep the node size in check. A root with a long text that wraps to keep the node size in check`"]</pre
a_a(Aftonbladet) --> b_b[gorilla]:::apa --> c_c{chimp}:::apa -->a_a
a_a --> c --> d_d --> c_c
classDef apa fill:#f9f,stroke:#333,stroke-width:4px;
class a_a apa;
click a_a "http://www.aftonbladet.se" "bookmark"
click c_c callback "new tooltip"
</pre
>
<pre id="diagram" class="mermaid2">
<pre id="diagram2" class="mermaid">
flowchart LR
A[A text that needs to be wrapped wraps to another line]
B[A text that needs to be<br/>wrapped wraps to another line]
C["`A text that needs to be wrapped to another line`"]</pre>
<pre id="diagram" class="mermaid2">
flowchart LR
C["`A text
that needs
to be wrapped
in another
way`"]
</pre
>
<pre id="diagram" class="mermaid2">
classDiagram-v2
note "I love this diagram!\nDo you love it?"
id1(Start)-->id2(Stop)
style id1 fill:#f9f,stroke:#333,stroke-width:4px
style id2 fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5
</pre>
<pre id="diagram" class="mermaid2">
stateDiagram-v2
State1: The state with a note with minus - and plus + in it
note left of State1
Important information! You can write
notes with . and in them.
end note </pre
>
<pre id="diagram" class="mermaid2">
mindmap
root
Child3(A node with an icon and with a long text that wraps to keep the node size in check)
</pre
>
<pre id="diagram" class="mermaid2">
%%{init: {"theme": "forest"} }%%
mindmap
id1[**Start2**<br/>end]
id2[**Start2**<br />end]
%% Another comment
id3[**Start2**<br>end] %% Comment
id4[**Start2**<br >end<br >the very end]
</pre>
<pre id="diagram" class="mermaid2">
mindmap
id1["`**Start2**
second line 😎 with long text that is wrapping to the next line`"]
id2["`Child **with bold** text`"]
id3["`Children of which some
is using *italic type of* text`"]
id4[Child]
id5["`Child
Row
and another
`"]
</pre>
<pre id="diagram" class="mermaid2">
mindmap
id1("`**Root**`"]
id2["`A formatted text... with **bold** and *italics*`"]
id3[Regular labels works as usual]
id4["`Emojis and unicode works too: 🤓
शान्तिः سلام 和平 `"]
</pre>
<pre id="diagram" class="mermaid2">
%%{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
>
<pre id="diagram" class="mermaid2">
%%{init: {"flowchart": {"defaultRenderer": "elk", "htmlLabels": false}} }%%
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="mermaid2">
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">
<pre id="diagram3" class="mermaid">
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
A:::foo & B:::bar --> C:::foobar
classDef foo stroke:#f00
classDef bar stroke:#0f0
classDef ash color:red
class C ash
style C stroke:#00f, fill:black
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">
mindmap
root((mindmap))
Origins
Long history
::icon(fa fa-book)
Popularisation
British popular psychology author Tony Buzan
Research
On effectiveness<br/>and features
On Automatic creation
Uses
Creative techniques
Strategic planning
Argument mapping
Tools
Pen and paper
Mermaid
</pre>
<br />
<pre id="diagram" class="mermaid2">
example-diagram
</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> -->
<pre id="diagram4" class="mermaid">
stateDiagram
A:::foo
B:::bar --> C:::foobar
classDef foo stroke:#f00
classDef bar stroke:#0f0
style C stroke:#00f, fill:black, color:white
</pre>
<script type="module">
// import mindmap from '../../packages/mermaid-mindmap/src/detector';
// import example from '../../packages/mermaid-example-diagram/src/mermaid-example-diagram.core.mjs';
import mermaid from './mermaid.esm.mjs';
// await mermaid.registerExternalDiagrams([example]);
// import { layouts } from './mermaid-layout-elk.esm.mjs';
// mermaid.registerLayoutLoaders(layouts);
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
console.error('Mermaid error: ', err);
};
window.callback = function () {
alert('A callback was triggered');
};
// mermaid.initialize({
// // theme: 'forest',
// startOnLoad: true,
// logLevel: 0,
// flowchart: {
// // defaultRenderer: 'elk',
// useMaxWidth: false,
// // htmlLabels: false,
// htmlLabels: true,
// },
// // htmlLabels: false,
// gantt: {
// useMaxWidth: false,
// },
// useMaxWidth: false,
// });
mermaid.initialize({
theme: 'dark',
startOnLoad: true,
// theme: 'base',
// handdrawnSeed: 12,
// look: 'handdrawn',
// 'elk.nodePlacement.strategy': 'NETWORK_SIMPLEX',
// layout: 'dagre',
// layout: 'elk',
// layout: 'fixed',
// htmlLabels: false,
flowchart: { titleTopMargin: 10 },
// fontFamily: 'Caveat',
// fontFamily: 'Kalam',
// fontFamily: 'courier',
sequence: {
actorFontFamily: 'courier',
noteFontFamily: 'courier',
messageFontFamily: 'courier',
},
fontSize: 12,
logLevel: 0,
securityLevel: 'loose',
});
function callback() {
alert('It worked');
@@ -605,10 +154,6 @@ mindmap
console.error('In parse error:');
console.error(err);
};
// 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));
// mermaid.test1('forth_slow', 1200).then((r) => console.info(r));
</script>
</body>
</html>

View File

@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

108
cypress/platform/xss25.html Normal file
View File

@@ -0,0 +1,108 @@
<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://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; */
}
.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>
<script>
function xssAttack() {
const div = document.createElement('div');
div.id = 'the-malware';
div.className = 'malware';
div.innerHTML = 'XSS Succeeded';
document.getElementsByTagName('body')[0].appendChild(div);
throw new Error('XSS Succeeded');
}
</script>
</head>
<body>
<div>Security check</div>
<div class="flex">
<div id="diagram" class="mermaid"></div>
<div id="res" class=""></div>
</div>
<script type="module">
import mermaid from './mermaid.esm.mjs';
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
mermaid.initialize({
theme: 'forest',
arrowMarkerAbsolute: true,
// themeCSS: '.edgePath .path {stroke: red;} .arrowheadPath {fill: red;}',
logLevel: 0,
state: {
defaultRenderer: 'dagre-wrapper',
},
flowchart: {
// defaultRenderer: 'dagre-wrapper',
nodeSpacing: 10,
curve: 'cardinal',
htmlLabels: true,
},
htmlLabels: false,
// gantt: { axisFormat: '%m/%d/%Y' },
sequence: { actorFontFamily: 'courier', actorMargin: 50, showSequenceNumbers: false },
// sequenceDiagram: { actorMargin: 300 } // deprecated
// fontFamily: '"times", sans-serif',
// fontFamily: 'courier',
fontSize: 18,
curve: 'basis',
securityLevel: 'strict',
startOnLoad: false,
secure: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize'],
// themeVariables: {relationLabelColor: 'red'}
});
function callback() {
alert('It worked');
}
let diagram = 'block-beta\n';
diagram += '`A-- "X<img src=x on';
diagram += 'error=xssAttack()>" -->B';
console.log(diagram);
// document.querySelector('#diagram').innerHTML = diagram;
const { svg } = await mermaid.render('diagram', diagram);
document.querySelector('#res').innerHTML = svg;
</script>
</body>
</html>

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

@@ -4,7 +4,7 @@
<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"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/font-awesome.min.css"
/>
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"

View File

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

View File

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

View File

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

View File

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

View File

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

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