Compare commits

...

671 Commits

Author SHA1 Message Date
Knut Sveidqvist
05a594a492 Fix for broken test 2022-10-03 11:22:06 +02:00
Knut Sveidqvist
0a2804c641 Mindmap cleanup 2022-10-03 11:08:55 +02:00
Knut Sveidqvist
5079fa93b4 Using cose-bilkent layout algorithm for mindmaps 2022-10-03 10:05:12 +02:00
Knut Sveidqvist
383cbcf3a0 Merge branch 'develop' into minmaps 2022-10-03 07:02:25 +02:00
Knut Sveidqvist
56add0756f Lazy loading fix for example-diagram and mindmaps 2022-10-03 07:01:56 +02:00
Alois Klink
02a0f87562 Merge pull request #3541 from marcastel/patch-2
Corrected theme variables reference table layout
2022-10-03 02:11:57 +01:00
Alois Klink
feb1d34c1a style(docs): fix prettier issues (extra newline)
Fix prettier issues by running `pnpm run lint:fix`
2022-10-03 02:06:49 +01:00
JM Marcastel
ffe956e27b Corrected theme variables reference table layout
In replacement of #3540 which modified the generated file and not the source file.
2022-10-02 05:31:41 +02:00
Alois Klink
03190c1dec Merge pull request #3538 from elv-nate/patch-1
Fix typos in README.md
2022-09-30 22:20:14 +01:00
Nate Armstrong
92f1f2ffb6 Fix typos in README.md 2022-09-30 11:31:53 -07:00
Knut Sveidqvist
4d8d74a50d Merge pull request #3536 from aloisklink/build/fix-pre-commit-rules
Fix husky `pre-commit` rules
2022-09-30 09:07:12 +02:00
Knut Sveidqvist
0dc0de8f1d Merge pull request #3534 from aloisklink/build/fix-docsbuild-script
Fix `docs:build` and `docs:verify` scripts
2022-09-30 09:06:13 +02:00
Knut Sveidqvist
f5dc4d991f Merge pull request #3535 from aloisklink/docs/replace-yarn-with-pnpm
docs: replace `yarn` with `pnpm` in dev guide
2022-09-30 09:05:29 +02:00
Alois Klink
1f3a02559c build: lint-staged docs in packages/mermaid/src/…
When running lint-staged during git pre-commit scripts,
search for docs in the packages/mermaid/src/docs folder instead
of the original src/docs folder.
2022-09-29 20:11:26 +01:00
Alois Klink
70f94c3e44 chore(docs): run pnpm run docs:build
Updates the auto-generated warning to tell people
to edit packages/mermaid/src/docs instead of src/docs.
2022-09-29 20:02:16 +01:00
Alois Klink
b8eab08119 build(docs): fix pnpm run docs:{build,verify}
Our docs script was searching for docs in the src/docs folder,
which no longer exists.

Instead, it should be looking at the packages/mermaid/src/docs folder.
2022-09-29 20:00:15 +01:00
Alois Klink
794b714fac docs: replace yarn with pnpm in dev guide
With the new mono-repo move (PR #3531), development must
be done with `pnpm`.

Using `memaid` can still be done with `yarn`/`npm` however.
2022-09-29 19:59:02 +01:00
Knut Sveidqvist
2f4b4ba13b Merge pull request #3533 from mermaid-js/2979_arrow_alignment
Arrow tip aligned to edge of box
2022-09-29 20:49:22 +02:00
Alois Klink
1cdb0ff72c build: re-enable prepare script for husky setup
Re-enables the `pnpm run prepare` script.

The prepare script is automatically run when running
`pnpm install` locally.

It both:
  - Sets up husky/git pre-commit scripts
  - Builds the `packages/mermaid/dist` folder.
2022-09-29 19:48:54 +01:00
Alois Klink
9513e0e2d5 build: update pre-commit rules to use pnpm
Update husky and lint-staged to use pnpm instead of yarn.
2022-09-29 19:48:02 +01:00
Per Brolin
6ebfbb2f9e Arrow tip aligned to edge of box 2022-09-29 20:37:57 +02:00
pbrolin47
320e105ffe Merge pull request #3531 from mermaid-js/3061_making_a_monorepo
3061 making a monorepo
2022-09-29 19:52:40 +02:00
Knut Sveidqvist
96cde8a15a updated pnpm-lock file 2022-09-29 19:35:54 +02:00
Knut Sveidqvist
972d025578 Merge branch 'develop' into 3061_making_a_monorepo 2022-09-29 16:28:57 +02:00
Knut Sveidqvist
09bc7e0acd Merge remote-tracking branch 'origin/develop' into develop 2022-09-29 16:25:09 +02:00
Alois Klink
693616b00d ci(e2e): Skip pnpm cache if skipping cypress run
When running the e2e action from a fork, we prevent multi-processing
in the E2E cypress tests skipping runs that aren't
matrix.container == 1.

However, this means that the pnpm cache folder isn't created, causing
the cache action to throw an error.

To fix this, we also skip building Node/cache setup step.

Fixes: f60c7fff65
2022-09-28 20:19:08 +01:00
Alois Klink
30f6550e61 ci(e2e): remove headless arg from cypress run
Since [cypress-io/github-action v4.0.1][1], the headless argument
no longer exists.

Since Cypress v8.0.0, it didn't do anything, since this was the
default behaviour.

[1]: https://github.com/cypress-io/github-action/releases/tag/v4.0.1
2022-09-28 20:12:40 +01:00
Alois Klink
5cfbc9102e build(dev): Fix dev server not showing mermaid.js
When moving to the mono-repo,
`<script src="http://localhost:9000/mermaid.js"/>`
stopped working, since the vite dev server was exposing
the `./dist` folder, when the folder had moved to
the `./packages/mermaid/dist` folder.
2022-09-28 19:52:31 +01:00
Knut Sveidqvist
766bdde46b Fixed sample test 2022-09-28 17:53:01 +02:00
Knut Sveidqvist
f46f8752ca Adding example diagram as a template for a new diagram 2022-09-28 17:49:47 +02:00
Knut Sveidqvist
bed9b1bb99 Removed test folder 2022-09-28 17:17:32 +02:00
Knut Sveidqvist
053a20bd33 Returning the borders to the e2e tests 2022-09-28 15:33:33 +02:00
Knut Sveidqvist
be34e6145f Fix for tests 2022-09-28 14:53:16 +02:00
Knut Sveidqvist
f60c7fff65 Merge branch 'develop' into 3061_making_a_monorepo 2022-09-28 14:26:07 +02:00
Knut Sveidqvist
6292bebcd3 Updated version 2022-09-28 14:15:17 +02:00
Knut Sveidqvist
80c68d847c Merge pull request #3524 from ashleybartlett/feature/3078-support-dashes-in-participant-names
[sequenceDiagrams] Support dashes in participant names
2022-09-28 13:40:17 +02:00
Knut Sveidqvist
fed00be430 Merge pull request #3516 from weedySeaDragon/feature/3171--erDiagram-allow-chars-in-entity-name
feat: ER diagram: allow other chars in a quoted entity name
2022-09-28 13:29:54 +02:00
Knut Sveidqvist
ef527cb0fa Merge branch 'develop' into feature/3171--erDiagram-allow-chars-in-entity-name 2022-09-28 13:24:54 +02:00
Knut Sveidqvist
e1c63139b2 Merge pull request #3512 from weedySeaDragon/bug/3429_er-dark-theme-attribute-colors
fix: ER dark theme attribute colors
2022-09-28 13:18:11 +02:00
Knut Sveidqvist
edb30c9feb Merge branch 'develop' into bug/3429_er-dark-theme-attribute-colors 2022-09-28 13:17:00 +02:00
Knut Sveidqvist
66809ed972 Merge pull request #3513 from IanLee1521/patch-1
Mention obsidian has native support for mermaid
2022-09-28 13:12:54 +02:00
Knut Sveidqvist
c66d5cb890 Merge pull request #3523 from weedySeaDragon/chore/2904_fix-demo-charts-add-accTags
chore: fix demo chart pages
2022-09-28 13:12:15 +02:00
Knut Sveidqvist
fe8df78322 Clarification in the docs regarding directions in the subgraps for flowcharts. 2022-09-28 12:32:58 +02:00
Ashley Bartlett
7da6c0e867 Fix testing bug 2022-09-27 14:25:19 +10:00
Ashley Bartlett
0a0b6d51ba Add support for hyphens in participant names 2022-09-27 14:24:54 +10:00
Ashley Engelund (weedySeaDragon @ github)
7ed3c21a6d move charts to their pages; index page just a list to them 2022-09-26 18:16:36 -07:00
Ashley Engelund (weedySeaDragon @ github)
3d0214d453 new page for pie charts 2022-09-26 18:16:00 -07:00
Ashley Engelund (weedySeaDragon @ github)
d0e9de2744 new page for context charts 2022-09-26 18:15:29 -07:00
Ashley Engelund (weedySeaDragon @ github)
99264fab8a new page for git charts 2022-09-26 18:15:13 -07:00
Ashley Engelund (weedySeaDragon @ github)
d4519bb730 Merge remote-tracking branch 'origin/develop' into develop 2022-09-26 17:32:15 -07:00
Ashley Engelund (weedySeaDragon @ github)
6468c8e857 Merge remote-tracking branch 'MERMAID/develop' into develop 2022-09-26 17:31:56 -07:00
Knut Sveidqvist
982c1b4979 #3061 Lazy loading auto derived path 2022-09-26 14:22:21 +02:00
dependabot[bot]
503cbedc96 chore(deps-dev): bump @types/prettier from 2.7.0 to 2.7.1 (#3520)
Bumps [@types/prettier](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/prettier) from 2.7.0 to 2.7.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/prettier)

---
updated-dependencies:
- dependency-name: "@types/prettier"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-26 13:28:16 +02:00
dependabot[bot]
a448409750 chore(deps-dev): bump eslint from 8.23.1 to 8.24.0 (#3521)
Bumps [eslint](https://github.com/eslint/eslint) from 8.23.1 to 8.24.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.23.1...v8.24.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-26 13:27:42 +02:00
Knut Sveidqvist
a928120bec #3061 Log handing and other fixes, error handling in diagram creation 2022-09-26 10:44:18 +02:00
weedySeaDragon
b3ca701b8d chore: update browsers list 2022-09-26 07:15:56 +00:00
mmorel-35
62e127f1b8 chore: update browsers list 2022-09-26 07:15:07 +00:00
Knut Sveidqvist
ebdec77c88 #3061 Fixing unit tests 2022-09-26 08:47:41 +02:00
Knut Sveidqvist
98ddc95648 Deoupling, inecting mermaid utilities in external diagram 2022-09-26 08:02:12 +02:00
Knut Sveidqvist
9566f51ca8 Commiton issue #3061 Injecting mermaid utilities in registered diagram 2022-09-26 08:01:23 +02:00
Sidharth Vinod
696164c9a6 Merge pull request #3519 from aloisklink/ci/fix-e2e-when-running-from-fork
ci(e2e): fix e2e action when running from fork
2022-09-26 07:57:11 +05:30
Alois Klink
493aac6885 Merge branch 'aloisklink/3061_monorepo-e2e-tests' into 3061_making_a_monorepo
Fixes most CI actions to support pnpm and the mono-repo.

It looks like there are some errors related to `mermaid-mindmap`
not being able to find `mermaid` or `mermaid/diagramAPI`
2022-09-25 20:36:52 +01:00
Alois Klink
56e1411d37 ci(e2e): fix e2e action when running from fork
PRs from forks don't have acess to the secrets.CYPRESS_RECORD_KEY.
Because of this, we need to disable `recording`.
2022-09-25 20:11:42 +01:00
Alois Klink
e0805b8272 ci(build): fix build CI to use pnpm
The packages/mermaid/dist build is now uploaded seperately from
the packages/mermaid-mindmap/dist build.
2022-09-25 20:02:23 +01:00
Alois Klink
e72059ba87 ci(e2e-applitools): fix applitools CI to use pnpm 2022-09-25 20:02:23 +01:00
Alois Klink
24d46fb936 ci(e2e): fix e2e tests CI to use pnpm
We need to upgrade cypress-io/github-action to v4.2.0
as that's the first version that supported pnpm.

See https://github.com/cypress-io/github-action/releases/tag/v4.2.0
2022-09-25 20:02:23 +01:00
Alois Klink
29c52ec4d4 chore: update pnpm-lock.yaml lockfile 2022-09-25 20:02:23 +01:00
Alois Klink
77831c424c ci(lint): fix lint tests CI to use pnpm 2022-09-25 20:02:23 +01:00
Alois Klink
d633ec62df ci(unit): fix unit tests CI to use pnpm 2022-09-25 20:02:23 +01:00
Alois Klink
69c13a6ecf build(docs): fix docs:build command for mono-repo 2022-09-25 20:02:23 +01:00
Alois Klink
69d05c454d style: ignore pnpm-lock.yaml from prettier
The `pnpm-lock.yaml` file is auto-generated by PNPM.
2022-09-25 19:52:27 +01:00
Alois Klink
97637da9e0 build: set "packageManager" to pnpm@7.12.2
The ["packageManager"][1] field list the package manager that
is expected to be used.

This is required by the `pnpm/action-setup` GitHub Action.

[1]: https://nodejs.org/api/packages.html#packagemanager
2022-09-25 19:22:48 +01:00
Alois Klink
535f555b13 test: fix unit tests in new mono-repo 2022-09-25 19:18:16 +01:00
Ashley Engelund (weedySeaDragon @ github)
ddc35fa9ce a few more wee changes to the ER demo 2022-09-24 16:50:02 -07:00
Ashley Engelund (weedySeaDragon @ github)
908f5afe0f Merge remote-tracking branch 'MERMAID/develop' into develop 2022-09-24 16:16:29 -07:00
Ashley Engelund (weedySeaDragon @ github)
5daa130857 er demo: clarify comment about name 2022-09-24 16:11:07 -07:00
Ashley Engelund (weedySeaDragon @ github)
c202b94a9a yarn install after merge with upstream/develop 2022-09-24 16:10:34 -07:00
Ashley Engelund (weedySeaDragon @ github)
ed0f22b037 Merge remote-tracking branch 'MERMAID/develop' into bug/er/allow-chars-in-entity-name
# Conflicts:
#	vite.config.cts
#	yarn.lock
2022-09-24 16:06:54 -07:00
Ashley Engelund (weedySeaDragon @ github)
eb1c6894f5 change demo ER diagram to include attributes, names with various chars 2022-09-24 16:05:59 -07:00
Ashley Engelund (weedySeaDragon @ github)
91091c614f store and reference entity by unique id, not name (elements, graph, etc.) 2022-09-24 16:05:20 -07:00
Ashley Engelund (weedySeaDragon @ github)
481b5cde0f (minor) fix ==; remove unused imports; fix typos; add comments 2022-09-24 16:02:55 -07:00
Ashley Engelund (weedySeaDragon @ github)
d328879329 add uuid; graph node ids can no longer be based on entity names; make unique id 2022-09-24 15:40:02 -07:00
Ashley Engelund (weedySeaDragon @ github)
3c1bad1792 er jison: allow more chars in Entity name; clean up spec 2022-09-24 15:38:06 -07:00
Ashley Engelund (weedySeaDragon @ github)
9ec935f109 add ts-ignore for jison in vite.config.cts 2022-09-23 11:35:31 -07:00
Ashley Engelund (weedySeaDragon @ github)
4bedc49b4d define ENTITY_NAME that allows some non-alphanumeric chars; spec re-arrange 2022-09-23 11:34:52 -07:00
Knut Sveidqvist
af2b1945a3 Detector registering itself on load 2022-09-23 16:55:30 +02:00
Sidharth Vinod
c32e76a870 Merge branch 'sidv/3061_monorepo' into 3061_making_a_monorepo
* sidv/3061_monorepo:
  fix types for mermaid-mindmap
2022-09-23 17:52:11 +05:30
Sidharth Vinod
8dcbe83b0b fix types for mermaid-mindmap 2022-09-23 17:51:29 +05:30
Knut Sveidqvist
9fac7866f5 Merge pull request #3514 from mermaid-js/sidv/3061_monorepo
[WIP] Monorepo build
2022-09-23 14:14:07 +02:00
Sidharth Vinod
53bbf444e5 fix build 2022-09-23 17:39:08 +05:30
Knut Sveidqvist
1a46582e1e Merge pull request #3503 from mermaid-js/sidv/viteVitest
Build mermaid using Vite
2022-09-23 14:04:39 +02:00
Sidharth Vinod
913468a7b5 Merge branch 'sidv/viteVitest' into sidv/3061_monorepo
* sidv/viteVitest:
  fix: Core build
  fix: js-base64
  fix OutputOptions type
  fix: js-base64
  fix: json import, js-base64
  fix: json import
2022-09-23 17:29:35 +05:30
Sidharth Vinod
1e71798467 fix: Core build 2022-09-23 17:20:40 +05:30
Sidharth Vinod
8c63d002e7 fix: js-base64
Co-authored-by: Alois Klink <alois@aloisklink.com>
2022-09-23 16:53:11 +05:30
Sidharth Vinod
67b1e8dbe9 fix OutputOptions type 2022-09-23 16:00:27 +05:30
Sidharth Vinod
bc0be28f08 fix: js-base64
Co-authored-by: Alois Klink <alois@aloisklink.com>
2022-09-23 15:54:24 +05:30
Sidharth Vinod
eaa1602b1a fix: json import, js-base64
Co-authored-by: Alois Klink <alois@aloisklink.com>
2022-09-23 15:42:41 +05:30
Sidharth Vinod
2a86ced835 fix: json import
Co-authored-by: Alois Klink <alois@aloisklink.com>
2022-09-23 15:23:15 +05:30
Sidharth Vinod
ad49564ab5 vite build 2022-09-23 12:31:24 +05:30
Ian Lee
e8cef4aa81 Make corresponding change to docs/
Previously failed the linting CI job.
2022-09-22 23:58:17 -07:00
Ian Lee
56954067ab Mention obsidian has native support for mermaid 2022-09-22 23:31:30 -07:00
Ashley Engelund (weedySeaDragon @ github)
338ba704ba Merge remote-tracking branch 'MERMAID/develop' into develop 2022-09-22 23:28:24 -07:00
Sidharth Vinod
bf25be7cf0 Merge branch 'sidv/viteVitest' into sidv/3061_monorepo
* sidv/viteVitest:
  ts conversion
  cleanup
  remove esbuild
  fix: tests
  chore: Add recommended extensions
  Fix user-journey leaking css
  Add "Debug Current Test File" configuration for VSCode
  Fix unit test coverage
  Use vite for build
  Fix docs
  vite
  vite Server
  Cleanup
  Merge vitest & esbuild
  Merge vitest
  fix jison generation
  Vite
  Vite
2022-09-23 11:31:15 +05:30
Sidharth Vinod
404b718677 Merge branch '3061_making_a_monorepo' into sidv/3061_monorepo
* 3061_making_a_monorepo:
  Fixed paths for dev server
  Use of pnpm for the monorepo
  Use of pnpm for the monorepo
2022-09-23 11:23:38 +05:30
Sidharth Vinod
8a489176c3 ts conversion 2022-09-23 10:56:39 +05:30
Sidharth Vinod
f40f2a0b44 cleanup 2022-09-23 10:53:37 +05:30
Sidharth Vinod
d9406585c8 remove esbuild 2022-09-23 10:50:58 +05:30
Sidharth Vinod
9e35bf6e6f fix: tests 2022-09-23 10:40:56 +05:30
Sidharth Vinod
0d0de49231 Merge branch 'develop' into sidv/viteVitest
* develop:
  chore: Add recommended extensions
  Fix user-journey leaking css
  Add "Debug Current Test File" configuration for VSCode
2022-09-23 10:14:15 +05:30
Sidharth Vinod
dc53b2fde3 Merge pull request #3509 from pje/feature/3507_vscode_debug_test
Add "Debug Current Test File" configuration for VSCode
2022-09-23 10:13:00 +05:30
Sidharth Vinod
98d214fd60 chore: Add recommended extensions 2022-09-23 10:11:19 +05:30
Sidharth Vinod
adadc9ee26 Merge pull request #3510 from lishid/patch-2
Fix user-journey leaking css
2022-09-23 09:58:50 +05:30
Ashley Engelund (weedySeaDragon @ github)
777f888892 remove unused .attributeBoxText and oldAttributeBoxTextColor 2022-09-22 12:28:49 -07:00
Ashley Engelund (weedySeaDragon @ github)
84dfc8ee4b demos er.html add title, accDescription back in; simplify nearly to before 2022-09-22 12:26:36 -07:00
Ashley Engelund (weedySeaDragon @ github)
6f86047a8e theme-dark: change attributes background colors; base on lightened background color 2022-09-22 11:55:50 -07:00
Ashley Engelund (weedySeaDragon @ github)
2d7a289105 ER styles: replace hardcoded values with new options properties 2022-09-22 11:55:01 -07:00
Ashley Engelund (weedySeaDragon @ github)
353b62aa0a themes: define properties for ER diagrams, use the (old) hardcoded values 2022-09-22 11:53:57 -07:00
Ashley Engelund (weedySeaDragon @ github)
826cd67cc8 ER styles: define (old) hardcoded values for themes to use 2022-09-22 11:50:07 -07:00
Ashley Engelund (weedySeaDragon @ github)
9cb7054ff9 add attributes to demo ER diagram so attribute styles can be evaluated 2022-09-22 11:48:11 -07:00
Lishid
6309300eb6 Fix user-journey leaking css
This fixes a CSS syntax error that causes the CSS parser to soft-fail, which leads to the later CSS (custom styles) to not properly append the `#id` to them.
2022-09-22 12:48:23 -04:00
Patrick Ellis
0dce8f4104 Add "Debug Current Test File" configuration for VSCode
Just press F5 (or ⌘+⇧+P -> `Debug Current Test File`)
"
2022-09-22 12:33:09 -04:00
Sidharth Vinod
1c4eeb2d53 Fix unit test coverage 2022-09-22 15:45:44 +05:30
Sidharth Vinod
d6245fdbda Merge branch 'develop' into sidv/viteVitest
* develop: (30 commits)
  Fix docs
  Auto stash before merge of "develop" and "origin/develop"
  vite -> cts
  add lcov
  chore(deps-dev): bump esbuild from 0.15.6 to 0.15.8
  fix(docs): update link
  CI Concurrency 4
  Remove build
  Parallel e2e
  Revert "unify Jison tranformers"
  Update yarn.lock
  fix(docs): `mmd` detection
  Hope this fails
  Remove `docs:build` from postbuild.
  Add verification log
  This should fail CI
  chore(deps-dev): bump @types/lodash from 4.14.184 to 4.14.185
  Update integrations.md
  Add vitepress pluin
  Fix lint
  ...
2022-09-22 15:39:26 +05:30
Sidharth Vinod
aeb31fe1ae Use vite for build 2022-09-22 15:35:22 +05:30
Knut Sveidqvist
0e0a6c0f69 Fixed paths for dev server 2022-09-22 11:28:37 +02:00
Knut Sveidqvist
cccbb6939c Use of pnpm for the monorepo 2022-09-22 11:13:04 +02:00
Knut Sveidqvist
db31f61368 Use of pnpm for the monorepo 2022-09-22 11:12:57 +02:00
Sidharth Vinod
ffbae081ff wip: esbuild Package 2022-09-22 00:02:53 +05:30
Ashley Engelund (weedySeaDragon @ github)
395cc29701 Merge remote-tracking branch 'MERMAID/develop' into develop 2022-09-21 09:29:28 -07:00
Sidharth Vinod
c93c7c75c9 Fix docs 2022-09-21 17:10:29 +05:30
Knut Sveidqvist
9b0d4a28ea Temp removaof some hursky rules etc for the build 2022-09-21 12:35:25 +02:00
Knut Sveidqvist
8dd82839cb Relocation of files 2022-09-21 11:03:33 +02:00
Knut Sveidqvist
24ef5f9fe4 Auto stash before merge of "develop" and "origin/develop" 2022-09-21 10:08:52 +02:00
Knut Sveidqvist
d08882d043 Merge pull request #3427 from mermaid-js/sidv/vitest
Vitest
2022-09-21 10:07:18 +02:00
Knut Sveidqvist
eea31a1046 Merge pull request #3498 from sidharthv96/sidv/parallelE2E
[DevOps] Parallel E2E
2022-09-21 09:15:07 +02:00
Sidharth Vinod
5d085fd3f6 Merge branch 'develop' into sidv/vitest
* develop:
  chore(deps-dev): bump esbuild from 0.15.6 to 0.15.8
2022-09-21 12:18:11 +05:30
Sidharth Vinod
30e2b08028 vite -> cts 2022-09-21 12:16:59 +05:30
Sidharth Vinod
533da47516 Merge branch 'develop' into sidv/vitest
* develop: (28 commits)
  fix(docs): update link
  Revert "unify Jison tranformers"
  Update yarn.lock
  Revert "fix(test): No esm exports"
  fix(test): No esm exports
  fix(docs): `mmd` detection
  Hope this fails
  unify Jison tranformers
  Fix jest
  Remove `docs:build` from postbuild.
  Add verification log
  This should fail CI
  fix: imports in HTML
  Revert "Add diagramAPI to outfile"
  Add `type: module` to package.json
  chore(deps-dev): bump @types/lodash from 4.14.184 to 4.14.185
  Update integrations.md
  Add vitepress pluin
  Update mermaid version
  Fix ports
  ...
2022-09-21 12:15:45 +05:30
Knut Sveidqvist
146c2e2dd9 Merge pull request #3490 from mermaid-js/dependabot/npm_and_yarn/develop/esbuild-0.15.8
chore(deps-dev): bump esbuild from 0.15.6 to 0.15.8
2022-09-21 08:45:08 +02:00
Sidharth Vinod
065756a90d Merge branch 'develop' into sidv/parallelE2E
* develop: (28 commits)
  fix(docs): update link
  Revert "unify Jison tranformers"
  Update yarn.lock
  Revert "fix(test): No esm exports"
  fix(test): No esm exports
  fix(docs): `mmd` detection
  Hope this fails
  unify Jison tranformers
  Fix jest
  Remove `docs:build` from postbuild.
  Add verification log
  This should fail CI
  fix: imports in HTML
  Revert "Add diagramAPI to outfile"
  Add `type: module` to package.json
  chore(deps-dev): bump @types/lodash from 4.14.184 to 4.14.185
  Update integrations.md
  Add vitepress pluin
  Update mermaid version
  Fix ports
  ...
2022-09-21 12:06:18 +05:30
Sidharth Vinod
6819fc05da add lcov 2022-09-21 12:02:28 +05:30
dependabot[bot]
bc14d56568 chore(deps-dev): bump esbuild from 0.15.6 to 0.15.8
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.15.6 to 0.15.8.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/master/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.15.6...v0.15.8)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-21 06:18:23 +00:00
Knut Sveidqvist
01ca1cc8c7 Merge pull request #3493 from sidharthv96/sidv/testDocLint
Fix CI `docs:lint`
2022-09-21 08:15:13 +02:00
Knut Sveidqvist
f69ead5e08 Merge pull request #3489 from mermaid-js/dependabot/npm_and_yarn/develop/types/lodash-4.14.185
chore(deps-dev): bump @types/lodash from 4.14.184 to 4.14.185
2022-09-21 08:11:45 +02:00
Knut Sveidqvist
f29974628b Merge pull request #3476 from emersonbottero/patch-1
Add vitepress plugin
2022-09-21 08:10:27 +02:00
Knut Sveidqvist
ad2d098b52 Merge pull request #3452 from mermaid-js/sidv/removeWebpackBabel
Remove webpack & babel
2022-09-21 08:10:10 +02:00
Sidharth Vinod
247061919b fix(docs): update link 2022-09-21 11:17:03 +05:30
Sidharth Vinod
0c308134a9 Merge branch 'develop' into sidv/vitest
* develop: (23 commits)
  Revert #3475
  chore: updyaate browsers list
  Support EMPTYSTR in jison parser, add unit tests for git graph parser
  Use undefined to mean default tagging behavior
  feat(git): allow cherry-pick to suppress tag altogether
  Update src/diagrams/git/parser/gitGraph.jison
  fix(git): fix cherry-pick regex parsing error
  test(git): add basic parsing test for cherry-pick
  feat(git): cherry-pick keyword supports tag attribute
  ci(e2e-applitols): add applitools CI action
  Test docs:verify
  Cleanup docs
  Fixed Linting issues
  ci(e2e): re-enable e2e tests
  style: fix .github/workflow/e2e styling
  chore: upgrade cypress to v10
  fix(flowchart-v2): fix arrowMarkerAbsolute=true
  test(e2e): fix most arrowMarkerAbsolute tests
  text(e2e): give git tests consistent commit id
  test(e2e): widen flowchart width to within 10%
  ...
2022-09-21 11:11:46 +05:30
Sidharth Vinod
3982d19e57 Merge branch 'develop' into sidv/removeWebpackBabel
* develop:
  Revert #3475
  ci(e2e-applitols): add applitools CI action
2022-09-21 11:04:35 +05:30
Sidharth Vinod
55d706323d CI Concurrency 4 2022-09-21 10:42:27 +05:30
Sidharth Vinod
51df0a68cc Remove build 2022-09-21 10:41:47 +05:30
Sidharth Vinod
ca053e0a11 Parallel e2e 2022-09-21 10:36:38 +05:30
Sidharth Vinod
c260f7c20b Revert "unify Jison tranformers"
This reverts commit 135f2cc2fd.
2022-09-21 10:12:29 +05:30
Sidharth Vinod
9f0137a34d Update yarn.lock 2022-09-21 10:05:57 +05:30
Sidharth Vinod
7bd7bcf4b8 vite 2022-09-21 09:57:09 +05:30
Sidharth Vinod
36ad4a847e vite Server 2022-09-21 00:47:04 +05:30
Sidharth Vinod
5791fc9a4d Cleanup 2022-09-21 00:15:52 +05:30
Sidharth Vinod
d7093c4891 Merge branch 'sidv/vitestEsbuildOnly' into sidv/viteVitest
* sidv/vitestEsbuildOnly:
  Merge vitest & esbuild
  Merge vitest
  Revert "fix(test): No esm exports"
  fix(test): No esm exports
  unify Jison tranformers
  Fix jest
  fix: imports in HTML
  Revert "Add diagramAPI to outfile"
  Add `type: module` to package.json
  Update mermaid version
  Fix ports
  Fix mjs resolution
  Fix import errors
  fix: conflict
  ESM test
  Add local jison linting
  chore: cleanup
  chore: Remove webpack & babel dependencies
  feat: Remove webpack
2022-09-21 00:15:11 +05:30
Sidharth Vinod
506e427d56 Merge branch 'develop' into sidv/vite
* develop:
  Revert #3475
  chore: update browsers list
  Support EMPTYSTR in jison parser, add unit tests for git graph parser
  Use undefined to mean default tagging behavior
  feat(git): allow cherry-pick to suppress tag altogether
  Update src/diagrams/git/parser/gitGraph.jison
  fix(git): fix cherry-pick regex parsing error
  test(git): add basic parsing test for cherry-pick
  feat(git): cherry-pick keyword supports tag attribute
  ci(e2e-applitols): add applitools CI action
  Test docs:verify
  Cleanup docs
  Fixed Linting issues
  #3409 Clean up dead code
  #3409 Fixed the truncated tags issue
2022-09-21 00:13:14 +05:30
Sidharth Vinod
59f8f5f65e Merge vitest & esbuild 2022-09-21 00:01:48 +05:30
Sidharth Vinod
3b30232e88 Merge vitest 2022-09-20 23:51:21 +05:30
Sidharth Vinod
e0aae3e31f Revert "fix(test): No esm exports"
This reverts commit c21c026749.
2022-09-20 23:12:51 +05:30
Sidharth Vinod
c21c026749 fix(test): No esm exports 2022-09-20 23:10:05 +05:30
Sidharth Vinod
b9cb7e9898 fix(docs): mmd detection 2022-09-20 23:01:05 +05:30
Ashley Engelund (weedySeaDragon @ github)
1ea546a0a5 Merge remote-tracking branch 'MERMAID/develop' into develop
# Conflicts:
#	src/diagrams/git/gitGraphParserV2.spec.js
2022-09-20 10:25:18 -07:00
Sidharth Vinod
ffdf268ba2 Merge branch 'develop' into sidv/testDocLint
* develop:
  ci(e2e-applitols): add applitools CI action
2022-09-20 22:52:02 +05:30
Sidharth Vinod
f34008b71a Merge branch 'develop' into sidv/testDocLint
* develop:
  Revert #3475
2022-09-20 22:51:12 +05:30
Sidharth Vinod
8f009ed815 Hope this fails 2022-09-20 22:50:39 +05:30
Knut Sveidqvist
71d252f706 Merge pull request #3483 from aloisklink/ci/add-applitools-action
ci(e2e-applitols): add applitools CI action
2022-09-20 19:19:34 +02:00
Sidharth Vinod
135f2cc2fd unify Jison tranformers 2022-09-20 22:46:27 +05:30
Sidharth Vinod
b83f18327a Fix jest 2022-09-20 22:44:49 +05:30
Sidharth Vinod
d5fc319d4e Remove docs:build from postbuild. 2022-09-20 22:42:05 +05:30
Sidharth Vinod
c343e4a1e3 Add verification log 2022-09-20 22:31:53 +05:30
Sidharth Vinod
b72dad9c5b Revert #3475
Was an accidental merge.
2022-09-20 22:23:59 +05:30
Sidharth Vinod
2ada935842 This should fail CI 2022-09-20 22:20:18 +05:30
Sidharth Vinod
dab43da202 fix: imports in HTML 2022-09-20 22:13:49 +05:30
Sidharth Vinod
0a944a5de1 Revert "Add diagramAPI to outfile"
This reverts commit a87abc00c6.
2022-09-20 21:54:32 +05:30
Sidharth Vinod
bb824f1147 Merge branch 'sidv/esbuildFail' into sidv/webpackBabelRemoval
* sidv/esbuildFail:
  Update mermaid version
  Fix ports
  Fix mjs resolution
  Fix import errors
  fix: conflict
2022-09-20 21:31:42 +05:30
Sidharth Vinod
817a89df70 Merge branch 'develop' into sidv/removeWebpackBabel
* develop:
  chore: update browsers list
  Support EMPTYSTR in jison parser, add unit tests for git graph parser
  Use undefined to mean default tagging behavior
  feat(git): allow cherry-pick to suppress tag altogether
  Update src/diagrams/git/parser/gitGraph.jison
  fix(git): fix cherry-pick regex parsing error
  test(git): add basic parsing test for cherry-pick
  feat(git): cherry-pick keyword supports tag attribute
  Test docs:verify
  Cleanup docs
  Fixed Linting issues
2022-09-20 21:15:30 +05:30
Sidharth Vinod
827b3d47b7 Add type: module to package.json 2022-09-20 21:14:56 +05:30
Knut Sveidqvist
00c1732b9b Merge pull request #3475 from sidharthv96/sidv/testDocs
WIP: Fix docs:verify in CI
2022-09-20 17:42:36 +02:00
Ashish Jain
a266a9c539 Merge pull request #3479 from elliot-nelson/enelson/git-cherry-pick-tag
feat(git): cherry-pick keyword supports tag attribute
2022-09-20 17:38:01 +02:00
Alois Klink
48d94568ce fix(git): fix cherry-pick regex parsing error
I forgot to escape the `-` character in a regex statement.

Fixes: 1527956669
2022-09-19 09:53:42 -07:00
Alois Klink
95d92999bb test(git): add basic parsing test for cherry-pick
Currently, cherry-pick in gitGraphs only has e2e tests,
no parsing unit tests.
2022-09-19 09:53:42 -07:00
ashishj
51a94e6904 Fixed Linting issues 2022-09-19 09:53:42 -07:00
ashishj
43954b9500 #3409 Fixed the truncated tags issue 2022-09-19 09:53:42 -07:00
weedySeaDragon
636ff1c868 chore: update browsers list 2022-09-19 07:19:25 +00:00
Sidharth Vinod
7bf877d820 fix jison generation 2022-09-19 12:49:24 +05:30
mmorel-35
8e3f9868eb chore: update browsers list 2022-09-19 07:18:46 +00:00
dependabot[bot]
e83c79a169 chore(deps-dev): bump @types/lodash from 4.14.184 to 4.14.185
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.14.184 to 4.14.185.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 07:05:12 +00:00
Knut Sveidqvist
a6b83c9742 Merge pull request #3480 from aloisklink/fix/broken-cherry-pick-parsing
Fix broken cherry-pick parsing in gitgraph
2022-09-19 08:31:55 +02:00
Knut Sveidqvist
7635db4c1e Merge pull request #3454 from mermaid-js/3409_Truncated_Tags
3409 Fix for truncated tags in GitGraph
2022-09-19 08:28:41 +02:00
Elliot Nelson
183fc35fea Support EMPTYSTR in jison parser, add unit tests for git graph parser 2022-09-19 00:04:23 -04:00
Elliot Nelson
9cbacb0159 Use undefined to mean default tagging behavior 2022-09-18 16:25:10 -04:00
Elliot Nelson
f37ac53118 Merge remote-tracking branch 'aloisklink/fix/broken-cherry-pick-parsing' into enelson/git-cherry-pick-tag 2022-09-18 16:21:53 -04:00
Elliot Nelson
4e4b5ccf8d feat(git): allow cherry-pick to suppress tag altogether 2022-09-18 09:22:35 -04:00
Elliot Nelson
4f96116c43 Update src/diagrams/git/parser/gitGraph.jison
Co-authored-by: Alois Klink <alois@aloisklink.com>
2022-09-18 08:59:47 -04:00
Alois Klink
aba458b832 fix(git): fix cherry-pick regex parsing error
I forgot to escape the `-` character in a regex statement.

Fixes: 1527956669
2022-09-18 07:00:55 +01:00
Alois Klink
c39a6f27d4 test(git): add basic parsing test for cherry-pick
Currently, cherry-pick in gitGraphs only has e2e tests,
no parsing unit tests.
2022-09-18 06:59:44 +01:00
Elliot Nelson
ae920eaa93 feat(git): cherry-pick keyword supports tag attribute 2022-09-17 23:57:32 -04:00
Alois Klink
5c8fda3891 ci(e2e-applitols): add applitools CI action
Adds a [`workflow_dispatch`][1] GitHub Actions CI workflow
that performs an E2E Cypress rendering test with Applitools
integration.

If the APPLITOOLS_API_KEY secret is not set, this action fallsback to
just doing a normal E2E Cypress test without Applitools support.

[1]: https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
2022-09-17 22:34:29 +01:00
Emerson Bottero
e1f399a06a Update integrations.md 2022-09-17 12:35:28 -03:00
Emerson Bottero
a481968ec1 Add vitepress pluin 2022-09-16 23:26:25 -03:00
Sidharth Vinod
c7ec44da09 Merge branch 'develop' into sidv/vite
* develop: (221 commits)
  cleanup
  Fix docs
  Fix coverage
  Fix for issues in errorhandling and class diagrams after refactoring
  Replace GoogleAnalytics with Plausible
  chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3444)
  chore(deps): bump stylis from 4.1.1 to 4.1.2 (#3439)
  chore(deps-dev): bump webpack-dev-server from 4.10.1 to 4.11.0 (#3450)
  fix(git): support single character branch names
  Cleanup unused variables and some commented out code
  Cleanup fixing som lingering issues
  Remove extension
  Apply suggestions from code review
  ci(e2e): re-enable e2e tests
  style: fix .github/workflow/e2e styling
  chore: upgrade cypress to v10
  fix(flowchart-v2): fix arrowMarkerAbsolute=true
  test(e2e): fix most arrowMarkerAbsolute tests
  text(e2e): give git tests consistent commit id
  test(e2e): widen flowchart width to within 10%
  ...
2022-09-16 23:41:46 +05:30
Sidharth Vinod
22dbe49945 Merge branch 'develop' into sidv/esbuildFail
* develop:
  cleanup
  Fix docs
  Fix coverage
  Fix for issues in errorhandling and class diagrams after refactoring
  Replace GoogleAnalytics with Plausible
  fix(git): support single character branch names
  Cleanup unused variables and some commented out code
  ci(e2e): re-enable e2e tests
  style: fix .github/workflow/e2e styling
  chore: upgrade cypress to v10
  fix(flowchart-v2): fix arrowMarkerAbsolute=true
  test(e2e): fix most arrowMarkerAbsolute tests
  text(e2e): give git tests consistent commit id
  test(e2e): widen flowchart width to within 10%
  test(e2e): fix failing xss9 test
2022-09-16 23:25:55 +05:30
Sidharth Vinod
25ed9063f2 Merge branch 'develop' into sidv/removeWebpackBabel
* develop: (77 commits)
  cleanup
  Fix docs
  Fix coverage
  Fix for issues in errorhandling and class diagrams after refactoring
  Replace GoogleAnalytics with Plausible
  chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3444)
  chore(deps): bump stylis from 4.1.1 to 4.1.2 (#3439)
  chore(deps-dev): bump webpack-dev-server from 4.10.1 to 4.11.0 (#3450)
  fix(git): support single character branch names
  Cleanup unused variables and some commented out code
  Cleanup fixing som lingering issues
  Remove extension
  Apply suggestions from code review
  ci(e2e): re-enable e2e tests
  style: fix .github/workflow/e2e styling
  chore: upgrade cypress to v10
  fix(flowchart-v2): fix arrowMarkerAbsolute=true
  test(e2e): fix most arrowMarkerAbsolute tests
  text(e2e): give git tests consistent commit id
  test(e2e): widen flowchart width to within 10%
  ...
2022-09-16 23:24:17 +05:30
Alois Klink
e8eb2ab03f Merge pull request #3459 from aloisklink/chore/update-cypress
Update Cypress to v10 and fix E2E errors
2022-09-16 17:32:10 +01:00
Sidharth Vinod
48fb5b3f28 Test docs:verify 2022-09-16 19:55:30 +05:30
Sidharth Vinod
27e40248ff Cleanup docs 2022-09-16 19:39:38 +05:30
Sidharth Vinod
98506d888c Fix lint 2022-09-16 18:45:12 +05:30
Sidharth Vinod
be7ab54a09 Fix lint 2022-09-16 18:42:15 +05:30
Sidharth Vinod
5a2ca03fff Merge branch 'sidv/esbuild' into sidv/vitest
* sidv/esbuild: (115 commits)
  cleanup
  Fix docs
  Fix coverage
  Fix for issues in errorhandling and class diagrams after refactoring
  Replace GoogleAnalytics with Plausible
  chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3444)
  chore(deps): bump stylis from 4.1.1 to 4.1.2 (#3439)
  chore(deps-dev): bump webpack-dev-server from 4.10.1 to 4.11.0 (#3450)
  fix(git): support single character branch names
  Cleanup unused variables and some commented out code
  Cleanup fixing som lingering issues
  Remove extension
  Apply suggestions from code review
  chore(deps-dev): bump eslint-plugin-jest from 27.0.1 to 27.0.4 (#3458)
  chore(deps-dev): bump @typescript-eslint/eslint-plugin (#3457)
  chore(deps-dev): bump concurrently from 7.3.0 to 7.4.0 (#3445)
  chore(deps-dev): bump @babel/preset-env from 7.18.10 to 7.19.0 (#3442)
  chore(deps-dev): bump @typescript-eslint/parser from 5.36.1 to 5.37.0 (#3451)
  chore(deps-dev): bump @babel/core from 7.18.13 to 7.19.0 (#3447)
  chore(deps-dev): bump jest-environment-jsdom from 29.0.2 to 29.0.3 (#3441)
  ...
2022-09-16 18:38:22 +05:30
Knut Sveidqvist
37eb0454fd Merge pull request #3386 from mermaid-js/sidv/esbuild
ESBuild
2022-09-16 15:01:39 +02:00
Sidharth Vinod
bb413d555e cleanup 2022-09-16 18:22:46 +05:30
Sidharth Vinod
2579bf1ad9 Merge branch 'develop' into sidv/esbuild
* develop:
  Fix docs
2022-09-16 18:16:45 +05:30
Sidharth Vinod
0605bce887 Fix docs 2022-09-16 18:12:52 +05:30
Sidharth Vinod
6452ccc220 Merge branch 'develop' into sidv/esbuild
* develop:
  Fix for issues in errorhandling and class diagrams after refactoring
2022-09-16 18:09:39 +05:30
Sidharth Vinod
2693c9b024 Fix coverage 2022-09-16 18:09:24 +05:30
Knut Sveidqvist
38d9795191 Merge pull request #3470 from mermaid-js/fix_for_error_handling
Fix for issues in errorhandling and class diagrams after refactoring
2022-09-16 14:13:07 +02:00
Knut Sveidqvist
9c88c785cb Fix for issues in errorhandling and class diagrams after refactoring 2022-09-16 14:05:15 +02:00
Sidharth Vinod
2f41013740 Merge branch 'develop' into sidv/esbuild
* develop:
  Replace GoogleAnalytics with Plausible
  fix(git): support single character branch names
  Cleanup unused variables and some commented out code
  Release 9.1.7
  Fix for broken rendering test
  Fix for issue #3428, load the configured diagrams even when initialize has not been called.
  #3395 Renabling the error graph which is rendered on error
  #3395 Fix for lopp stopping at first failure
2022-09-16 17:30:07 +05:30
Knut Sveidqvist
2d9f25b163 Merge pull request #3469 from mermaid-js/sidv/mergeRelease
Merge release 9.1.7
2022-09-16 11:22:35 +02:00
ashishj
4c5d813e58 Fixed Linting issues 2022-09-16 09:25:22 +02:00
Knut Sveidqvist
10d9b88965 Merge pull request #3466 from mermaid-js/sidv/removeGA
Replace GoogleAnalytics with Plausible
2022-09-16 08:54:38 +02:00
Knut Sveidqvist
207235ea83 Merge pull request #3464 from aloisklink/fix/3463-support-single-char-branch-names
fix(git): support single character branch names
2022-09-16 08:53:12 +02:00
Knut Sveidqvist
97ab62514c Merge pull request #3461 from mermaid-js/mindmap_warning
Cleanup unused variables and some commented out code
2022-09-16 08:44:01 +02:00
Sidharth Vinod
790922b938 Update mermaid version 2022-09-15 23:02:04 +05:30
Sidharth Vinod
08af10d439 Merge branch 'sidv/esbuild' into sidv/esbuildFail
* sidv/esbuild:
  chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3444)
  chore(deps): bump stylis from 4.1.1 to 4.1.2 (#3439)
  chore(deps-dev): bump webpack-dev-server from 4.10.1 to 4.11.0 (#3450)
  Cleanup fixing som lingering issues
  Apply suggestions from code review
  chore: fix eslint warnings
  chore: Turn off eslint rules in spec, demos, etc.
2022-09-15 23:01:24 +05:30
Sidharth Vinod
73d02b2582 Merge branch 'develop' into sidv/esbuild
* develop: (56 commits)
  chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3444)
  chore(deps): bump stylis from 4.1.1 to 4.1.2 (#3439)
  chore(deps-dev): bump webpack-dev-server from 4.10.1 to 4.11.0 (#3450)
  Cleanup fixing som lingering issues
  Apply suggestions from code review
  chore(deps-dev): bump eslint-plugin-jest from 27.0.1 to 27.0.4 (#3458)
  chore(deps-dev): bump @typescript-eslint/eslint-plugin (#3457)
  chore(deps-dev): bump concurrently from 7.3.0 to 7.4.0 (#3445)
  chore(deps-dev): bump @babel/preset-env from 7.18.10 to 7.19.0 (#3442)
  chore(deps-dev): bump @typescript-eslint/parser from 5.36.1 to 5.37.0 (#3451)
  chore(deps-dev): bump @babel/core from 7.18.13 to 7.19.0 (#3447)
  chore(deps-dev): bump jest-environment-jsdom from 29.0.2 to 29.0.3 (#3441)
  chore(deps-dev): bump babel-jest from 29.0.2 to 29.0.3 (#3448)
  chore(deps-dev): bump eslint from 8.23.0 to 8.23.1
  chore: fix eslint warnings
  chore: Turn off eslint rules in spec, demos, etc.
  chore(deps-dev): bump typescript from 4.8.2 to 4.8.3 (#3446)
  chore(deps): bump actions/checkout from 2 to 3 (#3449)
  change wording of console log message (use comma)
  Moving out tests from mermaid.spec.js
  ...
2022-09-15 23:00:24 +05:30
Sidharth Vinod
5c2a45cd4d Replace GoogleAnalytics with Plausible 2022-09-15 17:48:00 +05:30
dependabot[bot]
064c3134e5 chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3444)
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.10 to 2.4.0.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.3.10...2.4.0)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-15 07:42:28 +02:00
dependabot[bot]
6340c157e8 chore(deps): bump stylis from 4.1.1 to 4.1.2 (#3439)
Bumps [stylis](https://github.com/thysultan/stylis.js) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/thysultan/stylis.js/releases)
- [Commits](https://github.com/thysultan/stylis.js/compare/v4.1.1...v4.1.2)

---
updated-dependencies:
- dependency-name: stylis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-15 07:42:13 +02:00
dependabot[bot]
e9239f83e9 chore(deps-dev): bump webpack-dev-server from 4.10.1 to 4.11.0 (#3450)
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.10.1 to 4.11.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.10.1...v4.11.0)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Tested-by: Alois Klink <19716675+aloisklink@users.noreply.github.com>
2022-09-15 01:55:27 +01:00
Alois Klink
59c69600e8 fix(git): support single character branch names
In gitGraph, add support branch names that only have a single
character.

The branch regex is checking for a starting character, and an
ending character, so it currently needs at least two characters.

I've wrapped everything except the first character in a `()?` to fix
this.

There are some really complicated regexes that do match what
valid git branches are (see https://stackoverflow.com/a/12093994), but
I'm reluctant to add them in, since it will be a pain to test all
the different edgecases.

Hopefully https://github.com/mermaid-js/mermaid/pull/3432 might be used
in the future to make a better gitgraph parser!
2022-09-15 01:05:11 +01:00
Knut Sveidqvist
0ec7e006ec Cleanup unused variables and some commented out code 2022-09-14 11:11:51 +02:00
Sidharth Vinod
811f838a2d Fix ports 2022-09-14 14:33:38 +05:30
Knut Sveidqvist
9acdc0bc2e Cleanup fixing som lingering issues 2022-09-14 10:58:59 +02:00
Knut Sveidqvist
ac788a7e7d Merge pull request #3453 from mermaid-js/sidv/cleanup
Cleanup & fix eslint warnings
2022-09-14 10:35:16 +02:00
Sidharth Vinod
b4af820ed1 Fix mjs resolution 2022-09-14 12:04:22 +05:30
Sidharth Vinod
ac629c91d6 Fix import errors 2022-09-14 12:01:47 +05:30
Sidharth Vinod
bb413e0022 Merge branch 'sidv/esbuild' into sidv/esbuildFail
* sidv/esbuild:
  Remove extension
2022-09-14 11:36:20 +05:30
Sidharth Vinod
a7fa40ecda Remove extension 2022-09-14 11:35:49 +05:30
Sidharth Vinod
d83c9f5a70 Merge branch 'sidv/mergeRelease' into sidv/esbuildFail
* sidv/mergeRelease:
  chore(deps-dev): bump eslint-plugin-jest from 27.0.1 to 27.0.4 (#3458)
  chore(deps-dev): bump @typescript-eslint/eslint-plugin (#3457)
  chore(deps-dev): bump concurrently from 7.3.0 to 7.4.0 (#3445)
  chore(deps-dev): bump @babel/preset-env from 7.18.10 to 7.19.0 (#3442)
  chore(deps-dev): bump @typescript-eslint/parser from 5.36.1 to 5.37.0 (#3451)
  chore(deps-dev): bump @babel/core from 7.18.13 to 7.19.0 (#3447)
  chore(deps-dev): bump jest-environment-jsdom from 29.0.2 to 29.0.3 (#3441)
  chore(deps-dev): bump babel-jest from 29.0.2 to 29.0.3 (#3448)
  chore(deps-dev): bump eslint from 8.23.0 to 8.23.1
  Release 9.1.7
  Fix for broken rendering test
  Fix for issue #3428, load the configured diagrams even when initialize has not been called.
2022-09-14 11:14:23 +05:30
Sidharth Vinod
539ee49594 Merge remote-tracking branch 'origin/release/9.1.7' into sidv/mergeRelease
* origin/release/9.1.7:
  Release 9.1.7
  Fix for broken rendering test
  Fix for issue #3428, load the configured diagrams even when initialize has not been called.
2022-09-14 11:11:12 +05:30
Sidharth Vinod
3dff5a90f1 Apply suggestions from code review
Co-authored-by: Alois Klink <alois@aloisklink.com>
2022-09-14 09:02:34 +05:30
Alois Klink
20d22a6468 ci(e2e): re-enable e2e tests
I've removed the coverage upload bit, since although the
[@cypress/code-coverage][1] plugin is pretty easy to setup,
it requires babel, which we're about to remove and replace
with ESBuild.
2022-09-14 04:15:52 +01:00
Alois Klink
c5033b92b4 style: fix .github/workflow/e2e styling
Uses prettier to fix e2e style issues.
2022-09-14 04:15:52 +01:00
Alois Klink
625ec813b9 chore: upgrade cypress to v10
Cypress v10 had some minor breaking changes,
(e.g. the cypress/plugins folder dissapeared)
so I had to change some things.

It looks like the Cypress was previously reverted in [dee9cfe][1],
due to applitools not working properly,
but I think my changes fix this, so it should be okay.

[1]: dee9cfea85
2022-09-14 04:15:52 +01:00
Alois Klink
595f7680e9 fix(flowchart-v2): fix arrowMarkerAbsolute=true
The if-check for arrowMarkerAbsolute in the flowchart-v2 code is in
dagre-wrapper. Unfortunately, I can't seem to find a way to find the
local conf (e.g. the one set via `flowRenderer.setConf()`, so instead
I'm using global mermaid config from `src/config`.

Flowchart v1 arrowMarkerAbsolute=true is still broken, but I'm not
really sure how to fix that.
2022-09-14 04:15:52 +01:00
Alois Klink
6e7037bafd test(e2e): fix most arrowMarkerAbsolute tests
The arrows between flowcharts do not have the class edgePath.

Instead, I'm loading all `<path>`s within the `<g class='edgePaths'>`
2022-09-14 04:15:52 +01:00
Alois Klink
a25c9a30d0 text(e2e): give git tests consistent commit id
gitGraph render tests are currently using random commit ids,
which causes visual regression tests to fail.

I couldn't find a way to make the random commit IDs consistent
(JavaScript/Cypress doesn't seem to have a random.seed() function),
so I've just hardcoded all the commit ids.
2022-09-14 04:15:52 +01:00
Alois Klink
05b8a6e77f test(e2e): widen flowchart width to within 10%
Widen flowchart width acceptable values to within 10% of 300px.
On my local environment, I'm getting 283px, which is 5.5% of 300px.
2022-09-14 04:15:52 +01:00
Alois Klink
f05c790248 test(e2e): fix failing xss9 test
Fixes xx9 test to continue running even if JavaScript throws an
exception.
2022-09-14 04:15:52 +01:00
dependabot[bot]
5c51ce1393 chore(deps-dev): bump eslint-plugin-jest from 27.0.1 to 27.0.4 (#3458) 2022-09-13 20:59:12 +00:00
dependabot[bot]
13809b5025 chore(deps-dev): bump @typescript-eslint/eslint-plugin (#3457) 2022-09-13 20:51:35 +00:00
dependabot[bot]
3cc898ca4c chore(deps-dev): bump concurrently from 7.3.0 to 7.4.0 (#3445) 2022-09-13 20:49:43 +00:00
dependabot[bot]
9394abce22 chore(deps-dev): bump @babel/preset-env from 7.18.10 to 7.19.0 (#3442)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.18.10 to 7.19.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.0/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 21:45:25 +01:00
dependabot[bot]
6312eb9dcf chore(deps-dev): bump @typescript-eslint/parser from 5.36.1 to 5.37.0 (#3451)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.36.1 to 5.37.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.37.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 21:39:53 +01:00
dependabot[bot]
c636b873e9 chore(deps-dev): bump @babel/core from 7.18.13 to 7.19.0 (#3447) 2022-09-13 18:42:54 +00:00
dependabot[bot]
ff971c8300 chore(deps-dev): bump jest-environment-jsdom from 29.0.2 to 29.0.3 (#3441)
Bumps [jest-environment-jsdom](https://github.com/facebook/jest/tree/HEAD/packages/jest-environment-jsdom) from 29.0.2 to 29.0.3.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.0.3/packages/jest-environment-jsdom)

---
updated-dependencies:
- dependency-name: jest-environment-jsdom
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 19:19:54 +01:00
dependabot[bot]
0c0d37efb2 chore(deps-dev): bump babel-jest from 29.0.2 to 29.0.3 (#3448)
Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 29.0.2 to 29.0.3.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.0.3/packages/babel-jest)

---
updated-dependencies:
- dependency-name: babel-jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-13 19:17:49 +01:00
dependabot[bot]
39081b6bfb chore(deps-dev): bump eslint from 8.23.0 to 8.23.1
Bumps [eslint](https://github.com/eslint/eslint) from 8.23.0 to 8.23.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.23.0...v8.23.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-13 19:12:12 +01:00
Knut Sveidqvist
0c0468123f Release 9.1.7 2022-09-13 19:55:34 +02:00
ashishj
50da58afe0 Fix for broken rendering test 2022-09-13 19:18:12 +02:00
ashishj
8c4808a681 #3409 Clean up dead code 2022-09-13 18:27:25 +02:00
ashishj
d60ce53e05 #3409 Fixed the truncated tags issue 2022-09-13 18:23:24 +02:00
Sidharth Vinod
4fc4d71350 chore: fix eslint warnings 2022-09-13 21:39:58 +05:30
Sidharth Vinod
b5dcb4f345 chore: Turn off eslint rules in spec, demos, etc. 2022-09-13 21:39:19 +05:30
Sidharth Vinod
a7f0b2ba21 Merge branch 'develop' into sidv/esbuildFail
* develop: (40 commits)
  chore(deps-dev): bump typescript from 4.8.2 to 4.8.3 (#3446)
  chore(deps): bump actions/checkout from 2 to 3 (#3449)
  change wording of console log message (use comma)
  Moving out tests from mermaid.spec.js
  Fix for issue with setting the loglevel via numbers
  chore: update browsers list
  Limiting the interaction between the mermaid diagram and Mermaid to the diagramAPI
  Fix for broken tests
  chore(docs): Remove edit this page
  fix(git): support unusual prefixes in branch name
  formatting
  eslint fixes
  Creating detectors and moving out diagram specific code from the diagramAPI
  add eslint-disable no-console for file
  fix: Run precommit hook for doc.mts changes too
  chore: Updated doc files
  fix: Formatting issue
  (formatting only) sort imports just to force a new CI lint check
  ci: re-enable coveralls coverage upload
  build(dev-deps): remove unused `coveralls`
  ...
2022-09-13 15:59:18 +05:30
Sidharth Vinod
c5bba0b153 fix: conflict 2022-09-13 15:57:42 +05:30
Sidharth Vinod
94868e48cb ESM test 2022-09-13 12:46:29 +05:30
Sidharth Vinod
e7ac2368c3 Add local jison linting 2022-09-13 12:46:14 +05:30
Sidharth Vinod
bbaf2c2f20 chore: cleanup 2022-09-13 11:32:39 +05:30
Sidharth Vinod
ecd175dd38 chore: Remove webpack & babel dependencies 2022-09-13 11:31:42 +05:30
Sidharth Vinod
5434cfc89d feat: Remove webpack 2022-09-13 11:26:44 +05:30
Sidharth Vinod
a87abc00c6 Add diagramAPI to outfile 2022-09-13 11:25:14 +05:30
dependabot[bot]
3d32280c49 chore(deps-dev): bump typescript from 4.8.2 to 4.8.3 (#3446)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.2 to 4.8.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.2...v4.8.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 19:30:43 +02:00
dependabot[bot]
07638f5505 chore(deps): bump actions/checkout from 2 to 3 (#3449)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 19:27:45 +02:00
Knut Sveidqvist
73620ebee9 Merge pull request #3431 from aloisklink/other/re-enable-coverage
Re-enable coverage upload to coveralls
2022-09-12 19:04:54 +02:00
Sidharth Vinod
8b534440a0 Merge pull request #3420 from weedySeaDragon/docs/3418_auto_generated_comment_html_files
Docs: add '..auto generated..' to .html documentation files
2022-09-12 21:52:40 +05:30
Ashley Engelund
7f56112f8e change wording of console log message (use comma)
Co-authored-by: Sidharth Vinod <sidharthv96@gmail.com>
2022-09-12 09:17:40 -07:00
Knut Sveidqvist
0edc2751f3 Merge pull request #3436 from mermaid-js/3061_decoupling
Creating detectors and moving out diagram specific code from the diag…
2022-09-12 12:56:55 +02:00
Knut Sveidqvist
06365faef3 Moving out tests from mermaid.spec.js 2022-09-12 11:24:58 +02:00
Knut Sveidqvist
885e69c809 Fix for issue with setting the loglevel via numbers 2022-09-12 10:53:45 +02:00
Knut Sveidqvist
9ef50d7a93 Merge branch 'develop' into 3061_decoupling 2022-09-12 10:47:45 +02:00
mmorel-35
ca5fbb7fa8 chore: update browsers list 2022-09-12 07:20:57 +00:00
Knut Sveidqvist
7a8a9ca5b0 Merge pull request #3438 from aloisklink/fix/3362_support-branch-names-that-start-with-branch
fix(git): support unusual prefixes in branch name
2022-09-12 08:55:19 +02:00
Knut Sveidqvist
9e5e7b31e9 Limiting the interaction between the mermaid diagram and Mermaid to the diagramAPI 2022-09-12 08:51:52 +02:00
Sidharth Vinod
d8735060dc Disable minimization on non min files. 2022-09-12 11:55:40 +05:30
Sidharth Vinod
681f4bb803 Keep webpack as default build option 2022-09-12 11:41:50 +05:30
Sidharth Vinod
e740325d84 Unify webpack build 2022-09-12 11:41:26 +05:30
Knut Sveidqvist
213309f5e2 Fix for broken tests 2022-09-12 07:41:56 +02:00
Sidharth Vinod
a3bda3c559 Merge pull request #3437 from aloisklink/esbuild-backwards-compatible-core-js
Esbuild: backwards-compatible `mermaid.core.mjs`
2022-09-12 10:55:38 +05:30
Sidharth Vinod
bfa69aa084 chore(docs): Remove edit this page 2022-09-12 10:55:13 +05:30
Alois Klink
3f76eb0ac2 docs: update mermaid.core.* JSDoc
Fix typo and add that `mermaid.core.*` is compatible with Vite.
2022-09-12 06:21:57 +01:00
Sidharth Vinod
0e504f30b9 Merge branch 'develop' into sidv/esbuild
* develop:
  Suppress errors
  Introduce stricter linting
  Introduce stricter linting
2022-09-12 09:49:31 +05:30
Alois Klink
1527956669 fix(git): support unusual prefixes in branch name
jison throws an error if a branch name starts with an unusual prefix.

For example, a branch named `branch/test-branch` will throw a
parse error, since jison thinks it's a `branch` command, and not
a branch id.

An easy fix is to use the `(?=\s|$)` regex to ensure that only
'branch ' or 'branch\n' will be parsed as the branch command.

Fixes: https://github.com/mermaid-js/mermaid/issues/3362
2022-09-11 22:52:02 +01:00
Ashley Engelund (weedySeaDragon @ github)
9cc7da09fc formatting 2022-09-11 14:10:34 -07:00
Alois Klink
5554725f63 build: change package export to mermaid.core.mjs
`mermaid.core.mjs` should be the default export.
This is because it does not bundle `node_modules/`, allowing users of
mermaid to bundle dependencies themselves,
using Webpack/ESBuild/others.
2022-09-11 21:56:32 +01:00
Alois Klink
37aaca0090 build: convert core build to unbundled ESM
The `mermaid.core.js` build was previously a UMD build that did not
have `node_modules` bundled.

This was designed for users to add `mermaid` to their own apps,
then bundle with Webpack/ESBuild.
Hence the bundle test in `cypress/platform/bundle-test.js`.

As ESBuild does not support UMD, I've switched the `mermaid.core.js`
to instead use ESM, as Mermaid now requires ESM
(due to d3 requiring ESM). All modern bundlers also support ESM.
2022-09-11 21:56:30 +01:00
Alois Klink
48a899f7a9 build: remove main function from .jison files
When converting a `.jison` file into a CommonJS module,
jison by default adds a main() function that calls `require("fs");`

Even though the main function is never used in the browser,
because `fs` is a Node.JS only module, this causes some esbuild issues.

To disable this, we can just set an empty main to the jison generator.
2022-09-11 21:56:26 +01:00
Ashley Engelund (weedySeaDragon @ github)
6ad9208119 eslint fixes 2022-09-11 11:37:23 -07:00
Knut Sveidqvist
fc9d22562b Creating detectors and moving out diagram specific code from the diagramAPI 2022-09-10 15:53:50 +02:00
Ashley Engelund (weedySeaDragon @ github)
ad56a22277 Merge remote-tracking branch 'MERMAID/develop' into docs/3418_auto_generated_comment_html_files
# Conflicts:
#	src/docs.mts
2022-09-09 18:48:21 -07:00
Ashley Engelund (weedySeaDragon @ github)
8ca91d6303 add eslint-disable no-console for file 2022-09-09 18:32:26 -07:00
Sidharth Vinod
9d0901801b Suppress errors 2022-09-09 18:26:57 +05:30
Knut Sveidqvist
f63acea34a Merge pull request #3393 from mermaid-js/sidv/typescript
Introduce stricter typescript linting
2022-09-09 14:51:33 +02:00
Sidharth Vinod
5a1e3ed5c6 Merge branch 'develop' into sidv/typescript
* develop: (67 commits)
  fix: Tsconfig
  Update prettier
  chore: Run postbuild with prepare
  (formatting) prettier fix
  Removed warnings in the grammar oand some console logging
  ci: lint .jison files for any console.log()
  fix JSDOC @param, @returns; fixed a few minor typos in comments
  unmangle sentence about doc changes committed and showing up on docsify site
  change references from /docs to /src/docs; rework doc section in CONTRIBUTING
  Update after lint comments
  Regenerate the directive docs as I changed them
  chore(deps-dev): bump typescript from 4.7.4 to 4.8.2
  Update duplicate copy pasted directive description
  chore(deps-dev): bump @types/dompurify from 2.3.3 to 2.3.4
  chore(deps-dev): bump jest-environment-jsdom from 29.0.1 to 29.0.2
  chore(deps-dev): bump babel-jest from 29.0.1 to 29.0.2
  Lint fixes
  Removing requirement to add ids for nodes with a shape
  #3336 Merged typescript changes
  Merged typescript changes
  ...
2022-09-09 18:12:41 +05:30
Sidharth Vinod
5148acb20f Specify iife format 2022-09-09 17:49:11 +05:30
Sidharth Vinod
c8d3c3ac4f Correct name umd -> iife 2022-09-09 17:48:09 +05:30
Sidharth Vinod
1029ce4527 fix: Add .core build. 2022-09-09 17:32:13 +05:30
Knut Sveidqvist
0f56c9a85d Fix for issue #3428, load the configured diagrams even when initialize has not been called. 2022-09-09 13:37:37 +02:00
Knut Sveidqvist
ffcb73ad5f Merge pull request #3434 from mermaid-js/sidv/memoize
Fix memoize
2022-09-09 13:34:31 +02:00
Sidharth Vinod
d2e7b1e56f fix: Support treeshaking 2022-09-09 16:58:48 +05:30
Sidharth Vinod
b1770d3d06 Merge branch 'sidv/esbuild' into sidv/memoize
* sidv/esbuild:
2022-09-09 16:37:29 +05:30
Sidharth Vinod
8e2287a86d Merge branch 'develop' into sidv/esbuild
* develop: (22 commits)
  fix: Tsconfig
  ci: lint .jison files for any console.log()
  refactor: remove `console.log` in c4Diagram.jison
  style: forbid using `console` in mermaid src code
  Add tests for other boundary properties
  Add first test for Boundary
  Test all different types of systems
  Introduce shape list in test
  Add tests for C4 System
  Make test grouping more explicit
  Copy tests from Person to PersonExt
  Add test for link to Person_Ext
  Add question on Person_Ext
  Add test for structure of Person_Ext
  Add test for alias
  Add test for label
  Add test for description
  Add test for $tags
  Add test for $link
  Add test for $sprite
  ...
2022-09-09 16:36:46 +05:30
Sidharth Vinod
5aae45dc97 fix: Use lodash memoize 2022-09-09 16:34:57 +05:30
Sidharth Vinod
1c6328cc1b Merge branch 'develop' into sidv/memoize
* develop: (22 commits)
  fix: Tsconfig
  ci: lint .jison files for any console.log()
  refactor: remove `console.log` in c4Diagram.jison
  style: forbid using `console` in mermaid src code
  Add tests for other boundary properties
  Add first test for Boundary
  Test all different types of systems
  Introduce shape list in test
  Add tests for C4 System
  Make test grouping more explicit
  Copy tests from Person to PersonExt
  Add test for link to Person_Ext
  Add question on Person_Ext
  Add test for structure of Person_Ext
  Add test for alias
  Add test for label
  Add test for description
  Add test for $tags
  Add test for $link
  Add test for $sprite
  ...
2022-09-09 16:02:37 +05:30
Sidharth Vinod
8a476f882d Remove native memoize 2022-09-09 16:02:26 +05:30
Knut Sveidqvist
d78adc6fb9 Merge pull request #3367 from dbartholomae/add_tests_for_C4_system_context_macros
Add tests for C4 system context macros
2022-09-09 09:35:51 +02:00
Sidharth Vinod
2611a430b9 Merge pull request #3405 from aloisklink/other/3339_forbid-console-in-src-code
style: forbid using `console` in mermaid src code
2022-09-09 08:32:55 +05:30
Sidharth Vinod
f8eaccb4c1 fix: Run precommit hook for doc.mts changes too 2022-09-08 21:54:51 +05:30
Sidharth Vinod
b0559df903 chore: Updated doc files 2022-09-08 21:52:41 +05:30
Sidharth Vinod
2826bf6823 fix: Formatting issue 2022-09-08 21:51:42 +05:30
Ashley Engelund (weedySeaDragon @ github)
9acf63f7d6 (formatting only) sort imports just to force a new CI lint check 2022-09-08 07:44:36 -07:00
Alois Klink
5d72585705 ci: re-enable coveralls coverage upload
Reverts commits:
  - Disabling coveralls temporarilly
    aedf066337
  - Tmo disabling of coveralls
    a6b4cb24b8

I'm not 100% sure whether the `parallel` option is needed,
but I've left it disabled for now, since it'd would mean that we need
to merge both the `test.yml` and the `e2e.yml` file together.
2022-09-08 04:03:57 +01:00
Alois Klink
b760e717d0 build(dev-deps): remove unused coveralls
This devDependency is currently unused, and seems to have been unused
for a while.
2022-09-08 03:39:27 +01:00
Alois Klink
fe8f52fb1b test: disable coverage for .jison files
Coverage for `.jison` files doesn't make sense, since most of the
created JS lines are auto-generated.

If jison ever adds a source-map feature, we can renable coverage for
jison.
2022-09-08 03:35:50 +01:00
Ashley Engelund (weedySeaDragon @ github)
fd567f833e (minor) clarify var names (file -> filename); comments 2022-09-07 14:15:54 -07:00
Ashley Engelund (weedySeaDragon @ github)
6376c9ae43 switch order of params so the last one can be omitted 2022-09-07 14:15:09 -07:00
Ashley Engelund (weedySeaDragon @ github)
48b0076ea5 Merge remote-tracking branch 'MERMAID/develop' into docs/3418_auto_generated_comment_html_files 2022-09-07 14:04:56 -07:00
Sidharth Vinod
a800cb6fe6 Update prettier 2022-09-07 14:04:35 -07:00
Sidharth Vinod
5f81e3d5ed chore: Run postbuild with prepare
As postbuild was not running with prepare, PR that updated `documentation` package was green,  although it should've failed.
2022-09-07 14:04:35 -07:00
Ashley Engelund (weedySeaDragon @ github)
e690da638d (formatting) prettier fix 2022-09-07 14:04:35 -07:00
Ashley Engelund (weedySeaDragon @ github)
be28160a4a unmangle sentence about doc changes committed and showing up on docsify site 2022-09-07 14:04:35 -07:00
Ashley Engelund (weedySeaDragon @ github)
d18624bbe9 change references from /docs to /src/docs; rework doc section in CONTRIBUTING 2022-09-07 14:04:35 -07:00
Ashley Engelund (weedySeaDragon @ github)
7fe8f260fc minor cleanup, clarify var names, add @todos 2022-09-07 14:04:35 -07:00
Ashley Engelund (weedySeaDragon @ github)
73abcd869c fix: also check other files 2022-09-07 14:04:35 -07:00
Ashley Engelund (weedySeaDragon @ github)
d0074356e9 fix: cannot use __dirname with .mts and latest Node 2022-09-07 14:04:35 -07:00
Alois Klink
6e81ee9d97 Merge branch 'develop' into other/3339_forbid-console-in-src-code
Fixes merge conflict in:
  - .eslintrc.json due to 6167eda6b6
  - lint.yml due to 5674f8e675
2022-09-07 21:00:42 +01:00
Sidharth Vinod
3986f48199 fix: Tsconfig 2022-09-08 00:34:52 +05:30
Ashley Engelund (weedySeaDragon @ github)
c6ce5a80fa fix: pass in doCopy param 2022-09-07 11:00:59 -07:00
Sidharth Vinod
056d5200c6 Fix postbuild 2022-09-07 21:06:35 +05:30
Ashley Engelund (weedySeaDragon @ github)
411d641aa2 simplfy method to copy transformation to /docs; extract logging
Extract the logging so that it if later we want to turn it on/off with a --verbose flag
2022-09-07 08:35:51 -07:00
Sidharth Vinod
86cbf85358 Merge branch 'develop' into sidv/esbuild
* develop:
  Update prettier
  chore: Run postbuild with prepare
  (formatting) prettier fix
  Removed warnings in the grammar oand some console logging
  unmangle sentence about doc changes committed and showing up on docsify site
  change references from /docs to /src/docs; rework doc section in CONTRIBUTING
2022-09-07 21:03:07 +05:30
Ashley Engelund (weedySeaDragon @ github)
a878edfb9b add and use constants; DRY glob patterns in main 2022-09-07 08:32:52 -07:00
Ashley Engelund (weedySeaDragon @ github)
1a0fe0abf6 (comments only) reword main docblock; clarify other comments; grammar etc. fixes 2022-09-07 08:30:13 -07:00
Sidharth Vinod
e310af7673 Update prettier 2022-09-07 20:54:19 +05:30
Sidharth Vinod
bb2002fce2 chore: Run postbuild with prepare
As postbuild was not running with prepare, PR that updated `documentation` package was green,  although it should've failed.
2022-09-07 20:51:46 +05:30
Sidharth Vinod
24bd55c360 Merge pull request #3419 from weedySeaDragon/docs/bug-3417-change_src_docs_only
Docs/bug 3417
2022-09-07 20:41:57 +05:30
Ashley Engelund (weedySeaDragon @ github)
b534a5c2ff Merge remote-tracking branch 'MERMAID/develop' into docs/3418_auto_generated_comment_html_files 2022-09-07 06:52:02 -07:00
Ashley Engelund (weedySeaDragon @ github)
04a25092f4 (formatting) prettier fix 2022-09-07 06:40:26 -07:00
Ashley Engelund (weedySeaDragon @ github)
b7cf7beb22 Merge remote-tracking branch 'MERMAID/develop' into docs/bug-3417-change_src_docs_only 2022-09-07 06:36:13 -07:00
Sidharth Vinod
407927c8ec Fix test 2022-09-07 18:04:43 +05:30
Knut Sveidqvist
c50a7533f6 Removed warnings in the grammar oand some console logging 2022-09-07 12:38:26 +02:00
Sidharth Vinod
5905787bea Fix tsconfig 2022-09-07 13:43:29 +05:30
Sidharth Vinod
a61d95a005 Add doc 2022-09-07 13:42:39 +05:30
Sidharth Vinod
18201d326c Fix formatting 2022-09-07 13:39:36 +05:30
Sidharth Vinod
c7ba253e7c Cleanup 2022-09-07 13:34:56 +05:30
Sidharth Vinod
f27dff2186 Trim down vite config 2022-09-07 12:52:48 +05:30
Sidharth Vinod
0ee0862fae Add coverage 2022-09-07 12:47:39 +05:30
Sidharth Vinod
d2df7173e3 Merge branch 'sidv/esbuild' into sidv/vitest
* sidv/esbuild:
  Fix doc formatting
  Fix mermaidAPI mock
2022-09-07 12:06:51 +05:30
Sidharth Vinod
a61c17c1a9 Fix doc formatting 2022-09-07 12:02:59 +05:30
Sidharth Vinod
853b676d48 Merge branch 'develop' into sidv/esbuild
* develop: (37 commits)
  fix JSDOC @param, @returns; fixed a few minor typos in comments
  Update after lint comments
  Regenerate the directive docs as I changed them
  chore(deps-dev): bump typescript from 4.7.4 to 4.8.2
  Update duplicate copy pasted directive description
  chore(deps-dev): bump babel-jest from 29.0.1 to 29.0.2
  Lint fixes
  Removing requirement to add ids for nodes with a shape
  Merged typescript changes
  Updated with cloud and bang shapes
  Adding cloud and bang shapes
  fix(git): support numeric branch names
  Fix for unit tests after refactoring
  Documenting classes and icons
  Startingpoint for the documentation
  Some theming/styling fixes
  Adding some rendering tests
  ...
2022-09-07 11:57:33 +05:30
Sidharth Vinod
51dbdb933c Fix mermaidAPI mock
Co-authored-by: Alois Klink <alois@aloisklink.com>
2022-09-07 11:56:31 +05:30
Sidharth Vinod
766e111ac1 Fix mindmap import 2022-09-07 11:27:20 +05:30
Sidharth Vinod
004ea9872b Merge branch 'develop' into sidv/vitest
* develop: (37 commits)
  fix JSDOC @param, @returns; fixed a few minor typos in comments
  Update after lint comments
  Regenerate the directive docs as I changed them
  chore(deps-dev): bump typescript from 4.7.4 to 4.8.2
  Update duplicate copy pasted directive description
  chore(deps-dev): bump babel-jest from 29.0.1 to 29.0.2
  Lint fixes
  Removing requirement to add ids for nodes with a shape
  Merged typescript changes
  Updated with cloud and bang shapes
  Adding cloud and bang shapes
  fix(git): support numeric branch names
  Fix for unit tests after refactoring
  Documenting classes and icons
  Startingpoint for the documentation
  Some theming/styling fixes
  Adding some rendering tests
  ...
2022-09-07 11:25:39 +05:30
Sidharth Vinod
bf4607cf08 test: Migrate to vitest from jest 2022-09-07 11:24:40 +05:30
Sidharth Vinod
3a179170bb Surface jison errors
Co-authored-by: Alois Klink <alois@aloisklink.com>
2022-09-06 20:23:46 +05:30
Sidharth Vinod
c0dd6f9e35 Merge pull request #3422 from weedySeaDragon/chore/3421_fix_jsdoc_lint_errors
chore: fix JSDOC @param, @returns lint errors
2022-09-06 15:16:45 +05:30
Ashley Engelund (weedySeaDragon @ github)
0832b24d66 use single quotes; use const instead of let (2); use const instead of function 2022-09-05 23:43:57 -07:00
Knut Sveidqvist
97ed63de5a Merge pull request #3392 from aloisklink/fix/3347_support_branch_names_that_start_with_numbers
fix(git): support numeric branch names
2022-09-06 06:49:53 +02:00
Alois Klink
22d20cc76e ci: lint .jison files for any console.log()
Converts the *.jison files into .js, then lints them using just
the `no-console` rule.

To keep things simple, I've just made this run only on CI.

If we want to do more complex linting on `*.jison` files, it might
be worth making an `eslint-plugin-jison`, so that we can directly
parse jison in ESLint.
2022-09-06 04:29:09 +01:00
Ashley Engelund (weedySeaDragon @ github)
91363f7aed fix JSDOC @param, @returns; fixed a few minor typos in comments 2022-09-05 19:45:33 -07:00
Ashley Engelund (weedySeaDragon @ github)
6554a41f6d transform HTML (insert comment); add console msgs and clarify; add file doc 2022-09-05 18:39:36 -07:00
Ashley Engelund (weedySeaDragon @ github)
d38f0e9e03 adjust console log message if only verifying, if copied actually happened 2022-09-05 18:36:17 -07:00
Ashley Engelund (weedySeaDragon @ github)
703b7eb91d rename vars so intent is clearer, add doc, use constants 2022-09-05 18:33:17 -07:00
Ashley Engelund (weedySeaDragon @ github)
0c85e8ee53 eslint (mostly use double quotes) 2022-09-05 18:27:58 -07:00
Ashley Engelund (weedySeaDragon @ github)
aa42aabb30 unmangle sentence about doc changes committed and showing up on docsify site 2022-09-05 17:01:03 -07:00
Ashley Engelund (weedySeaDragon @ github)
0780668239 change references from /docs to /src/docs; rework doc section in CONTRIBUTING 2022-09-05 16:54:31 -07:00
Ashish Jain
7e68e06a3a Merge pull request #3410 from mermaid-js/minmaps
Mindmaps
2022-09-05 20:54:00 +02:00
Knut Sveidqvist
030cbb1acb Update after lint comments 2022-09-05 20:40:12 +02:00
Knut Sveidqvist
1ccd3183c4 Merge branch 'develop' into minmaps 2022-09-05 20:14:23 +02:00
Sidharth Vinod
5a44b7341c Merge pull request #3412 from mermaid-js/dependabot/npm_and_yarn/develop/babel-jest-29.0.2
chore(deps-dev): bump babel-jest from 29.0.1 to 29.0.2
2022-09-05 23:41:37 +05:30
Sidharth Vinod
bd5933a65b Merge pull request #3415 from mrmanc/feature/fix_directive_docs_copy_paste
Update duplicate copy pasted directive description
2022-09-05 23:35:06 +05:30
Sidharth Vinod
7b60ac1735 Merge pull request #3411 from mermaid-js/dependabot/npm_and_yarn/develop/typescript-4.8.2
chore(deps-dev): bump typescript from 4.7.4 to 4.8.2
2022-09-05 23:33:24 +05:30
Mark Crossfield
0aacc67b7a Regenerate the directive docs as I changed them 2022-09-05 17:58:04 +01:00
dependabot[bot]
4d523112d4 chore(deps-dev): bump typescript from 4.7.4 to 4.8.2
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.7.4 to 4.8.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.7.4...v4.8.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 16:50:16 +00:00
Sidharth Vinod
a0fa8df0f1 Merge branch 'develop' into sidv/esbuild
* develop:
  chore(deps-dev): bump @types/dompurify from 2.3.3 to 2.3.4
  chore(deps-dev): bump jest-environment-jsdom from 29.0.1 to 29.0.2
2022-09-05 22:07:37 +05:30
Mark Crossfield
818195f2e4 Update duplicate copy pasted directive description
Looked like the description for changing the theme via a directive had been copied to a couple of other use cases.
2022-09-05 17:24:34 +01:00
Sidharth Vinod
8020ab9f78 Merge pull request #3413 from mermaid-js/dependabot/npm_and_yarn/develop/jest-environment-jsdom-29.0.2
chore(deps-dev): bump jest-environment-jsdom from 29.0.1 to 29.0.2
2022-09-05 21:35:18 +05:30
Sidharth Vinod
3e2ca5fe54 Merge pull request #3414 from mermaid-js/dependabot/npm_and_yarn/develop/types/dompurify-2.3.4
chore(deps-dev): bump @types/dompurify from 2.3.3 to 2.3.4
2022-09-05 21:08:59 +05:30
Sidharth Vinod
f9bf53551f Merge branch 'develop' into sidv/esbuild
* develop: (50 commits)
  Build docs
  chore: update browsers list
  Fix pre
  Fix mermaid code formatting in html
  Prettier pass
  Fix XSS htmls
  fix #3407 Replace `div` with `pre` and format
  Add change in `src/docs`
  Fix lint issue
  build: run `build:prod` on `yarn prepare`
  Build documentation
  Fix typo
  Fix typo in documentation
  Fix doc
  Add files only when running from lint-staged
  Add files only when running from lint-staged
  Fix configuration doc
  Prettier Pass
  Add dotfiles
  Prettier
  ...
2022-09-05 20:31:44 +05:30
Sidharth Vinod
d898b8a7e7 Merge branch 'develop' into sidv/typescript
* develop: (50 commits)
  Build docs
  chore: update browsers list
  Fix pre
  Fix mermaid code formatting in html
  Prettier pass
  Fix XSS htmls
  fix #3407 Replace `div` with `pre` and format
  Add change in `src/docs`
  Fix lint issue
  build: run `build:prod` on `yarn prepare`
  Build documentation
  Fix typo
  Fix typo in documentation
  Fix doc
  Add files only when running from lint-staged
  Add files only when running from lint-staged
  Fix configuration doc
  Prettier Pass
  Add dotfiles
  Prettier
  ...
2022-09-05 20:17:59 +05:30
Knut Sveidqvist
579dbc8f63 Merge pull request #3401 from mermaid-js/sidv/docs
Auto transform `mermaid-example` in docs.
2022-09-05 16:35:55 +02:00
Sidharth Vinod
5ae1bd92cd Build docs 2022-09-05 19:48:38 +05:30
dependabot[bot]
41e1001050 chore(deps-dev): bump @types/dompurify from 2.3.3 to 2.3.4
Bumps [@types/dompurify](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dompurify) from 2.3.3 to 2.3.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/dompurify)

---
updated-dependencies:
- dependency-name: "@types/dompurify"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 14:15:32 +00:00
dependabot[bot]
560bd83fb1 chore(deps-dev): bump jest-environment-jsdom from 29.0.1 to 29.0.2
Bumps [jest-environment-jsdom](https://github.com/facebook/jest/tree/HEAD/packages/jest-environment-jsdom) from 29.0.1 to 29.0.2.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.0.2/packages/jest-environment-jsdom)

---
updated-dependencies:
- dependency-name: jest-environment-jsdom
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 14:15:19 +00:00
dependabot[bot]
0b4987431e chore(deps-dev): bump babel-jest from 29.0.1 to 29.0.2
Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 29.0.1 to 29.0.2.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.0.2/packages/babel-jest)

---
updated-dependencies:
- dependency-name: babel-jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 14:14:23 +00:00
Sidharth Vinod
5e9db250bc Merge branch 'develop' into sidv/docs
* develop:
  chore: update browsers list
  Fix pre
  Prettier pass
  Fix XSS htmls
  fix #3407 Replace `div` with `pre` and format
2022-09-05 19:30:39 +05:30
Knut Sveidqvist
47490e9820 Lint fixes 2022-09-05 15:57:12 +02:00
Knut Sveidqvist
df7b5965c2 Merge branch 'develop' into minmaps 2022-09-05 15:35:24 +02:00
Knut Sveidqvist
e5212c25f5 Merge pull request #3398 from mermaid-js/3395_fix_error_handling
Re-enabling error graph
2022-09-05 15:13:49 +02:00
Knut Sveidqvist
8ad5f728c0 Removing requirement to add ids for nodes with a shape 2022-09-05 14:53:01 +02:00
Knut Sveidqvist
8b4a08eef4 #3336 Merged typescript changes 2022-09-05 14:04:39 +02:00
Knut Sveidqvist
01106caa59 Merged typescript changes 2022-09-05 11:22:17 +02:00
Knut Sveidqvist
047b7023a2 Updated with cloud and bang shapes 2022-09-05 09:54:00 +02:00
mmorel-35
d52c1f09d5 chore: update browsers list 2022-09-05 07:13:42 +00:00
Knut Sveidqvist
afd1b6ed27 Merge pull request #3408 from mermaid-js/sidv/preTags
fix #3407 Replace `div` with `pre` and format
2022-09-05 07:07:21 +02:00
Sidharth Vinod
1f6e4a0887 Fix pre 2022-09-05 01:33:47 +05:30
Sidharth Vinod
a95f46f513 Fix mermaid code formatting in html 2022-09-05 01:25:28 +05:30
Sidharth Vinod
98e9f5751a Prettier pass 2022-09-05 01:00:47 +05:30
Sidharth Vinod
41dec4d159 Fix XSS htmls 2022-09-05 00:57:34 +05:30
Sidharth Vinod
91478caf5b fix #3407 Replace div with pre and format 2022-09-05 00:48:36 +05:30
Sidharth Vinod
537ce4f630 Add change in src/docs 2022-09-04 13:31:58 +05:30
Sidharth Vinod
f0c41a8280 Fix lint issue 2022-09-04 13:21:37 +05:30
Sidharth Vinod
22999e27f0 Merge branch 'develop' into sidv/docs
* develop:
  build: run `build:prod` on `yarn prepare`
  Build documentation
  Fix typo
  Fix typo in documentation
  added mermerd to integrations documentation
2022-09-04 13:12:44 +05:30
Sidharth Vinod
a64a76db9b Merge pull request #3403 from dbartholomae/patch-1
Fix typo in documentation
2022-09-04 12:56:57 +05:30
Sidharth Vinod
7721ee0f28 Merge pull request #3404 from aloisklink/build/fix-yarn-prepare-script
build: run `build:prod` on `yarn prepare`
2022-09-04 12:55:22 +05:30
Alois Klink
106672bc75 refactor: remove console.log in c4Diagram.jison
These aren't caught by eslint, since they're in a .jison file.
2022-09-03 23:58:21 +01:00
Alois Klink
cb4935258c style: forbid using console in mermaid src code
Adds an eslint rule forbidding using `console` in the mermaid source
code. Instead, the `src/logger` should be used instead, so that
websites can disable logging.

This is allowed in the `cypress/` and `demos/` folder.

I've also removed the two instances on `console.log`/`console.error`
that currently exist in the mermaid source code.
2022-09-03 23:40:10 +01:00
Alois Klink
1d84cfe2e2 build: run build:prod on yarn prepare
Adds `yarn build:prod` to the `yarn prepare` script.

For most package managers (e.g. yarn v1 and NPM),
the `prepare` script is called automatically when installing
from a local location/git url. It's not called when installing
from NPM.

This is required because the source code doesn't contain
the `dist/mermaid.min.js` file, it has to be built first.

Fixes installing mermaid via `git`, e.g.:
`yarn add git+https://github.com/mermaid-js/mermaid.git`

Fixes: 1549eb20df
2022-09-03 23:01:53 +01:00
Daniel Bartholomae
27baa24c82 Build documentation 2022-09-03 22:54:43 +02:00
Daniel Bartholomae
1a6305c079 Add tests for other boundary properties 2022-09-03 20:38:10 +02:00
Daniel Bartholomae
b86476331f Add first test for Boundary 2022-09-03 20:38:10 +02:00
Daniel Bartholomae
092c15a37c Test all different types of systems 2022-09-03 20:38:10 +02:00
Daniel Bartholomae
65c73f2eec Introduce shape list in test 2022-09-03 20:38:09 +02:00
Daniel Bartholomae
2414435641 Add tests for C4 System 2022-09-03 20:38:09 +02:00
Daniel Bartholomae
2afcd54184 Make test grouping more explicit 2022-09-03 20:38:09 +02:00
Daniel Bartholomae
700e25382b Copy tests from Person to PersonExt 2022-09-03 20:38:09 +02:00
Daniel Bartholomae
db0d6075ca Add test for link to Person_Ext 2022-09-03 20:38:09 +02:00
Daniel Bartholomae
a196aeb29b Add question on Person_Ext 2022-09-03 20:38:09 +02:00
Daniel Bartholomae
92f0c8f8b1 Add test for structure of Person_Ext 2022-09-03 20:38:09 +02:00
Daniel Bartholomae
3bc5cfa554 Add test for alias 2022-09-03 20:38:09 +02:00
Daniel Bartholomae
6f7ae17fc6 Add test for label 2022-09-03 20:38:09 +02:00
Daniel Bartholomae
be5b8012bd Add test for description 2022-09-03 20:38:09 +02:00
Daniel Bartholomae
90d472042b Add test for $tags 2022-09-03 20:38:08 +02:00
Daniel Bartholomae
5378316cc3 Add test for $link 2022-09-03 20:38:08 +02:00
Daniel Bartholomae
8ee534f7fb Add test for $sprite 2022-09-03 20:38:08 +02:00
Daniel Bartholomae
aee1a87347 Move test for basic Person to separate file 2022-09-03 20:38:08 +02:00
Daniel Bartholomae
e9fb2c8a54 Fix test and variable names that were copied from flowchart 2022-09-03 20:38:08 +02:00
Daniel Bartholomae
b79eaae002 Fix typo 2022-09-03 20:36:14 +02:00
Daniel Bartholomae
3b571fc9b3 Fix typo in documentation 2022-09-03 20:33:50 +02:00
Sidharth Vinod
e718c5bf6c Fix doc 2022-09-03 15:00:12 +05:30
Sidharth Vinod
636017fdd7 Add files only when running from lint-staged 2022-09-03 15:00:02 +05:30
Sidharth Vinod
85dc16df0a Add files only when running from lint-staged 2022-09-03 14:51:28 +05:30
Sidharth Vinod
0caf372685 Fix configuration doc 2022-09-03 14:43:35 +05:30
Sidharth Vinod
5674f8e675 Prettier Pass 2022-09-03 13:41:25 +05:30
Sidharth Vinod
c49c15ab7c Add dotfiles 2022-09-03 13:35:23 +05:30
Sidharth Vinod
b84511b314 Prettier 2022-09-03 13:31:13 +05:30
Sidharth Vinod
f6d69b33b3 Prettier 2022-09-03 13:30:16 +05:30
Sidharth Vinod
661f283dab Strict prettierrc 2022-09-03 13:19:46 +05:30
Sidharth Vinod
787cf9395e Prettier options 2022-09-03 13:15:55 +05:30
Sidharth Vinod
fe1be11c21 Fix lint staged 2022-09-03 13:13:23 +05:30
Sidharth Vinod
1f7d8c0f49 Fix lint staged 2022-09-03 13:11:19 +05:30
Sidharth Vinod
6167eda6b6 Prettier 2022-09-03 13:05:47 +05:30
Sidharth Vinod
ec7dd9ef01 Merge pull request #3399 from KarnerTh/feature/2859_add_tool_to_documentation
Added mermerd to integrations documentation
2022-09-03 12:36:30 +05:30
Sidharth Vinod
c702e12a42 Fix edit page url 2022-09-03 12:25:18 +05:30
Sidharth Vinod
42a2cabc7b Remove "Edit this page" 2022-09-03 12:21:42 +05:30
Sidharth Vinod
0a3042322f Fix Doc 2022-09-03 11:19:25 +05:30
Sidharth Vinod
bdeefb212e Test 2022-09-03 11:14:54 +05:30
Sidharth Vinod
074f30ed1f Fix double rendering in docsify 2022-09-03 11:14:13 +05:30
Sidharth Vinod
c2f72402f2 Test 2022-09-03 11:02:14 +05:30
Sidharth Vinod
13e7da10ca Add doc verification to CI 2022-09-03 10:53:41 +05:30
Sidharth Vinod
4225f5e2f5 Turn off jsdoc warnings that were polluting logs 2022-09-03 10:53:25 +05:30
Sidharth Vinod
3833dcd0d8 Add verification for doc change 2022-09-03 10:06:21 +05:30
Sidharth Vinod
829e1c2390 Fix typo 2022-09-03 09:56:47 +05:30
Sidharth Vinod
c3da6c10fb Add generated file to git 2022-09-03 09:55:52 +05:30
Sidharth Vinod
017fdfa552 Fail commit if docs changed 2022-09-03 09:53:46 +05:30
Sidharth Vinod
cc38667df3 Add generated file to git 2022-09-03 09:53:42 +05:30
Sidharth Vinod
b6d0d7fe15 Fail commit if docs changed 2022-09-03 09:52:29 +05:30
Sidharth Vinod
f45c0e3617 Fail commit if docs changed 2022-09-03 09:45:59 +05:30
Sidharth Vinod
0aabae40ad Update doc test 2022-09-03 09:18:00 +05:30
Sidharth Vinod
9d5c50a36f Update doc test 2022-09-03 09:16:54 +05:30
Sidharth Vinod
e34e208786 Add auto generated docs 2022-09-03 09:13:37 +05:30
Sidharth Vinod
d01de850eb Update doc test 2022-09-03 09:11:46 +05:30
Sidharth Vinod
bd14dc508f Build docs in lintstaged 2022-09-03 09:09:41 +05:30
Sidharth Vinod
3b88150e11 Move docs to src 2022-09-03 09:06:42 +05:30
Thomas Karner
87f6d34b4f added mermerd to integrations documentation 2022-09-02 23:09:19 +02:00
Sidharth Vinod
cfae2b6a40 Doc transformer 2022-09-03 02:13:21 +05:30
Knut Sveidqvist
5584fef1b0 #3395 Renabling the error graph which is rendered on error 2022-09-02 14:05:31 +02:00
Knut Sveidqvist
98f37d64ea #3395 Fix for lopp stopping at first failure 2022-09-02 12:45:22 +02:00
Knut Sveidqvist
ccb16e5f5a Adding cloud and bang shapes 2022-09-02 11:08:26 +02:00
Sidharth Vinod
d73cafa7c8 Merge pull request #3396 from aloisklink/fix/fix-passing-single-node-to-mermaid.init
fix: fix passing a single Node to mermaid.init()
2022-09-02 14:28:43 +05:30
Sidharth Vinod
f28c86326d Introduce stricter linting 2022-09-02 11:50:41 +05:30
Sidharth Vinod
269722fb65 Introduce stricter linting 2022-09-02 11:44:06 +05:30
Sidharth Vinod
99923fcd0f Test - esbuild 2022-09-02 11:08:14 +05:30
Sidharth Vinod
e06a7587ac Vite 2022-09-02 09:27:25 +05:30
Alois Klink
b3c0c57c6d fix: fix passing a single Node to mermaid.init()
Passing a single Node to mermaid.init() results in an error, as it
calls `new NodeList()`, which causes `TypeError: Illegal constructor`.

See 5597cf45bf/src/mermaid.ts (L73)

If we instead use the `ArrayLike` interface, we can just use a simple
array, instead of a NodeList.

I've also added a basic test case, by mocking the `mermaidAPI.render()`
function so it isn't called, as the d3 functions don't work in Node.JS.
The mocks are a bit messy, since
 a) Jest doesn't fully support ESM yet, and
 b) mermaidAPI is frozen with `Object.freeze()`,
but the mermaidAPI mocks work as long as we keep them simple.

Fixes: c68ec54fdd
2022-09-02 04:39:58 +01:00
Sidharth Vinod
04f18630f3 use same esbuild in webpack 2022-09-02 00:48:34 +05:30
Sidharth Vinod
f1fa91a51c fix flowchart jison 2022-09-02 00:46:02 +05:30
Sidharth Vinod
53fe35e37e Add webpack build 2022-09-02 00:36:01 +05:30
Sidharth Vinod
6be05e9948 Esbuild with types 2022-09-02 00:34:03 +05:30
Sidharth Vinod
84bf79f72b Fix export 2022-09-01 23:39:30 +05:30
Sidharth Vinod
904eccc4fa Vite 2022-09-01 23:38:13 +05:30
Sidharth Vinod
01562528b7 Typescript 2022-09-01 22:45:10 +05:30
Alois Klink
0dca4d3393 fix(git): support numeric branch names
gitGraph does not support branch names that start with a number,
because the gitGraph.jison file parses these as NUM (number) instead.

To fix this, I've changed the NUM parser to only accept strings that
end with whitespace (e.g 1234 is a NUM, but 1234abc is not a NUM).
To do this, I had to move the "skip all whitespace" step to the
end of the parser, but this doesn't seem to have caused any issues,
so it's probably fine.
2022-09-01 17:24:00 +01:00
Sidharth Vinod
fe3bb0b6c0 Typescript 2022-09-01 20:41:31 +05:30
Sidharth Vinod
7aeb60f42a Merge branch 'develop' into sidv/esbuild
* develop: (50 commits)
  Typo fix
  Fix repo URL
  Revert flowchart change
  Revert flowchart change
  Fix TODO Qs
  chore(deps-dev): bump @commitlint/cli from 17.1.1 to 17.1.2
  chore(deps-dev): bump terser-webpack-plugin from 5.3.5 to 5.3.6
  chore(deps-dev): bump webpack-dev-server from 4.10.0 to 4.10.1
  Fix gitGraph findLane function error
  Update dependabot.yml
  Replacing replaceAll with replace
  Rework 'parseDuration' as a pure duration parsing
  Supports duration in decimal
  Create a more consistent 'parseDuration'
  Remove `@ts-ignore`s.
  Fix svgDraw return types
  ...
2022-09-01 20:38:21 +05:30
Knut Sveidqvist
5597cf45bf Merge pull request #3336 from mermaid-js/sidv/typescript
Introducing TypeScript
2022-09-01 16:59:51 +02:00
Sidharth Vinod
1ced01c7f6 Typo fix 2022-09-01 20:21:13 +05:30
Sidharth Vinod
e46d9c1173 Merge branch 'develop' into sidv/typescript
* develop:
  chore(deps-dev): bump @commitlint/cli from 17.1.1 to 17.1.2
  chore(deps-dev): bump terser-webpack-plugin from 5.3.5 to 5.3.6
  chore(deps-dev): bump webpack-dev-server from 4.10.0 to 4.10.1
  Fix gitGraph findLane function error
  Replacing replaceAll with replace
  Rework 'parseDuration' as a pure duration parsing
  Supports duration in decimal
  Create a more consistent 'parseDuration'
  Fix svgDraw return types
  Add more tests
  Fix nested types
  Fix nested types
  Add nested test
  Updating to version to 9.1.6
2022-09-01 20:06:42 +05:30
Sidharth Vinod
2272eb6644 Fix repo URL 2022-09-01 20:04:06 +05:30
Knut Sveidqvist
ac76fb73a8 Merge pull request #3360 from vallsv/feature-ms-duration
Feature decimal duration in second for gantt diagram
2022-09-01 16:23:42 +02:00
Knut Sveidqvist
694692fb5d Merge pull request #3354 from mermaid-js/sidv/tsAnnotation
Add nested test for parseGenericTypes
2022-09-01 16:21:46 +02:00
Knut Sveidqvist
f4a99fc612 Merge pull request #3390 from mermaid-js/dependabot/npm_and_yarn/develop/commitlint/cli-17.1.2
chore(deps-dev): bump @commitlint/cli from 17.1.1 to 17.1.2
2022-09-01 16:01:53 +02:00
Knut Sveidqvist
b00d569215 Merge pull request #3389 from mermaid-js/dependabot/npm_and_yarn/develop/terser-webpack-plugin-5.3.6
chore(deps-dev): bump terser-webpack-plugin from 5.3.5 to 5.3.6
2022-09-01 16:01:41 +02:00
Knut Sveidqvist
1921623bdf Merge pull request #3387 from mermaid-js/dependabot/npm_and_yarn/develop/webpack-dev-server-4.10.1
chore(deps-dev): bump webpack-dev-server from 4.10.0 to 4.10.1
2022-09-01 16:01:30 +02:00
Knut Sveidqvist
3502fb46f8 Merge pull request #3383 from hughli-git/fix_git_stack_exceeded
Fix gitGraph findLane function error
2022-09-01 16:00:43 +02:00
Knut Sveidqvist
bacdd49176 Merge pull request #3380 from mermaid-js/3056_Chrome_Compatibility
3056 chrome compatibility
2022-09-01 15:59:46 +02:00
Knut Sveidqvist
065a3176b8 Merge pull request #3379 from mermaid-js/3238_Gitgraph_merge_commits
3238 gitgraph merge commits
2022-09-01 15:57:43 +02:00
Sidharth Vinod
4fa0d366db Revert flowchart change 2022-09-01 19:17:31 +05:30
Sidharth Vinod
36be8114d0 Revert flowchart change 2022-09-01 19:16:15 +05:30
Sidharth Vinod
4619ff2ad0 Merge branch 'develop' into sidv/typescript
* develop:
  Update dependabot.yml
2022-09-01 18:41:05 +05:30
Sidharth Vinod
8c85c10212 Fix TODO Qs 2022-09-01 18:40:28 +05:30
Knut Sveidqvist
2fbdfdbf6a Fix for unit tests after refactoring 2022-09-01 14:31:26 +02:00
Knut Sveidqvist
558ef8a2db #448 Size calculations 2022-09-01 14:25:47 +02:00
Knut Sveidqvist
68f8010ab9 Merge branch 'develop' into minmaps 2022-09-01 13:42:21 +02:00
Knut Sveidqvist
654dfa6b3d #448 Fixing issue with icon size for the root node 2022-09-01 13:39:00 +02:00
dependabot[bot]
0092ca1da0 chore(deps-dev): bump @commitlint/cli from 17.1.1 to 17.1.2
Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 17.1.1 to 17.1.2.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v17.1.2/@commitlint/cli)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 08:22:51 +00:00
dependabot[bot]
fa85e2a650 chore(deps-dev): bump terser-webpack-plugin from 5.3.5 to 5.3.6
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 5.3.5 to 5.3.6.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v5.3.5...v5.3.6)

---
updated-dependencies:
- dependency-name: terser-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 08:22:31 +00:00
dependabot[bot]
3dc7e0e694 chore(deps-dev): bump webpack-dev-server from 4.10.0 to 4.10.1
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.10.0 to 4.10.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.10.0...v4.10.1)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 08:21:49 +00:00
Knut Sveidqvist
98b2febe30 Merge pull request #3382 from mermaid-js/fix-dependabot
Update dependabot.yml
2022-09-01 10:19:45 +02:00
Sidharth Vinod
d67e2723c6 Serve 2022-09-01 13:38:02 +05:30
Sidharth Vinod
1206ec43ac Remove jisonloader 2022-09-01 00:12:20 +05:30
Sidharth Vinod
965df4fdf4 ESBuild 2022-08-31 23:59:32 +05:30
Sidharth Vinod
4f0e18b088 Esbuild 2022-08-31 23:16:57 +05:30
hughligit
9d5e855e8e Fix gitGraph findLane function error
findLane may infinite loop after recursive call, then cause RangeError: Maximum call stack size exceeded.
2022-08-31 16:51:36 +08:00
Sidharth Vinod
e7b199adaf Update dependabot.yml 2022-08-31 11:48:23 +05:30
Sidharth Vinod
9b319a55f6 Merge branch 'develop' into sidv/typescript
* develop:
  chore(deps-dev): bump @commitlint/cli from 17.0.3 to 17.1.1 (#3376)
  chore(deps-dev): bump eslint from 8.22.0 to 8.23.0 (#3378)
  chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3375)
  chore(deps-dev): bump @commitlint/config-conventional (#3370)
  chore(deps-dev): bump @babel/core from 7.18.10 to 7.18.13 (#3373)
  chore(deps-dev): bump eslint-plugin-jest from 26.8.7 to 27.0.1 (#3372)
  chore(deps-dev): bump jest-environment-jsdom from 28.1.3 to 29.0.1 (#3369)
  chore(deps-dev): bump babel-jest from 28.1.3 to 29.0.1 (#3368)
  Updating docs to latest mermaid version
  build: add eslint --cache file
  Adjusting size and test
  Updated viewBox settings
  Border
  feat(git): allow custom merge commit ids
  Document line curve options
  Added 'ms' duration
  Fix font weight for messages in sequence diagrams
  Added lollipop feature for updated codebase
2022-08-31 11:34:59 +05:30
Knut Sveidqvist
809fbf685b Documenting classes and icons 2022-08-30 22:08:05 +02:00
Knut Sveidqvist
3400c19277 Merge branch 'minmaps' of github.com:mermaid-js/mermaid into minmaps 2022-08-30 21:38:48 +02:00
Knut Sveidqvist
33aa7d8333 Startingpoint for the documentation 2022-08-30 21:38:34 +02:00
Knut Sveidqvist
f14971e908 Some theming/styling fixes 2022-08-30 21:37:26 +02:00
Knut Sveidqvist
63c385a5d7 Adding some rendering tests 2022-08-30 21:36:17 +02:00
Knut Sveidqvist
18d95e479c Fix for issue with comments 2022-08-30 21:35:21 +02:00
Knut Sveidqvist
6966ca47d1 Size updates 2022-08-30 21:33:09 +02:00
ashishj
8f107026a9 Merge branch 'develop' into 3056_Chrome_Compatibility 2022-08-30 19:57:38 +02:00
ashishj
c846b48882 Replacing replaceAll with replace 2022-08-30 19:55:01 +02:00
ashishj
a93f37a3fc #3238 Updated documentation 2022-08-30 19:25:22 +02:00
ashishj
dd40b19c89 #3238 Added more rendering test cases 2022-08-30 18:37:13 +02:00
ashishj
7068f6c08a #3238 Added test cases 2022-08-30 18:32:06 +02:00
Ashish Jain
5b63260240 Merge pull request #3311 from may4everL/1145_lollipop_interface
Added lollipop feature for updated codebase
2022-08-30 18:16:49 +02:00
ashishj
d2aaf6aad9 #3238 Merge from 'develop' 2022-08-30 18:11:10 +02:00
Ashish Jain
d7e0888801 Merge pull request #3361 from aloisklink/feature/3356_git_custom_merge_commit_id
feat(git): allow custom merge commit ids
2022-08-30 17:50:57 +02:00
ashishj
e542339ed1 Merge branch 'develop' into 3238_Gitgraph_merge_commits 2022-08-30 17:44:02 +02:00
ashishj
2229a307a1 #3238 Enhancing the merge commit functionality 2022-08-30 17:42:42 +02:00
dependabot[bot]
49d1a8e248 chore(deps-dev): bump @commitlint/cli from 17.0.3 to 17.1.1 (#3376)
Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 17.0.3 to 17.1.1.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v17.1.1/@commitlint/cli)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 09:41:54 +02:00
dependabot[bot]
0135ab2ab1 chore(deps-dev): bump eslint from 8.22.0 to 8.23.0 (#3378)
Bumps [eslint](https://github.com/eslint/eslint) from 8.22.0 to 8.23.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.22.0...v8.23.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 09:33:32 +02:00
dependabot[bot]
a5d4fdb142 chore(deps): bump dompurify from 2.3.10 to 2.4.0 (#3375)
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.10 to 2.4.0.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.3.10...2.4.0)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 09:32:33 +02:00
dependabot[bot]
d4a28cc0ec chore(deps-dev): bump @commitlint/config-conventional (#3370)
Bumps [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) from 17.0.3 to 17.1.0.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v17.1.0/@commitlint/config-conventional)

---
updated-dependencies:
- dependency-name: "@commitlint/config-conventional"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 09:32:07 +02:00
dependabot[bot]
97c998c64b chore(deps-dev): bump @babel/core from 7.18.10 to 7.18.13 (#3373)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.10 to 7.18.13.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.13/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 09:31:48 +02:00
dependabot[bot]
e7df5d52ba chore(deps-dev): bump eslint-plugin-jest from 26.8.7 to 27.0.1 (#3372)
Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 26.8.7 to 27.0.1.
- [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases)
- [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jest-community/eslint-plugin-jest/compare/v26.8.7...v27.0.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 09:14:10 +02:00
dependabot[bot]
32b697f674 chore(deps-dev): bump jest-environment-jsdom from 28.1.3 to 29.0.1 (#3369)
Bumps [jest-environment-jsdom](https://github.com/facebook/jest/tree/HEAD/packages/jest-environment-jsdom) from 28.1.3 to 29.0.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.0.1/packages/jest-environment-jsdom)

---
updated-dependencies:
- dependency-name: jest-environment-jsdom
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 09:13:01 +02:00
dependabot[bot]
7e28fc087d chore(deps-dev): bump babel-jest from 28.1.3 to 29.0.1 (#3368)
Bumps [babel-jest](https://github.com/facebook/jest/tree/HEAD/packages/babel-jest) from 28.1.3 to 29.0.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.0.1/packages/babel-jest)

---
updated-dependencies:
- dependency-name: babel-jest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-29 09:07:05 +02:00
Knut Sveidqvist
4cdc6e4a0d Merge branch 'minmaps' of github.com:mermaid-js/mermaid into minmaps 2022-08-28 14:25:15 +02:00
Knut Sveidqvist
f350ff9852 Merge branch 'minmaps' of github.com:mermaid-js/mermaid into minmaps 2022-08-28 14:25:02 +02:00
Knut Sveidqvist
6ab0eef6f3 Merge branch 'develop'
Conflicts:
	cypress/platform/knsv.html
2022-08-28 14:22:56 +02:00
Knut Sveidqvist
17ccd1fd0b Merge pull request #3366 from mermaid-js/2824_cut_edges
2824 Updated sizing of diagrams and cypress tests
2022-08-28 11:51:32 +02:00
Knut Sveidqvist
4e3d3a7288 Merge pull request #3365 from aloisklink/other/cache-eslint-runs
build: add eslint --cache file to speed up commits
2022-08-28 11:48:09 +02:00
Knut Sveidqvist
018844e8ea Updating docs to latest mermaid version 2022-08-28 11:46:01 +02:00
Knut Sveidqvist
850135a936 Merge pull request #3359 from amyq/patch-1
Document line curve options
2022-08-28 11:44:44 +02:00
Knut Sveidqvist
080bde0bc2 #2824 Updated regressionstest afters diagram sizing changes 2022-08-28 11:39:22 +02:00
Knut Sveidqvist
e6e7bdcb55 #2824 Size changes and updated regressionstest afters diagram sizing changes 2022-08-28 11:25:09 +02:00
Knut Sveidqvist
9e4ae66346 Merge pull request #3364 from mermaid-js/2824_cut_edges
2824 cut edges
2022-08-28 08:36:43 +02:00
Alois Klink
b7f9495a14 build: add eslint --cache file
Currently, doing a `git commit` is a bit low, as eslint runs before
the commit.

Adding an `eslint --cache` makes it slightly faster.
On my PC, `git commit` currently is `Done in 12.24s.`

However, after adding this cache file, it is `Done in 7.54s.`,
so about 1.6x faster.
2022-08-27 17:32:48 +01:00
Knut Sveidqvist
3b93c39249 Adjusting size and test 2022-08-27 15:11:43 +02:00
Knut Sveidqvist
2968b400c4 Updated viewBox settings 2022-08-27 15:03:29 +02:00
Knut Sveidqvist
d0d5739ab0 Merge branch 'develop' into minmaps 2022-08-27 12:35:30 +02:00
Knut Sveidqvist
0779c39654 Border 2022-08-27 12:32:33 +02:00
Alois Klink
b2f5ba3ee8 feat(git): allow custom merge commit ids
Currently, merge commits can have a git tag, but they cannot have a
custom git commit ID.

This commit allows modifying the default merge commit id.
It also displays all merge commits IDs, which undoes
3ccf027f42
2022-08-25 23:42:39 +01:00
Valentin Valls
ba4f7d2ceb Rework 'parseDuration' as a pure duration parsing 2022-08-25 23:15:28 +02:00
Valentin Valls
3315ae8382 Supports duration in decimal 2022-08-25 23:15:28 +02:00
Valentin Valls
f7b8d1ac07 Create a more consistent 'parseDuration'
- Remove 'durationToDate' which was not a usable function
2022-08-25 23:15:28 +02:00
Amy Qualls
86b3a4f09e Document line curve options
An extremely basic MVC explaining that it is possible to adjust how lines in a flowchart are curved, while listing (some of?) the available options.

I doubt I've captured all of the curve options, but capturing the existence of curve options is a start.

Sources:

- https://github.com/mermaid-js/mermaid/issues/580#issuecomment-373929046 where a user references adding the feature to Mermaid
- Which references https://github.com/d3/d3-shape/blob/master/README.md#curves and I think is worth including here
2022-08-25 12:01:55 -07:00
Sidharth Vinod
a3dfc4c0e8 Remove @ts-ignores.
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
2022-08-25 21:53:36 +05:30
Sidharth Vinod
15b160c553 Fix svgDraw return types
Co-authored-by: FlorianWoelki <FlorianWoelki@gmx.de>
2022-08-25 12:41:32 +05:30
Sidharth Vinod
39980322bd Add more tests 2022-08-25 11:59:01 +05:30
Sidharth Vinod
2f7930efb7 Fix nested types
Co-authored-by: FlorianWoelki <FlorianWoelki@gmx.de>
2022-08-25 11:58:43 +05:30
Sidharth Vinod
5996e1e69d Fix nested types
Co-authored-by: FlorianWoelki <FlorianWoelki@gmx.de>
2022-08-25 08:49:20 +05:30
Yash Singh
cde3a7cf70 Merge pull request #3355 from vallsv/feature-ms-duration 2022-08-24 16:07:45 -07:00
Yash Singh
49eebc1c20 Merge pull request #3353 from FabAlchemy/develop 2022-08-24 16:06:38 -07:00
Valentin Valls
0583c4fa25 Added 'ms' duration 2022-08-24 22:26:39 +02:00
Fabien Savy
a3ace00ed4 Fix font weight for messages in sequence diagrams 2022-08-24 17:07:56 +02:00
Sidharth Vinod
c37ff47ee3 Add nested test 2022-08-24 12:33:32 +05:30
Sidharth Vinod
84148d4891 Remove failing test 2022-08-24 12:32:15 +05:30
Sidharth Vinod
60651fdfe0 Merge branch 'develop' into sidv/typescript
* develop: (22 commits)
  Fix for build by revering jsdoc
  Revert "chore(deps-dev): bump documentation from 13.2.0 to 14.0.0"
  Review comments.
  Add test for handling parameter names that are "default"
  Add test for handling parameter names that are keywords
  Add test for handling trailing whitespaces
  Add first C4 parser test
  chore(deps-dev): bump eslint-plugin-jest from 26.8.2 to 26.8.7
  chore(deps-dev): bump documentation from 13.2.0 to 14.0.0
  chore(deps-dev): bump terser-webpack-plugin from 5.3.4 to 5.3.5
  chore(deps-dev): bump prettier-plugin-jsdoc from 0.3.38 to 0.4.1
  test(e2e): add array and generic attributes erDiagram test
  test(common): add generic parser test
  test(parser): add tests for generics and arrays in erDiagram
  feat: add array and generic symbols for erDiagram
  Lint markdown
  Fix prettier formatting in vscode
  Prettier
  Fix `securityLevel` docs
  Update README.md
  ...
2022-08-24 11:38:23 +05:30
Sidharth Vinod
1efd5c7d58 Cleanup 2022-08-24 11:32:27 +05:30
Knut Sveidqvist
fd70b862ed Merge pull request #3332 from lorint/docs/grammatical_touch_ups
Grammatical touch-ups to documentation
2022-08-23 20:18:03 +02:00
Knut Sveidqvist
1c8035e029 Merge pull request #3333 from abergquist/patch-1
Update README.md
2022-08-23 20:10:38 +02:00
Knut Sveidqvist
11809e799b Merge pull request #3334 from mermaid-js/sidv/fixDoc
Add `sandbox` to `securityLevel` docs
2022-08-23 20:10:06 +02:00
Knut Sveidqvist
c50745323a Merge pull request #3335 from FlorianWoelki/feature/3171_erDiagram_more_symbols
Add generic and array symbols to `erDiagram`
2022-08-23 20:07:06 +02:00
Knut Sveidqvist
2af91f5bbb Merge pull request #3349 from dbartholomae/add_tests_for_c4_parser
Add tests for C4 parser
2022-08-23 19:49:41 +02:00
Knut Sveidqvist
08793e0b50 Merge pull request #3352 from mermaid-js/fix_for_build
Fix for build by revering jsdoc
2022-08-23 19:37:12 +02:00
Knut Sveidqvist
db961ecefe Fix for build by revering jsdoc 2022-08-23 19:30:15 +02:00
Knut Sveidqvist
d3ae5e3e10 Merge pull request #3350 from mermaid-js/revert-3344-dependabot/npm_and_yarn/develop/documentation-14.0.0
Revert "chore(deps-dev): bump documentation from 13.2.0 to 14.0.0"
2022-08-23 19:17:45 +02:00
Knut Sveidqvist
576445847c Revert "chore(deps-dev): bump documentation from 13.2.0 to 14.0.0" 2022-08-23 18:32:20 +02:00
Sidharth Vinod
248a7aff7a Review comments. 2022-08-23 21:49:01 +05:30
Sidharth Vinod
a8042f622f Merge branch 'sidv/typescript' of https://github.com/mermaid-js/mermaid into sidv/typescript
* 'sidv/typescript' of https://github.com/mermaid-js/mermaid:
  Update src/config.ts
2022-08-23 21:35:43 +05:30
Sidharth Vinod
32ba2d5ffe Remove console.logs 2022-08-23 21:35:33 +05:30
Knut Sveidqvist
9ef3164991 Merge pull request #3342 from mermaid-js/dependabot/npm_and_yarn/develop/prettier-plugin-jsdoc-0.4.1
chore(deps-dev): bump prettier-plugin-jsdoc from 0.3.38 to 0.4.1
2022-08-23 17:51:44 +02:00
Knut Sveidqvist
b0b54f48f9 Merge pull request #3343 from mermaid-js/dependabot/npm_and_yarn/develop/terser-webpack-plugin-5.3.5
chore(deps-dev): bump terser-webpack-plugin from 5.3.4 to 5.3.5
2022-08-23 17:51:31 +02:00
Knut Sveidqvist
35ba62bae2 Merge pull request #3344 from mermaid-js/dependabot/npm_and_yarn/develop/documentation-14.0.0
chore(deps-dev): bump documentation from 13.2.0 to 14.0.0
2022-08-23 17:50:49 +02:00
Knut Sveidqvist
ea0e9aa7f4 Merge pull request #3345 from mermaid-js/dependabot/npm_and_yarn/develop/eslint-plugin-jest-26.8.7
chore(deps-dev): bump eslint-plugin-jest from 26.8.2 to 26.8.7
2022-08-23 17:49:10 +02:00
Daniel Bartholomae
8c56f68a06 Add test for handling parameter names that are "default" 2022-08-23 16:15:38 +02:00
Daniel Bartholomae
2cf9348f53 Add test for handling parameter names that are keywords 2022-08-23 16:12:16 +02:00
Daniel Bartholomae
d97ce7eab8 Add test for handling trailing whitespaces 2022-08-23 16:12:16 +02:00
Daniel Bartholomae
0c8f7163db Add first C4 parser test 2022-08-23 16:12:16 +02:00
Knut Sveidqvist
0e0802a588 Update src/config.ts
Agree!

Co-authored-by: Sidharth Vinod <sidharthv96@gmail.com>
2022-08-22 17:48:09 +02:00
Sidharth Vinod
9a0d5e31b7 fix: review comments 2022-08-22 17:12:05 +05:30
Sidharth Vinod
6291e4dcdd fix detectType 2022-08-22 13:30:10 +05:30
Sidharth Vinod
9f49259bca fix detectType 2022-08-22 13:29:55 +05:30
Sidharth Vinod
4885e7b7f1 fix detectType 2022-08-22 13:29:25 +05:30
Sidharth Vinod
a2469b6984 Merge branch 'develop' into sidv/typescript
* develop:
  chore: update browsers list
2022-08-22 13:22:17 +05:30
Sidharth Vinod
1549eb20df tsConversion: fix DiagramAPI 2022-08-22 13:18:50 +05:30
Sidharth Vinod
c245a2da07 tsConversion: rename DiagramAPI 2022-08-22 12:59:23 +05:30
mmorel-35
6e16369d85 chore: update browsers list 2022-08-22 07:04:25 +00:00
dependabot[bot]
8caeeccea3 chore(deps-dev): bump eslint-plugin-jest from 26.8.2 to 26.8.7
Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 26.8.2 to 26.8.7.
- [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases)
- [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jest-community/eslint-plugin-jest/compare/v26.8.2...v26.8.7)

---
updated-dependencies:
- dependency-name: eslint-plugin-jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 07:03:36 +00:00
dependabot[bot]
102542b4e7 chore(deps-dev): bump documentation from 13.2.0 to 14.0.0
Bumps [documentation](https://github.com/documentationjs/documentation) from 13.2.0 to 14.0.0.
- [Release notes](https://github.com/documentationjs/documentation/releases)
- [Changelog](https://github.com/documentationjs/documentation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/documentationjs/documentation/compare/v13.2.0...v14.0.0)

---
updated-dependencies:
- dependency-name: documentation
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 07:03:21 +00:00
dependabot[bot]
05d664d8d1 chore(deps-dev): bump terser-webpack-plugin from 5.3.4 to 5.3.5
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 5.3.4 to 5.3.5.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v5.3.4...v5.3.5)

---
updated-dependencies:
- dependency-name: terser-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 07:02:55 +00:00
dependabot[bot]
8fa57b0b14 chore(deps-dev): bump prettier-plugin-jsdoc from 0.3.38 to 0.4.1
Bumps [prettier-plugin-jsdoc](https://github.com/hosseinmd/prettier-plugin-jsdoc) from 0.3.38 to 0.4.1.
- [Release notes](https://github.com/hosseinmd/prettier-plugin-jsdoc/releases)
- [Changelog](https://github.com/hosseinmd/prettier-plugin-jsdoc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hosseinmd/prettier-plugin-jsdoc/commits)

---
updated-dependencies:
- dependency-name: prettier-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 07:02:42 +00:00
Sidharth Vinod
d365dacbf7 tsConversion: mermaidAPI 2022-08-22 11:10:30 +05:30
Sidharth Vinod
39aaf2f813 tsConversion: fix paths, add d.ts to output 2022-08-21 22:27:13 +05:30
Sidharth Vinod
d97b3807b9 fix: startOnLoad 2022-08-21 19:32:21 +05:30
Sidharth Vinod
a51d8e844b Merge branch 'develop' into sidv/typescript
* develop:
  Fix #3009 Update main
  #3243 Adding disabled testcase for diagram with leading \n
2022-08-21 19:24:15 +05:30
Sidharth Vinod
c68ec54fdd tsConversion: mermaid main 2022-08-21 18:37:27 +05:30
Knut Sveidqvist
858f2eadd4 Merge pull request #3338 from mermaid-js/fix/3009
Fix #3009 Update main in package.json
2022-08-21 11:38:51 +02:00
Sidharth Vinod
bc2b4c57c9 Fix #3009 Update main 2022-08-21 15:06:50 +05:30
Knut Sveidqvist
280c7e8da1 #3243 Adding disabled testcase for diagram with leading \n 2022-08-21 11:05:13 +02:00
Sidharth Vinod
cd4b1ea245 fix: codeScanning vuln 2022-08-21 11:45:20 +05:30
Sidharth Vinod
4710f67baf fix: sanitization bug 2022-08-21 11:26:45 +05:30
Sidharth Vinod
f14f0d9857 tsConversion: config & common 2022-08-21 11:00:22 +05:30
Sidharth Vinod
6de66eaba3 Add trace logLevel 2022-08-21 09:42:30 +05:30
Sidharth Vinod
238cbd14ca tsConversion: styles 2022-08-21 08:54:27 +05:30
Sidharth Vinod
d9bace053b Add trace logLevel 2022-08-21 08:45:17 +05:30
Sidharth Vinod
fab9688135 tsConversion: flowchartStyles 2022-08-21 01:21:47 +05:30
Sidharth Vinod
896154d89f tsConversion: logger 2022-08-21 00:59:54 +05:30
Sidharth Vinod
c9cd56914f tsConversion: errorRenderer 2022-08-21 00:59:27 +05:30
Sidharth Vinod
95dbbb350b tsConversion: DetectType 2022-08-21 00:38:26 +05:30
Sidharth Vinod
88e17bf1b4 Typescript init 2022-08-20 23:40:52 +05:30
FlorianWoelki
19a9f90186 test(e2e): add array and generic attributes erDiagram test 2022-08-20 15:15:05 +02:00
FlorianWoelki
e19581b540 test(common): add generic parser test 2022-08-20 14:08:53 +02:00
FlorianWoelki
ecf62e3b7a test(parser): add tests for generics and arrays in erDiagram 2022-08-20 13:56:39 +02:00
FlorianWoelki
ea3573c989 feat: add array and generic symbols for erDiagram 2022-08-20 13:42:51 +02:00
Sidharth Vinod
8d3617f0c7 Lint markdown 2022-08-20 16:49:31 +05:30
Sidharth Vinod
34ea67c8c4 Fix prettier formatting in vscode
Plugins are automatically loaded https://prettier.io/docs/en/plugins.html#using-plugins
2022-08-20 16:45:17 +05:30
Sidharth Vinod
2e392232eb Prettier 2022-08-20 16:39:35 +05:30
Sidharth Vinod
2f4af87bf7 Fix securityLevel docs 2022-08-20 16:22:48 +05:30
abergquist
33f06273a9 Update README.md
Replaced "JavaScript based" with "JavaScript-based" in the following sentence: "Mermaid is a JavaScript based diagramming and charting tool that uses Markdown-inspired text definitions and a renderer to create and modify complex diagrams."
2022-08-19 22:00:11 -07:00
Lorin Thwaits
e1977dd889 Remove duplicate spec 2022-08-19 21:27:22 +01:00
Lorin Thwaits
6635d4bc97 Grammatical touch-ups 2022-08-19 21:27:13 +01:00
ashishj
619136d389 Updating to version to 9.1.6 2022-08-18 20:07:15 +02:00
may4everL
7257bba3f3 Added lollipop feature for updated codebase 2022-08-09 22:44:11 -07:00
Knut Sveidqvist
d32c8534cb Bugfix for empty blank lines 2022-08-09 18:39:20 +02:00
Knut Sveidqvist
9b54feab84 Merge branch 'develop' into minmaps 2022-08-06 10:53:54 +02:00
Knut Sveidqvist
afe343e94f Changes after merge 2022-08-06 10:49:32 +02:00
Knut Sveidqvist
dfc2866457 Merge branch 'minmaps' of github.com:mermaid-js/mermaid into minmaps 2022-08-01 09:36:11 +02:00
Knut Sveidqvist
ffe520db06 Curved edges 2022-07-29 15:06:21 +02:00
Knut Sveidqvist
e31acfb3cd Merge branch 'develop' into minmaps 2022-07-29 08:10:16 +02:00
Knut Sveidqvist
00fe5d477d Different hanlding of icons for circles 2022-07-28 20:38:25 +02:00
Knut Sveidqvist
ca3f4559ef Fix 2022-07-27 19:10:06 +02:00
Knut Sveidqvist
1a205aeccc Adding icon support 2022-07-27 18:40:44 +02:00
Knut Sveidqvist
82a480d924 Adding circle node type and class handling 2022-07-27 17:25:20 +02:00
Knut Sveidqvist
2d361964ce Better padding handling in nodes 2022-07-27 10:24:27 +02:00
Knut Sveidqvist
03d71829c6 Adding default node form 2022-07-27 09:43:25 +02:00
Knut Sveidqvist
0b2ca29ae8 Theme support for mindmaps 2022-07-25 17:03:18 +02:00
Knut Sveidqvist
f815bd08b7 Adjusting the width of the boxes based on the text in the boxes 2022-07-25 14:22:07 +02:00
Knut Sveidqvist
15f1cdf3aa Draft of edge rendering 2022-07-24 17:45:54 +02:00
Knut Sveidqvist
8e5e212c49 Layout algorithm in place 2022-07-24 11:05:54 +02:00
Knut Sveidqvist
7de68f0bf2 Adding text wrap and logic for placing nodes in the svg 2022-07-23 10:16:54 +02:00
Knut Sveidqvist
6029c5371e First take on grammar 2022-07-21 16:07:18 +02:00
503 changed files with 47516 additions and 21350 deletions

View File

@@ -1,5 +1,3 @@
{
"extends": [
"@commitlint/config-conventional"
]
}
"extends": ["@commitlint/config-conventional"]
}

View File

@@ -1,3 +1,6 @@
dist/**
.github/**
docs/Setup.md
cypress.config.js
cypress/plugins/index.js
coverage

View File

@@ -5,7 +5,7 @@
"jest/globals": true,
"node": true
},
"parser": "@babel/eslint-parser",
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"experimentalObjectRestSpread": true,
@@ -15,13 +15,15 @@
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jsdoc/recommended",
"plugin:json/recommended",
"plugin:markdown/recommended",
"plugin:prettier/recommended"
"prettier"
],
"plugins": ["html", "jest", "jsdoc", "json", "prettier"],
"plugins": ["@typescript-eslint", "html", "jest", "jsdoc", "json"],
"rules": {
"no-console": "error",
"no-prototype-builtins": "off",
"no-unused-vars": "off",
"jsdoc/check-indentation": "off",
@@ -30,7 +32,21 @@
"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",
"cypress/no-async-tests": "off",
"@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
}
],
"json/*": ["error", "allowComments"],
"no-empty": ["error", { "allowEmptyCatch": true }]
},
@@ -43,9 +59,16 @@
}
},
{
"files": "./**/*.md/*.html",
"files": ["./cypress/**", "./demos/**"],
"rules": {
"prettier/prettier": "off"
"no-console": "off"
}
},
{
"files": ["./**/*.spec.{ts,js}", "./cypress/**", "./demos/**", "./**/docs/**"],
"rules": {
"jsdoc/require-jsdoc": "off",
"@typescript-eslint/no-unused-vars": "off"
}
}
]

View File

@@ -4,7 +4,6 @@ about: Create a report to help us improve
title: ''
labels: 'Status: Triage, Type: Bug / Error'
assignees: ''
---
**Describe the bug**
@@ -12,6 +11,7 @@ A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
@@ -27,15 +27,17 @@ If applicable, add screenshots to help explain your problem.
If applicable, add the code sample or a link to the [live editor](https://mermaid.live).
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

View File

@@ -4,7 +4,6 @@ about: Suggest an idea for this project
title: ''
labels: 'Status: Triage, Type: Enhancement'
assignees: ''
---
**Is your feature request related to a problem? Please describe.**

View File

@@ -4,12 +4,13 @@ about: Get some help from the community.
title: ''
labels: 'Help wanted!, Type: Other'
assignees: ''
---
## Help us help you!
You want an answer. Here are some ways to get it quicker:
* Use a clear and concise title.
* Try to pose a clear and concise question.
* Include as much, or as little, code as necessary.
* Don't be shy to give us some screenshots, if it helps!
- Use a clear and concise title.
- Try to pose a clear and concise question.
- Include as much, or as little, code as necessary.
- Don't be shy to give us some screenshots, if it helps!

View File

@@ -1,4 +1,4 @@
name: "CodeQL config"
name: 'CodeQL config'
paths-ignore:
- dist
- cypress

View File

@@ -1,17 +1,18 @@
version: 2
updates:
- package-ecosystem: npm
open-pull-requests-limit: 10
directory: /
target-branch: develop
schedule:
interval: weekly
day: monday
time: "07:00"
- package-ecosystem: github-actions
directory: /
target-branch: develop
schedule:
interval: weekly
day: monday
time: "07:00"
- package-ecosystem: npm
open-pull-requests-limit: 10
directory: /
target-branch: develop
versioning-strategy: increase
schedule:
interval: weekly
day: monday
time: '07:00'
- package-ecosystem: github-actions
directory: /
target-branch: develop
schedule:
interval: weekly
day: monday
time: '07:00'

View File

@@ -1,13 +1,17 @@
## :bookmark_tabs: Summary
Brief description about the content of your PR.
Resolves #<your issue id here>
## :straight_ruler: Design Decisions
Describe the way your implementation works or what design decisions you made if applicable.
### :clipboard: Tasks
Make sure you
- [ ] :book: have read the [contribution guidelines](https://github.com/mermaid-js/mermaid/blob/develop/CONTRIBUTING.md)
- [ ] :computer: have added unit/e2e tests (if appropriate)
- [ ] :bookmark: targeted `develop` branch
- [ ] :book: have read the [contribution guidelines](https://github.com/mermaid-js/mermaid/blob/develop/CONTRIBUTING.md)
- [ ] :computer: have added unit/e2e tests (if appropriate)
- [ ] :bookmark: targeted `develop` branch

2
.github/stale.yml vendored
View File

@@ -16,4 +16,4 @@ markComment: >
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: >
This issue has been been automatically closed due to a lack of activity.
This is done to maintain a clean list of issues that the community is interested in developing.
This is done to maintain a clean list of issues that the community is interested in developing.

View File

@@ -18,28 +18,34 @@ jobs:
matrix:
node-version: [16.x]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v3
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
cache: yarn
node-version: ${{ matrix.node-version }}
- uses: pnpm/action-setup@v2
# uses version from "packageManager" field in package.json
- name: Install Yarn
run: npm i yarn --global
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
cache: pnpm
node-version: ${{ matrix.node-version }}
- name: Install Packages
run: |
yarn install --frozen-lockfile
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
- name: Install Packages
run: |
pnpm install --frozen-lockfile
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
- name: Run Build
run: yarn build
- name: Run Build
run: pnpm run build
- name: Upload Build as Artifact
uses: actions/upload-artifact@v3
with:
name: dist
path: dist
- name: Upload Mermaid Build as Artifact
uses: actions/upload-artifact@v3
with:
name: mermaid-build
path: packages/mermaid/dist
- name: Upload Mermaid Mindmap Build as Artifact
uses: actions/upload-artifact@v3
with:
name: mermaid-mindmap-build
path: packages/mermaid-mindmap/dist

View File

@@ -14,12 +14,12 @@ jobs:
name: check tests
if: github.repository_owner == 'mermaid-js'
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: testomatio/check-tests@stable
with:
framework: cypress
tests: "./cypress/e2e/**/**.spec.js"
token: ${{ secrets.GITHUB_TOKEN }}
has-tests-label: true
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: testomatio/check-tests@stable
with:
framework: cypress
tests: './cypress/e2e/**/**.spec.js'
token: ${{ secrets.GITHUB_TOKEN }}
has-tests-label: true

View File

@@ -1,12 +1,11 @@
name: "CodeQL"
name: 'CodeQL'
on:
push:
branches: [ develop ]
branches: [develop]
pull_request:
# The branches below must be a subset of the branches above
branches: [ develop ]
branches: [develop]
types:
- opened
- synchronize
@@ -24,40 +23,40 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
language: ['javascript']
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Checkout repository
uses: actions/checkout@v3
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
config-file: ./.github/codeql/codeql-config.yml
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
config-file: ./.github/codeql/codeql-config.yml
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# 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
# 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
# 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
# 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
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2

38
.github/workflows/e2e vendored
View File

@@ -1,38 +0,0 @@
name: E2E
on: [push, pull_request]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
steps:
- uses: actions/checkout@v3
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
cache: yarn
node-version: ${{ matrix.node-version }}
- name: Install Yarn
run: npm i yarn --global
- name: Install Packages
run: |
yarn install --frozen-lockfile
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
- name: Run Build
run: yarn build
- name: Run E2E Tests
run: yarn e2e
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress

72
.github/workflows/e2e-applitools.yml vendored Normal file
View File

@@ -0,0 +1,72 @@
name: E2E (Applitools)
on:
workflow_dispatch:
# Because we want to limit Applitools usage, so we only want to start this
# workflow on rare occasions/manually.
inputs:
parent_branch:
required: true
type: string
default: master
description: 'Parent branch to use for PRs'
permissions:
contents: read
env:
# on PRs from forks, this secret will always be empty, for security reasons
USE_APPLI: ${{ secrets.APPLITOOLS_API_KEY && 'true' || '' }}
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
steps:
- if: ${{ ! env.USE_APPLI }}
name: Warn if not using Applitools
run: |
echo "::error,title=Not using Applitols::APPLITOOLS_API_KEY is empty, disabling Applitools for this run."
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
# uses version from "packageManager" field in package.json
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
cache: pnpm
node-version: ${{ matrix.node-version }}
- name: Install Packages
run: |
pnpm install --frozen-lockfile
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
- if: ${{ env.USE_APPLI }}
name: Notify applitools of new batch
# Copied from docs https://applitools.com/docs/topics/integrations/github-integration-ci-setup.html
run: curl -L -d '' -X POST "$APPLITOOLS_SERVER_URL/api/externals/github/push?apiKey=$APPLITOOLS_API_KEY&CommitSha=$GITHUB_SHA&BranchName=${APPLITOOLS_BRANCH}$&ParentBranchName=$APPLITOOLS_PARENT_BRANCH"
env:
# e.g. mermaid-js/mermaid/my-branch
APPLITOOLS_BRANCH: ${{ github.repository }}/${{ github.ref_name }}
APPLITOOLS_PARENT_BRANCH: ${{ github.inputs.parent_branch }}
APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }}
APPLITOOLS_SERVER_URL: 'https://eyesapi.applitools.com'
- name: Run E2E Tests
run: pnpm run e2e
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
# Mermaid applitools.config.js uses this to pick batch name.
APPLI_BRANCH: ${{ github.ref_name }}
APPLITOOLS_BATCH_ID: ${{ github.sha }}
# e.g. mermaid-js/mermaid/my-branch
APPLITOOLS_BRANCH: ${{ github.repository }}/${{ github.ref_name }}
APPLITOOLS_PARENT_BRANCH: ${{ github.inputs.parent_branch }}
APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }}
APPLITOOLS_SERVER_URL: 'https://eyesapi.applitools.com'

46
.github/workflows/e2e.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
name: E2E
on: [push, pull_request]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [16.x]
containers: [1, 2, 3, 4]
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
# uses version from "packageManager" field in package.json
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
# Need to skip setup if Cypress run is skipped, otherwise an error
# is thrown since the pnpm cache step fails
if: ${{ ( env.CYPRESS_RECORD_KEY != '' ) || ( matrix.containers == 1 ) }}
with:
cache: pnpm
node-version: ${{ matrix.node-version }}
# Install NPM dependencies, cache them correctly
# and run all Cypress tests
- name: Cypress run
uses: cypress-io/github-action@v4
# If CYPRESS_RECORD_KEY is set, run in parallel on all containers
# Otherwise (e.g. if running from fork), we run on a single container only
if: ${{ ( env.CYPRESS_RECORD_KEY != '' ) || ( matrix.containers == 1 ) }}
with:
start: pnpm run dev
wait-on: 'http://localhost:9000'
# Disable recording if we don't have an API key
# e.g. if this action was run from a fork
record: ${{ secrets.CYPRESS_RECORD_KEY != '' }}
parallel: ${{ secrets.CYPRESS_RECORD_KEY != '' }}
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}

View File

@@ -1,6 +1,6 @@
name: Apply triage label to new issue
on:
on:
issues:
types: [opened]
@@ -8,7 +8,7 @@ jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: andymckay/labeler@1.0.4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
add-labels: "Status: Triage"
- uses: andymckay/labeler@1.0.4
with:
repo-token: '${{ secrets.GITHUB_TOKEN }}'
add-labels: 'Status: Triage'

View File

@@ -18,22 +18,25 @@ jobs:
matrix:
node-version: [16.x]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v3
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
cache: yarn
node-version: ${{ matrix.node-version }}
- uses: pnpm/action-setup@v2
# uses version from "packageManager" field in package.json
- name: Install Yarn
run: npm i yarn --global
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
cache: pnpm
node-version: ${{ matrix.node-version }}
- name: Install Packages
run: |
yarn install --frozen-lockfile
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
- name: Install Packages
run: |
pnpm install --frozen-lockfile
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
- name: Run Linting
run: yarn lint
- name: Run Linting
run: pnpm run lint
- name: Verify Docs
run: pnpm run docs:verify

View File

@@ -9,29 +9,28 @@ jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: Install Yarn
run: npm i yarn --global
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: Install Yarn
run: npm i yarn --global
- name: Install Json
run: npm i json --global
- name: Install Json
run: npm i json --global
- name: Install Packages
run: yarn install --frozen-lockfile
- name: Publish
run: |
PREVIEW_VERSION=8
VERSION=$(echo ${{github.ref}} | tail -c +20)-preview.$PREVIEW_VERSION
echo $VERSION
npm version --no-git-tag-version --allow-same-version $VERSION
npm set //npm.pkg.github.com/:_authToken ${{ secrets.GITHUB_TOKEN }}
npm set registry https://npm.pkg.github.com/mermaid-js
json -I -f package.json -e 'this.name="@mermaid-js/mermaid"' # Package name needs to be set to a scoped one because GitHub registry requires this
json -I -f package.json -e 'this.repository="git://github.com/mermaid-js/mermaid"' # Repo url needs to have a specific format too
npm publish
- name: Install Packages
run: yarn install --frozen-lockfile
- name: Publish
run: |
PREVIEW_VERSION=8
VERSION=$(echo ${{github.ref}} | tail -c +20)-preview.$PREVIEW_VERSION
echo $VERSION
npm version --no-git-tag-version --allow-same-version $VERSION
npm set //npm.pkg.github.com/:_authToken ${{ secrets.GITHUB_TOKEN }}
npm set registry https://npm.pkg.github.com/mermaid-js
json -I -f package.json -e 'this.name="@mermaid-js/mermaid"' # Package name needs to be set to a scoped one because GitHub registry requires this
json -I -f package.json -e 'this.repository="git://github.com/mermaid-js/mermaid"' # Repo url needs to have a specific format too
npm publish

View File

@@ -8,37 +8,37 @@ jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: fregante/setup-git-user@v1
- uses: actions/checkout@v3
- uses: fregante/setup-git-user@v1
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: Install Yarn
run: npm i yarn --global
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: Install Yarn
run: npm i yarn --global
- name: Install Json
run: npm i json --global
- name: Install Json
run: npm i json --global
- name: Install Packages
run: yarn install --frozen-lockfile
- name: Install Packages
run: yarn install --frozen-lockfile
- name: Prepare release
run: |
VERSION=${GITHUB_REF:10}
echo "Preparing release $VERSION"
git checkout -t origin/release/$VERSION
npm version --no-git-tag-version --allow-same-version $VERSION
git add package.json
git commit -m "Bump version $VERSION"
git checkout -t origin/master
git merge -m "Release $VERSION" --no-ff release/$VERSION
git push --no-verify
- name: Prepare release
run: |
VERSION=${GITHUB_REF:10}
echo "Preparing release $VERSION"
git checkout -t origin/release/$VERSION
npm version --no-git-tag-version --allow-same-version $VERSION
git add package.json
git commit -m "Bump version $VERSION"
git checkout -t origin/master
git merge -m "Release $VERSION" --no-ff release/$VERSION
git push --no-verify
- name: Publish
run: |
npm set //registry.npmjs.org/:_authToken $NPM_TOKEN
npm publish
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Publish
run: |
npm set //registry.npmjs.org/:_authToken $NPM_TOKEN
npm publish
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

View File

@@ -12,23 +12,32 @@ jobs:
matrix:
node-version: [16.x]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v3
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
cache: yarn
node-version: ${{ matrix.node-version }}
- uses: pnpm/action-setup@v2
# uses version from "packageManager" field in package.json
- name: Install Yarn
run: npm i yarn --global
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
cache: pnpm
node-version: ${{ matrix.node-version }}
- name: Install Packages
run: |
yarn install --frozen-lockfile
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
- name: Install Packages
run: |
pnpm install --frozen-lockfile
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
- name: Run Unit Tests
run: |
yarn ci --coverage
- name: Run Unit Tests
run: |
pnpm run ci --coverage
- name: Upload Coverage to Coveralls
# it feels a bit weird to use @master, but that's what the docs use
# (coveralls also doesn't publish a @v1 we can use)
# https://github.com/marketplace/actions/coveralls-github-action
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
flag-name: unit

View File

@@ -1,6 +1,6 @@
name: Unlock reopened issue
on:
on:
issues:
types: [reopened]
@@ -8,6 +8,6 @@ jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: Dunning-Kruger/unlock-issues@v1
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
- uses: Dunning-Kruger/unlock-issues@v1
with:
repo-token: '${{ secrets.GITHUB_TOKEN }}'

13
.gitignore vendored
View File

@@ -12,7 +12,11 @@ token
package-lock.json
.vscode/
# ignore files in /.vscode/ except for launch.json and extensions.json
/.vscode/**
!/.vscode/launch.json
!/.vscode/extensions.json
cypress/platform/current.html
cypress/platform/experimental.html
local/
@@ -22,4 +26,9 @@ Gemfile.lock
/.vs
cypress/screenshots/
cypress/snapshots/
cypress/snapshots/
# eslint --cache file
.eslintcache
.tsbuildinfo
tsconfig.tsbuildinfo

View File

@@ -1,4 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
yarn pre-commit
pnpm run pre-commit

View File

@@ -1,5 +1,6 @@
{
"*.{js,json,html,md}": [
"yarn lint:fix"
]
}
"packages/mermaid/src/docs/**": ["pnpm run docs:build --git"],
"packages/mermaid/src/docs.mts": ["pnpm run docs:build --git"],
"*.{ts,js,json,html,md,mts}": ["eslint --fix", "prettier --write"],
"*.jison": ["pnpm run lint:jison"]
}

6
.prettierignore Normal file
View File

@@ -0,0 +1,6 @@
dist
cypress/platform/xss3.html
.cache
coverage
# Autogenerated by PNPM
pnpm-lock.yaml

View File

@@ -1,8 +1,7 @@
{
"endOfLine": "auto",
"plugins": [
"prettier-plugin-jsdoc"
],
"printWidth": 100,
"singleQuote": true
}
"singleQuote": true,
"useTabs": false,
"tabWidth": 2
}

View File

@@ -1,12 +1,8 @@
{
"ecmaVersion": 6,
"libs": [
"browser"
],
"libs": ["browser"],
"loadEagerly": [],
"dontLoad": [
"node_modules/**"
],
"dontLoad": ["node_modules/**"],
"plugins": {
"modules": {},
"es_modules": {},
@@ -16,4 +12,4 @@
"strong": true
}
}
}
}

142
.vite/build.ts Normal file
View File

@@ -0,0 +1,142 @@
import { build, InlineConfig } from 'vite';
import { resolve } from 'path';
import { fileURLToPath } from 'url';
import jisonPlugin from './jisonPlugin.js';
import pkg from '../package.json' assert { type: 'json' };
const { dependencies } = pkg;
const watch = process.argv.includes('--watch');
const __dirname = fileURLToPath(new URL('.', import.meta.url));
type OutputOptions = Exclude<
Exclude<InlineConfig['build'], undefined>['rollupOptions'],
undefined
>['output'];
const packageOptions = {
mermaid: {
name: 'mermaid',
packageName: 'mermaid',
file: 'mermaid.ts',
},
'mermaid-mindmap': {
name: 'mermaid-mindmap',
packageName: 'mermaid-mindmap',
file: 'add-diagram.ts',
},
'mermaid-mindmap-detector': {
name: 'mermaid-mindmap-detector',
packageName: 'mermaid-mindmap',
file: 'registry.ts',
},
'mermaid-example-diagram': {
name: 'mermaid-example-diagram',
packageName: 'mermaid-example-diagram',
file: 'add-diagram.ts',
},
'mermaid-example-diagram-detector': {
name: 'mermaid-example-diagram-detector',
packageName: 'mermaid-example-diagram',
file: 'registry.ts',
},
};
interface BuildOptions {
minify: boolean | 'esbuild';
core?: boolean;
watch?: boolean;
entryName: keyof typeof packageOptions;
}
export const getBuildConfig = ({ minify, core, watch, entryName }: BuildOptions): InlineConfig => {
const external = ['require', 'fs', 'path'];
console.log(entryName, packageOptions[entryName]);
const { name, file, packageName } = packageOptions[entryName];
let output: OutputOptions = [
{
name,
format: 'esm',
sourcemap: true,
entryFileNames: `${name}.esm${minify ? '.min' : ''}.mjs`,
},
{
name,
format: 'umd',
sourcemap: true,
entryFileNames: `${name}${minify ? '.min' : ''}.js`,
},
];
if (core) {
// Core build is used to generate file without bundled dependencies.
// This is used by downstream projects to bundle dependencies themselves.
external.push(...Object.keys(dependencies));
// This needs to be an array. Otherwise vite will build esm & umd with same name and overwrite esm with umd.
output = [
{
name,
format: 'esm',
sourcemap: true,
entryFileNames: `${name}.core.mjs`,
},
];
}
const config: InlineConfig = {
configFile: false,
build: {
emptyOutDir: false,
outDir: resolve(__dirname, `../packages/${packageName}/dist`),
lib: {
entry: resolve(__dirname, `../packages/${packageName}/src/${file}`),
name,
// the proper extensions will be added
fileName: name,
},
minify,
rollupOptions: {
external,
output,
},
},
resolve: {
extensions: ['.jison', '.js', '.ts', '.json'],
},
plugins: [jisonPlugin()],
};
if (watch && config.build) {
config.build.watch = {
include: [
'packages/mermaid-mindmap/src/**',
'packages/mermaid/src/**',
'packages/mermaid-example-diagram/src/**',
],
};
}
return config;
};
const buildPackage = async (entryName: keyof typeof packageOptions) => {
return Promise.allSettled([
build(getBuildConfig({ minify: false, entryName })),
build(getBuildConfig({ minify: 'esbuild', entryName })),
build(getBuildConfig({ minify: false, core: true, entryName })),
]);
};
const main = async () => {
const packageNames = Object.keys(packageOptions) as (keyof typeof packageOptions)[];
for (const pkg of packageNames) {
await buildPackage(pkg);
}
};
if (watch) {
build(getBuildConfig({ minify: false, watch, entryName: 'mermaid' }));
build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-mindmap' }));
build(getBuildConfig({ minify: false, watch, entryName: 'mermaid-example-diagram' }));
} else {
void main();
}

17
.vite/jisonPlugin.ts Normal file
View File

@@ -0,0 +1,17 @@
import { transformJison } from './jisonTransformer.js';
const fileRegex = /\.(jison)$/;
export default function jison() {
return {
name: 'jison',
transform(src: string, id: string) {
if (fileRegex.test(id)) {
return {
code: transformJison(src),
map: null, // provide source map if available
};
}
},
};
}

17
.vite/jisonTransformer.ts Normal file
View File

@@ -0,0 +1,17 @@
// @ts-ignore No typings for jison
import jison from 'jison';
export const transformJison = (src: string): string => {
// @ts-ignore No typings for jison
const parser = new jison.Generator(src, {
moduleType: 'js',
'token-stack': true,
});
const source = parser.generate({ moduleMain: '() => {}' });
const exporter = `
parser.parser = parser;
export { parser };
export default parser;
`;
return `${source} ${exporter}`;
};

28
.vite/server.ts Normal file
View File

@@ -0,0 +1,28 @@
import express from 'express';
import { createServer as createViteServer } from 'vite';
// import { getBuildConfig } from './build';
async function createServer() {
const app = express();
// Create Vite server in middleware mode
const vite = await createViteServer({
configFile: './vite.config.ts',
server: { middlewareMode: true },
appType: 'custom', // don't include Vite's default HTML handling middlewares
});
app.use(express.static('./packages/mermaid/dist'));
app.use(express.static('./packages/mermaid-example-diagram/dist'));
app.use(express.static('./packages/mermaid-mindmap/dist'));
app.use(vite.middlewares);
app.use(express.static('demos'));
app.use(express.static('cypress/platform'));
app.listen(9000, () => {
console.log(`Listening on http://localhost:9000`);
});
}
// build(getBuildConfig({ minify: false, watch: true }));
createServer();

6
.vite/tsconfig.json Normal file
View File

@@ -0,0 +1,6 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"module": "ES2022"
}
}

8
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,8 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"zixuanchen.vitest-explorer",
"luniclynx.bison"
]
}

17
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,17 @@
{
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug Current Test File",
"autoAttachChildProcesses": true,
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
"args": ["run", "${relativeFile}"],
"smartStep": true,
"console": "integratedTerminal"
}
]
}

View File

@@ -1,25 +0,0 @@
const { Generator } = require('jison');
const validate = require('schema-utils');
const schema = {
title: 'Jison Parser options',
type: 'object',
properties: {
'token-stack': {
type: 'boolean',
},
debug: {
type: 'boolean',
},
},
additionalProperties: false,
};
module.exports = function jisonLoader(source) {
const options = this.getOptions();
(validate.validate || validate)(schema, options, {
name: 'Jison Loader',
baseDataPath: 'options',
});
return new Generator(source, options).generate();
};

View File

@@ -1,45 +0,0 @@
import { merge, mergeWithCustomize, customizeObject } from 'webpack-merge';
import nodeExternals from 'webpack-node-externals';
import baseConfig from './webpack.config.base';
export default (_env, args) => {
switch (args.mode) {
case 'development':
return [
baseConfig,
merge(baseConfig, {
externals: [nodeExternals()],
output: {
filename: '[name].core.js',
},
}),
];
case 'production':
return [
// umd
merge(baseConfig, {
output: {
filename: '[name].min.js',
},
}),
// esm
mergeWithCustomize({
customizeObject: customizeObject({
'output.library': 'replace',
}),
})(baseConfig, {
experiments: {
outputModule: true,
},
output: {
library: {
type: 'module',
},
filename: '[name].esm.min.mjs',
},
}),
];
default:
throw new Error('No matching configuration was found!');
}
};

View File

@@ -1,54 +0,0 @@
import path from 'path';
export const resolveRoot = (...relativePath) => path.resolve(__dirname, '..', ...relativePath);
export default {
amd: false, // https://github.com/lodash/lodash/issues/3052
target: 'web',
entry: {
mermaid: './src/mermaid.js',
},
resolve: {
extensions: ['.wasm', '.mjs', '.js', '.json', '.jison'],
fallback: {
fs: false, // jison generated code requires 'fs'
path: require.resolve('path-browserify'),
},
},
output: {
path: resolveRoot('./dist'),
filename: '[name].js',
library: {
name: 'mermaid',
type: 'umd',
export: 'default',
},
globalObject: 'typeof self !== "undefined" ? self : this',
},
module: {
rules: [
{
test: /\.js$/,
include: [resolveRoot('./src'), resolveRoot('./node_modules/dagre-d3-renderer/lib')],
use: {
loader: 'babel-loader',
},
},
{
// load scss to string
test: /\.scss$/,
use: ['css-to-string-loader', 'css-loader', 'sass-loader'],
},
{
test: /\.jison$/,
use: {
loader: path.resolve(__dirname, './loaders/jison.js'),
options: {
'token-stack': true,
},
},
},
],
},
devtool: 'source-map',
};

View File

@@ -1,37 +0,0 @@
import baseConfig, { resolveRoot } from './webpack.config.base';
import { merge } from 'webpack-merge';
export default merge(baseConfig, {
mode: 'development',
entry: {
mermaid: './src/mermaid.js',
e2e: './cypress/platform/viewer.js',
'bundle-test': './cypress/platform/bundle-test.js',
},
output: {
globalObject: 'window',
},
devServer: {
compress: true,
port: 9000,
static: [
{ directory: resolveRoot('cypress', 'platform') },
{ directory: resolveRoot('dist') },
{ directory: resolveRoot('demos') },
],
},
externals: {
mermaid: 'mermaid',
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
},
},
],
},
});

View File

@@ -1,5 +1,10 @@
# Change Log
// TODO: Populate changelog
- Config has a lot of changes
- globalReset resets to `defaultConfig` instead of current config. Use `reset` instead.
## [Unreleased](https://github.com/knsv/mermaid/tree/HEAD)
[Full Changelog](https://github.com/knsv/mermaid/compare/8.2.0...HEAD)
@@ -9,6 +14,7 @@
- Cross-Site Scripting:DOM - Issue [\#847](https://github.com/knsv/mermaid/issues/847)
## [8.2.0](https://github.com/knsv/mermaid/tree/8.2.0) (2019-07-17)
[Full Changelog](https://github.com/knsv/mermaid/compare/8.1.0...8.2.0)
**Closed issues:**
@@ -26,15 +32,15 @@
- typora [\#823](https://github.com/knsv/mermaid/issues/823)
- Maintain the order of the nodes in Flowchart [\#815](https://github.com/knsv/mermaid/issues/815)
- Overlap, Overflow and cut titles in flowchart [\#814](https://github.com/knsv/mermaid/issues/814)
- How load mermaidApi notejs electron [\#813](https://github.com/knsv/mermaid/issues/813)
- How load mermaidApi notejs electron [\#813](https://github.com/knsv/mermaid/issues/813)
- How to set the spacing between the text of the flowchart node and the border? [\#812](https://github.com/knsv/mermaid/issues/812)
- no triming participant name and the name following spaces is as another actor in sequence [\#809](https://github.com/knsv/mermaid/issues/809)
- no triming participant name and the name following spaces is as another actor in sequence [\#809](https://github.com/knsv/mermaid/issues/809)
- uml Class as shape type [\#807](https://github.com/knsv/mermaid/issues/807)
- Force-directed graph Layout Style [\#806](https://github.com/knsv/mermaid/issues/806)
- how can I start a newLine in FlowChart [\#805](https://github.com/knsv/mermaid/issues/805)
- UOEProcessShow [\#801](https://github.com/knsv/mermaid/issues/801)
- Why the use of code blocks? [\#799](https://github.com/knsv/mermaid/issues/799)
- fixing class diagram [\#794](https://github.com/knsv/mermaid/issues/794)
- fixing class diagram [\#794](https://github.com/knsv/mermaid/issues/794)
- Autonumber support in sequence diagrams [\#782](https://github.com/knsv/mermaid/issues/782)
- MomentJS dependency [\#781](https://github.com/knsv/mermaid/issues/781)
- Feature : Can we color code the flow/arrows [\#766](https://github.com/knsv/mermaid/issues/766)
@@ -60,6 +66,7 @@
- Adding trapezoid and inverse trapezoid vertex options. [\#741](https://github.com/knsv/mermaid/pull/741) ([adamwulf](https://github.com/adamwulf))
## [8.1.0](https://github.com/knsv/mermaid/tree/8.1.0) (2019-06-25)
[Full Changelog](https://github.com/knsv/mermaid/compare/7.0.5...8.1.0)
**Closed issues:**
@@ -68,9 +75,9 @@
- margins around flowchart are not balanced [\#852](https://github.com/knsv/mermaid/issues/852)
- Smaller bundles [\#843](https://github.com/knsv/mermaid/issues/843)
- unicode in labels [\#776](https://github.com/knsv/mermaid/issues/776)
- Hard-changing drawing of arrows per edge type [\#775](https://github.com/knsv/mermaid/issues/775)
- Hard-changing drawing of arrows per edge type [\#775](https://github.com/knsv/mermaid/issues/775)
- SequenceDiagram wrong [\#773](https://github.com/knsv/mermaid/issues/773)
- Render mermaid on github pages with simple code [\#772](https://github.com/knsv/mermaid/issues/772)
- Render mermaid on github pages with simple code [\#772](https://github.com/knsv/mermaid/issues/772)
- FlowChart - large space between text and the image [\#754](https://github.com/knsv/mermaid/issues/754)
- Class Diagram Issues when using Mermaid in Stackedit [\#748](https://github.com/knsv/mermaid/issues/748)
- Multi-platform CI [\#744](https://github.com/knsv/mermaid/issues/744)
@@ -83,18 +90,18 @@
- Issue on Dynamic Creation in PHP [\#690](https://github.com/knsv/mermaid/issues/690)
- `click "\#target"` and `click "http://url"` should create regular links [\#689](https://github.com/knsv/mermaid/issues/689)
- Support Chinese punctuation [\#687](https://github.com/knsv/mermaid/issues/687)
- \[Question\] Proper way to install on Mac? [\#681](https://github.com/knsv/mermaid/issues/681)
- Has Mermaid a graphical interface to make diagrams? [\#668](https://github.com/knsv/mermaid/issues/668)
- mermaid installation on debian [\#649](https://github.com/knsv/mermaid/issues/649)
- \[Question\] Proper way to install on Mac? [\#681](https://github.com/knsv/mermaid/issues/681)
- Has Mermaid a graphical interface to make diagrams? [\#668](https://github.com/knsv/mermaid/issues/668)
- mermaid installation on debian [\#649](https://github.com/knsv/mermaid/issues/649)
- "Cannot activate" in sequenceDiagram [\#647](https://github.com/knsv/mermaid/issues/647)
- Link \("click" statement\) in flowchart does not work in exported SVG [\#646](https://github.com/knsv/mermaid/issues/646)
- How to pass styling [\#639](https://github.com/knsv/mermaid/issues/639)
- How to pass styling [\#639](https://github.com/knsv/mermaid/issues/639)
- The live editor cant show seq diagram with notes for 8.0.0-alpha.3 [\#638](https://github.com/knsv/mermaid/issues/638)
- import mermaid.css with ES6 + NPM [\#634](https://github.com/knsv/mermaid/issues/634)
- Actor line cuts through other elements [\#633](https://github.com/knsv/mermaid/issues/633)
- Graph TD line out of the picture \(left side\) [\#630](https://github.com/knsv/mermaid/issues/630)
- Flowchart labels appear "cutoff" [\#628](https://github.com/knsv/mermaid/issues/628)
- Uncaught TypeError: \_.constant is not a function \(mermaid.js\) [\#626](https://github.com/knsv/mermaid/issues/626)
- Flowchart labels appear "cutoff" [\#628](https://github.com/knsv/mermaid/issues/628)
- Uncaught TypeError: \_.constant is not a function \(mermaid.js\) [\#626](https://github.com/knsv/mermaid/issues/626)
- Missing tags and releases for newer versions [\#623](https://github.com/knsv/mermaid/issues/623)
- Mermaid and Leo / Leo Vue [\#622](https://github.com/knsv/mermaid/issues/622)
- mermaidAPI gantt Vue.js [\#621](https://github.com/knsv/mermaid/issues/621)
@@ -129,7 +136,7 @@
- TypeError: Cannot read property 'select' of undefined [\#563](https://github.com/knsv/mermaid/issues/563)
- A little bug [\#557](https://github.com/knsv/mermaid/issues/557)
- Japanese text appears garbled [\#554](https://github.com/knsv/mermaid/issues/554)
- classdiagram not works in mermaid live\_editor [\#553](https://github.com/knsv/mermaid/issues/553)
- classdiagram not works in mermaid live_editor [\#553](https://github.com/knsv/mermaid/issues/553)
- font awesome in link text? [\#546](https://github.com/knsv/mermaid/issues/546)
- q: heard of the cosmogol standard? [\#545](https://github.com/knsv/mermaid/issues/545)
- Arrow heads missing \(cli, 7.0.3\) [\#544](https://github.com/knsv/mermaid/issues/544)
@@ -156,7 +163,7 @@
- Flowchart edge labels placement [\#490](https://github.com/knsv/mermaid/issues/490)
- Very different styles when rendering as png vs. svg [\#489](https://github.com/knsv/mermaid/issues/489)
- New editor that supports mermaid: Caret [\#488](https://github.com/knsv/mermaid/issues/488)
- Gant PNG margin [\#486](https://github.com/knsv/mermaid/issues/486)
- Gant PNG margin [\#486](https://github.com/knsv/mermaid/issues/486)
- ReferenceError: window is not defined [\#485](https://github.com/knsv/mermaid/issues/485)
- Menu and layout bugs in docs [\#484](https://github.com/knsv/mermaid/issues/484)
- Mermaid resets some of the page CSS styles [\#482](https://github.com/knsv/mermaid/issues/482)
@@ -180,7 +187,7 @@
- Live editor show rendered diagram if syntax invalid [\#415](https://github.com/knsv/mermaid/issues/415)
- Live editor sticky sidebar [\#414](https://github.com/knsv/mermaid/issues/414)
- Linkstyle stroke does not work [\#410](https://github.com/knsv/mermaid/issues/410)
- flowchart id's with dots in them .. break links [\#408](https://github.com/knsv/mermaid/issues/408)
- flowchart id's with dots in them .. break links [\#408](https://github.com/knsv/mermaid/issues/408)
- Flowchart: Link text beginning with lowercase 'o' causes flowchart to break [\#407](https://github.com/knsv/mermaid/issues/407)
- Some chinese character will case Safari no responding. [\#405](https://github.com/knsv/mermaid/issues/405)
- Cannot center-justify text in nodes? [\#397](https://github.com/knsv/mermaid/issues/397)
@@ -191,7 +198,7 @@
- sequence diagram config issue [\#385](https://github.com/knsv/mermaid/issues/385)
- How to add newline in the text [\#384](https://github.com/knsv/mermaid/issues/384)
- PhantomJS crashes on a large graph [\#380](https://github.com/knsv/mermaid/issues/380)
- Finnish support for class diagrams using plantuml syntax [\#377](https://github.com/knsv/mermaid/issues/377)
- Finnish support for class diagrams using plantuml syntax [\#377](https://github.com/knsv/mermaid/issues/377)
- mermaidAPI.render generated different svg code from mermaid.int\(\) [\#374](https://github.com/knsv/mermaid/issues/374)
- Put your own action on the chart [\#372](https://github.com/knsv/mermaid/issues/372)
- when declaring participants the elements are generated twice [\#370](https://github.com/knsv/mermaid/issues/370)
@@ -226,7 +233,7 @@
- \[Feature request\] gantt diagram axis format [\#269](https://github.com/knsv/mermaid/issues/269)
- Not Able to See Labels even htmlLabels:false added [\#268](https://github.com/knsv/mermaid/issues/268)
- npm run watch doesnt work due missing dependencies [\#266](https://github.com/knsv/mermaid/issues/266)
- label out of node [\#262](https://github.com/knsv/mermaid/issues/262)
- label out of node [\#262](https://github.com/knsv/mermaid/issues/262)
- IE11 Support issue [\#261](https://github.com/knsv/mermaid/issues/261)
- mermaid without browser [\#260](https://github.com/knsv/mermaid/issues/260)
- Insufficient capacity of gantt diagrams [\#226](https://github.com/knsv/mermaid/issues/226)
@@ -263,13 +270,14 @@
- Sequence numbers [\#722](https://github.com/knsv/mermaid/pull/722) ([paulbland](https://github.com/paulbland))
- Add option for right angles [\#721](https://github.com/knsv/mermaid/pull/721) ([paulbland](https://github.com/paulbland))
- Add nested activation classes [\#720](https://github.com/knsv/mermaid/pull/720) ([paulbland](https://github.com/paulbland))
- wip: class diagram cardinality display [\#705](https://github.com/knsv/mermaid/pull/705) ([Vrixyz](https://github.com/Vrixyz))
- wip: class diagram cardinality display [\#705](https://github.com/knsv/mermaid/pull/705) ([Vrixyz](https://github.com/Vrixyz))
- add comments about CSS in config [\#688](https://github.com/knsv/mermaid/pull/688) ([imma90](https://github.com/imma90))
- SequenceDiagram: Add support for multiple alt else statements [\#641](https://github.com/knsv/mermaid/pull/641) ([sechel](https://github.com/sechel))
- fix \#426 - add class .clickable on nodes with click function or link [\#598](https://github.com/knsv/mermaid/pull/598) ([thomasleveil](https://github.com/thomasleveil))
- Spec fix 1 [\#595](https://github.com/knsv/mermaid/pull/595) ([frankschmitt](https://github.com/frankschmitt))
## [7.0.5](https://github.com/knsv/mermaid/tree/7.0.5) (2017-09-01)
[Full Changelog](https://github.com/knsv/mermaid/compare/7.0.3...7.0.5)
**Closed issues:**
@@ -293,6 +301,7 @@
- New documentation - need improved logo [\#216](https://github.com/knsv/mermaid/issues/216)
## [7.0.3](https://github.com/knsv/mermaid/tree/7.0.3) (2017-06-04)
[Full Changelog](https://github.com/knsv/mermaid/compare/7.0.2...7.0.3)
**Closed issues:**
@@ -301,6 +310,7 @@
- Good example of interactivity with mermaidAPI [\#514](https://github.com/knsv/mermaid/issues/514)
## [7.0.2](https://github.com/knsv/mermaid/tree/7.0.2) (2017-06-01)
[Full Changelog](https://github.com/knsv/mermaid/compare/7.0.0...7.0.2)
**Closed issues:**
@@ -337,6 +347,7 @@
- add par statement to sequenceDiagram [\#470](https://github.com/knsv/mermaid/pull/470) ([u-minor](https://github.com/u-minor))
## [7.0.0](https://github.com/knsv/mermaid/tree/7.0.0) (2017-01-29)
[Full Changelog](https://github.com/knsv/mermaid/compare/6.0.0...7.0.0)
**Closed issues:**
@@ -345,7 +356,7 @@
- Can not be generated PNG pictures through CLI with Chinese [\#451](https://github.com/knsv/mermaid/issues/451)
- Round nodes cannot be styled with CSS classes [\#443](https://github.com/knsv/mermaid/issues/443)
- webpack gulp UglifyJsPlugin error. [\#440](https://github.com/knsv/mermaid/issues/440)
- String concatenation isn't working [\#432](https://github.com/knsv/mermaid/issues/432)
- String concatenation isn't working [\#432](https://github.com/knsv/mermaid/issues/432)
- text flow/wrap in actor box of sequence diagram [\#422](https://github.com/knsv/mermaid/issues/422)
- Online live editor still use old version [\#402](https://github.com/knsv/mermaid/issues/402)
- uncaught TypeError: t.getTransformToElement is not a function [\#401](https://github.com/knsv/mermaid/issues/401)
@@ -372,7 +383,7 @@
- fix gantt chart cli configuration parsing including functions [\#430](https://github.com/knsv/mermaid/pull/430) ([whyzdev](https://github.com/whyzdev))
- Uses an empty text node instead of a string for svg group labels [\#429](https://github.com/knsv/mermaid/pull/429) ([daveaglick](https://github.com/daveaglick))
- use tspan via d3.textwrap to place actor text in sequence diagram [\#427](https://github.com/knsv/mermaid/pull/427) ([whyzdev](https://github.com/whyzdev))
- \#422 use foreignObject/div to place actor label in sequence diagram [\#423](https://github.com/knsv/mermaid/pull/423) ([whyzdev](https://github.com/whyzdev))
- \#422 use foreignObject/div to place actor label in sequence diagram [\#423](https://github.com/knsv/mermaid/pull/423) ([whyzdev](https://github.com/whyzdev))
- Clarify the need for a CSS stylesheet [\#413](https://github.com/knsv/mermaid/pull/413) ([sifb](https://github.com/sifb))
- Added hads downstream project [\#412](https://github.com/knsv/mermaid/pull/412) ([sinedied](https://github.com/sinedied))
- update usage and fix \#273 [\#406](https://github.com/knsv/mermaid/pull/406) ([jinntrance](https://github.com/jinntrance))
@@ -387,6 +398,7 @@
- Fix typo in the sequence diagram documentation [\#369](https://github.com/knsv/mermaid/pull/369) ([ggpasqualino](https://github.com/ggpasqualino))
## [6.0.0](https://github.com/knsv/mermaid/tree/6.0.0) (2016-05-29)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.8...6.0.0)
**Closed issues:**
@@ -425,9 +437,11 @@
- Quote phantomPath so that it doesn't fail on window [\#286](https://github.com/knsv/mermaid/pull/286) ([raghur](https://github.com/raghur))
## [0.5.8](https://github.com/knsv/mermaid/tree/0.5.8) (2016-01-27)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.7...0.5.8)
## [0.5.7](https://github.com/knsv/mermaid/tree/0.5.7) (2016-01-25)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.6...0.5.7)
**Closed issues:**
@@ -449,6 +463,7 @@
- Allow sequenceDiagram participant aliasing [\#265](https://github.com/knsv/mermaid/pull/265) ([gibson042](https://github.com/gibson042))
## [0.5.6](https://github.com/knsv/mermaid/tree/0.5.6) (2015-11-22)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.5...0.5.6)
**Closed issues:**
@@ -479,6 +494,7 @@
- Add a Gitter chat badge to README.md [\#230](https://github.com/knsv/mermaid/pull/230) ([gitter-badger](https://github.com/gitter-badger))
## [0.5.5](https://github.com/knsv/mermaid/tree/0.5.5) (2015-10-21)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.4...0.5.5)
**Closed issues:**
@@ -490,6 +506,7 @@
- Fix a typo: crosshead --\> arrowhead [\#228](https://github.com/knsv/mermaid/pull/228) ([tylerlong](https://github.com/tylerlong))
## [0.5.4](https://github.com/knsv/mermaid/tree/0.5.4) (2015-10-19)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.3...0.5.4)
**Closed issues:**
@@ -513,9 +530,11 @@
- Remove duplicate npm dependencies: d3 and he [\#223](https://github.com/knsv/mermaid/pull/223) ([spect88](https://github.com/spect88))
## [0.5.3](https://github.com/knsv/mermaid/tree/0.5.3) (2015-10-04)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.2...0.5.3)
## [0.5.2](https://github.com/knsv/mermaid/tree/0.5.2) (2015-10-04)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.1...0.5.2)
**Closed issues:**
@@ -526,7 +545,7 @@
- node feature request [\#211](https://github.com/knsv/mermaid/issues/211)
- Please add prefix for styles [\#208](https://github.com/knsv/mermaid/issues/208)
- Bad handling of block arguments [\#207](https://github.com/knsv/mermaid/issues/207)
- please consider port to mac osx [\#203](https://github.com/knsv/mermaid/issues/203)
- please consider port to mac osx [\#203](https://github.com/knsv/mermaid/issues/203)
- allow phantomjs \>=1.9.x [\#201](https://github.com/knsv/mermaid/issues/201)
- syntax for venn diagrams? [\#200](https://github.com/knsv/mermaid/issues/200)
- Broken CLI Graphs? \(v0.5.1\) [\#196](https://github.com/knsv/mermaid/issues/196)
@@ -555,7 +574,7 @@
- Last word in comment boxes getting cut off by word wrap library : \( [\#195](https://github.com/knsv/mermaid/issues/195)
- Escaping characters in sequence diagram [\#193](https://github.com/knsv/mermaid/issues/193)
- SVG foreignObject rendering [\#180](https://github.com/knsv/mermaid/issues/180)
- IE9 issue [\#179](https://github.com/knsv/mermaid/issues/179)
- IE9 issue [\#179](https://github.com/knsv/mermaid/issues/179)
- inoperable in an AMD/requirejs environment: IPython Notebook [\#127](https://github.com/knsv/mermaid/issues/127)
- \[Parser\] Hyphen in participant name bring TypeError [\#74](https://github.com/knsv/mermaid/issues/74)
- Support for hyperlink and tooltip [\#34](https://github.com/knsv/mermaid/issues/34)
@@ -569,6 +588,7 @@
- Update phantomscript.js [\#182](https://github.com/knsv/mermaid/pull/182) ([phairow](https://github.com/phairow))
## [0.5.1](https://github.com/knsv/mermaid/tree/0.5.1) (2015-06-21)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.0...0.5.1)
**Closed issues:**
@@ -600,6 +620,7 @@
- Remove moot `version` property from bower.json [\#172](https://github.com/knsv/mermaid/pull/172) ([kkirsche](https://github.com/kkirsche))
## [0.5.0](https://github.com/knsv/mermaid/tree/0.5.0) (2015-06-07)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.4.0...0.5.0)
**Closed issues:**
@@ -634,6 +655,7 @@
- Use a library-level variable for assigning ids [\#134](https://github.com/knsv/mermaid/pull/134) ([bollwyvl](https://github.com/bollwyvl))
## [0.4.0](https://github.com/knsv/mermaid/tree/0.4.0) (2015-03-01)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.5...0.4.0)
**Closed issues:**
@@ -646,9 +668,11 @@
- Improve arrows [\#3](https://github.com/knsv/mermaid/issues/3)
## [0.3.5](https://github.com/knsv/mermaid/tree/0.3.5) (2015-02-15)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.4...0.3.5)
## [0.3.4](https://github.com/knsv/mermaid/tree/0.3.4) (2015-02-15)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.3...0.3.4)
**Closed issues:**
@@ -676,6 +700,7 @@
- Ignore all files except the license and dist/ folder when installing with Bower. [\#112](https://github.com/knsv/mermaid/pull/112) ([jasonbellamy](https://github.com/jasonbellamy))
## [0.3.3](https://github.com/knsv/mermaid/tree/0.3.3) (2015-01-25)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.2...0.3.3)
**Closed issues:**
@@ -693,6 +718,7 @@
- fix html tags in example usage [\#100](https://github.com/knsv/mermaid/pull/100) ([deiwin](https://github.com/deiwin))
## [0.3.2](https://github.com/knsv/mermaid/tree/0.3.2) (2015-01-11)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.1...0.3.2)
**Closed issues:**
@@ -712,6 +738,7 @@
- Template change [\#88](https://github.com/knsv/mermaid/pull/88) ([gkchic](https://github.com/gkchic))
## [0.3.1](https://github.com/knsv/mermaid/tree/0.3.1) (2015-01-05)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.0...0.3.1)
**Closed issues:**
@@ -732,6 +759,7 @@
- Add apostrophe & 'and' [\#72](https://github.com/knsv/mermaid/pull/72) ([sudodoki](https://github.com/sudodoki))
## [0.3.0](https://github.com/knsv/mermaid/tree/0.3.0) (2014-12-22)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.16...0.3.0)
**Closed issues:**
@@ -750,6 +778,7 @@
- Allow special symbols for direction along with acronyms [\#66](https://github.com/knsv/mermaid/pull/66) ([vijay40](https://github.com/vijay40))
## [0.2.16](https://github.com/knsv/mermaid/tree/0.2.16) (2014-12-15)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.15...0.2.16)
**Closed issues:**
@@ -768,11 +797,12 @@
- New grammar will allow statements ending without semicolon as disccused in Issue \#38 [\#63](https://github.com/knsv/mermaid/pull/63) ([vijay40](https://github.com/vijay40))
- Class based styling [\#62](https://github.com/knsv/mermaid/pull/62) ([bjowes](https://github.com/bjowes))
- Fix typos [\#60](https://github.com/knsv/mermaid/pull/60) ([sublimino](https://github.com/sublimino))
- Included .DS\_Store in gitignore [\#57](https://github.com/knsv/mermaid/pull/57) ([alvynmcq](https://github.com/alvynmcq))
- Included .DS_Store in gitignore [\#57](https://github.com/knsv/mermaid/pull/57) ([alvynmcq](https://github.com/alvynmcq))
- Improves readablity discussed in issue \#38 [\#56](https://github.com/knsv/mermaid/pull/56) ([vijay40](https://github.com/vijay40))
- Added a linting task for gulp [\#43](https://github.com/knsv/mermaid/pull/43) ([serv](https://github.com/serv))
## [0.2.15](https://github.com/knsv/mermaid/tree/0.2.15) (2014-12-05)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.14...0.2.15)
**Closed issues:**
@@ -785,13 +815,15 @@
**Merged pull requests:**
- Include bower\_components/ to .gitignore [\#33](https://github.com/knsv/mermaid/pull/33) ([serv](https://github.com/serv))
- Include bower_components/ to .gitignore [\#33](https://github.com/knsv/mermaid/pull/33) ([serv](https://github.com/serv))
- Fixed reference to Git repo. [\#32](https://github.com/knsv/mermaid/pull/32) ([guyellis](https://github.com/guyellis))
## [0.2.14](https://github.com/knsv/mermaid/tree/0.2.14) (2014-12-03)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.13...0.2.14)
## [0.2.13](https://github.com/knsv/mermaid/tree/0.2.13) (2014-12-03)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.10...0.2.13)
**Closed issues:**
@@ -805,9 +837,11 @@
- Publish to NPM [\#7](https://github.com/knsv/mermaid/issues/7)
## [0.2.10](https://github.com/knsv/mermaid/tree/0.2.10) (2014-12-01)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.9...0.2.10)
## [0.2.9](https://github.com/knsv/mermaid/tree/0.2.9) (2014-12-01)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.8...0.2.9)
**Closed issues:**
@@ -820,9 +854,11 @@
- Allow unicode chars in labels [\#13](https://github.com/knsv/mermaid/pull/13) ([codebeige](https://github.com/codebeige))
## [0.2.8](https://github.com/knsv/mermaid/tree/0.2.8) (2014-12-01)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.7...0.2.8)
## [0.2.7](https://github.com/knsv/mermaid/tree/0.2.7) (2014-12-01)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.6...0.2.7)
**Closed issues:**
@@ -830,9 +866,11 @@
- Provide parser as separate module [\#4](https://github.com/knsv/mermaid/issues/4)
## [0.2.6](https://github.com/knsv/mermaid/tree/0.2.6) (2014-11-27)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.5...0.2.6)
## [0.2.5](https://github.com/knsv/mermaid/tree/0.2.5) (2014-11-27)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.4...0.2.5)
**Merged pull requests:**
@@ -840,24 +878,29 @@
- Added new shapes! [\#1](https://github.com/knsv/mermaid/pull/1) ([bjowes](https://github.com/bjowes))
## [0.2.4](https://github.com/knsv/mermaid/tree/0.2.4) (2014-11-25)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.3...0.2.4)
## [0.2.3](https://github.com/knsv/mermaid/tree/0.2.3) (2014-11-24)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.2...0.2.3)
## [0.2.2](https://github.com/knsv/mermaid/tree/0.2.2) (2014-11-22)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.1...0.2.2)
## [0.2.1](https://github.com/knsv/mermaid/tree/0.2.1) (2014-11-22)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.0...0.2.1)
## [0.2.0](https://github.com/knsv/mermaid/tree/0.2.0) (2014-11-22)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.1.1...0.2.0)
## [0.1.1](https://github.com/knsv/mermaid/tree/0.1.1) (2014-11-17)
[Full Changelog](https://github.com/knsv/mermaid/compare/0.1.0...0.1.1)
## [0.1.0](https://github.com/knsv/mermaid/tree/0.1.0) (2014-11-16)
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
\* _This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)_

View File

@@ -7,20 +7,21 @@ So you want to help? That's great!
Here are a few things to know to get you started on the right path.
## Development Installation
```bash
git clone git@github.com:mermaid-js/mermaid.git
cd mermaid
yarn
yarn test
pnpm install
pnpm test
```
## Committing code
We make all changes via pull requests. As we have many pull requests from developers new to mermaid, the current approach is to have *knsv, Knut Sveidqvist* as a main reviewer of changes and merging pull requests. More precisely like this:
We make all changes via pull requests. As we have many pull requests from developers new to mermaid, the current approach is to have _knsv, Knut Sveidqvist_ as a main reviewer of changes and merging pull requests. More precisely like this:
* Large changes reviewed by knsv or other developer asked to review by knsv
* Smaller low-risk changes like dependencies, documentation etc can be merged by active collaborators
* documentation (updates to the docs folder is also allowed via direct commits)
- Large changes reviewed by knsv or other developer asked to review by knsv
- Smaller low-risk changes like dependencies, documentation, etc. can be merged by active collaborators
- Documentation (updates to the `src/docs` folder is also allowed via direct commits)
To commit code, create a branch, let it start with the type like feature or bug followed by the issue number for reference and some describing text.
@@ -36,12 +37,28 @@ Another:
Less strict here, it is OK to commit directly in the `develop` branch if you are a collaborator.
The documentation is located in the `docs` directory and published using GitHub Pages.
The documentation site is powered by [Docsify](https://docsify.js.org), a simple documentation site generator.
The documentation is written in **Markdown**. For more information about Markdown [see the GitHub Markdown help page](https://help.github.com/en/github/writing-on-github/basic-writing-and-formatting-syntax).
The documentation is written in Markdown, for more information about Markdown [see the GitHub Markdown help page](https://help.github.com/en/github/writing-on-github/basic-writing-and-formatting-syntax).
### Documentation source files are in /src/docs
If you want to preview the documentation site on your machine, you need to install `docsify-cli`:
The source files for the project documentation are located in the `/src/docs` directory. This is where you should make changes.
The files under `/src/docs` are processed to generate the published documentation, and the resulting files are put into the `/docs` directory.
```mermaid
flowchart LR
classDef default fill:#fff,color:black,stroke:black
source["files in /src/docs\n(changes should be done here)"] -- automatic processing\nto generate the final documentation--> published["files in /docs\ndisplayed on the official documentation site"]
```
**_DO NOT CHANGE FILES IN `/docs`_**
### The official documentation site
**[The mermaid documentation site](https://mermaid-js.github.io/mermaid/) is powered by [Docsify](https://docsify.js.org), a simple documentation site generator.**
If you want to preview the whole documentation site on your machine, you need to install `docsify-cli`:
```sh
$ npm i docsify-cli -g
@@ -86,17 +103,18 @@ This is important so that, if someone else does a change to the grammar that doe
This tests the rendering and visual appearance of the diagram. This ensures that the rendering of that feature in the e2e will be reviewed in the release process going forward. Less chance that it breaks!
To start working with the e2e tests, run `yarn dev` to start the dev server, after that start cypress by running `cypress open` in the mermaid folder. (Make sure you have path to cypress in order, the binary is located in node_modules/.bin).
To start working with the e2e tests, run `pnpm run dev` to start the dev server, after that start cypress by running `pnpm exec cypress open` in the mermaid folder.
The rendering tests are very straightforward to create. There is a function imgSnapshotTest. This function takes a diagram in text form, the mermaid options and renders that diagram in cypress.
When running in ci it will take a snapshot of the rendered diagram and compare it with the snapshot from last build and flag for review it if it differs.
This is what a rendering test looks like:
```javascript
it('should render forks and joins', () => {
imgSnapshotTest(
`
it('should render forks and joins', () => {
imgSnapshotTest(
`
stateDiagram
state fork_state &lt;&lt;fork&gt;&gt;
[*] --> fork_state
@@ -109,20 +127,23 @@ This is what a rendering test looks like:
join_state --> State4
State4 --> [*]
`,
{ logLevel: 0 }
);
cy.get('svg');
});
```
{ logLevel: 0 }
);
cy.get('svg');
});
```
### **Add documentation for it**
Finally, if it is not in the documentation, no one will know about it and then **no one will use it**. Wouldn't that be sad? With all the effort that was put into the feature?
The docs are located in the docs folder and are ofc written in markdown. Just pick the right section and start typing. If you want to add to the structure as in adding a new section and new file you do that via the _navbar.md.
The source files for documentation are in `/src/docs` and are written in markdown. Just pick the right section and start typing. See the [Committing Documentation](#committing-documentation) section for more about how the documentation is generated.
The changes in master is reflected in https://mermaid-js.github.io/mermaid/ once released the updates are committed to https://mermaid-js.github.io/#/
#### Adding to or changing the documentation organization
If you want to add a new section or change the organization (structure), then you need to make sure to **change the side navigation** in `src/docs/_sidebar.md`.
When changes are committed and then released, they become part of the `master` branch and become part of the published documentation on https://mermaid-js.github.io/mermaid/
## Last words
@@ -130,5 +151,4 @@ Don't get daunted if it is hard in the beginning. We have a great community with
[Join our slack community if you want closer contact!](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE)
![A superhero wishing you good luck](https://media.giphy.com/media/l49JHz7kJvl6MCj3G/giphy.gif)

View File

@@ -1,13 +1,28 @@
# mermaid [![Build Status](https://travis-ci.org/mermaid-js/mermaid.svg?branch=master)](https://travis-ci.org/mermaid-js/mermaid) [![NPM](https://img.shields.io/npm/v/mermaid)](https://www.npmjs.com/package/mermaid) [![Coverage Status](https://coveralls.io/repos/github/mermaid-js/mermaid/badge.svg?branch=master)](https://coveralls.io/github/mermaid-js/mermaid?branch=master) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE)
# Whoa, whats going on here?
We are transforming the Mermaid repository to a so called mono-repo. This is a part of the effort to decouple the diagrams from the core of mermaid. This will:
- Make it possible to select which diagrams to include on your site
- Open up for lazy loading
- Make it possible to add diagrams from outside of the Mermaid repository
- Separate the release flow between different diagrams and the Mermaid core
As such be aware of some changes..
# We use pnpm now
# The source code has moved
It is now located in the src folder for each respective package located as subfolders in packages.
English | [简体中文](./README.zh-CN.md)
<img src="./img/header.png" alt="" />
:trophy: **Mermaid was nominated and won the [JS Open Source Awards (2019)](https://osawards.com/javascript/2019) in the category "The most exciting use of technology"!!!**
**Thanks to all involved, people committing pull requests, people answering questions! 🙏**
<a href="https://mermaid-js.github.io/mermaid/landing/"><img src="https://github.com/mermaid-js/mermaid/blob/master/docs/img/book-banner-post-release.jpg" alt="Explore Mermaid.js in depth, with real-world examples, tips & tricks from the creator... The first official book on Mermaid is available for purchase. Check it out!"></a>
@@ -15,40 +30,38 @@ English | [简体中文](./README.zh-CN.md)
## About
<!-- <Main description> -->
Mermaid is a JavaScript based diagramming and charting tool that uses Markdown-inspired text definitions and a renderer to create and modify complex diagrams. The main purpose of Mermaid is to help documentation catch up with development.
Mermaid is a JavaScript-based diagramming and charting tool that uses Markdown-inspired text definitions and a renderer to create and modify complex diagrams. The main purpose of Mermaid is to help documentation catch up with development.
> Doc-Rot is a Catch-22 that Mermaid helps to solve.
Diagramming and documentation costs precious developer time and gets outdated quickly.
But not having diagrams or docs ruins productivity and hurts organizational learning.<br/>
Mermaid addresses this problem by enabling users to create easily modifiable diagrams, it can also be made part of production scripts (and other pieces of code).<br/>
<br/>
Mermaid addresses this problem by enabling users to create easily modifiable diagrams. It can also be made part of production scripts (and other pieces of code).<br/>
<br/>
Mermaid allows even non-programmers to easily create detailed diagrams through the [Mermaid Live Editor](https://mermaid.live/).<br/>
[Tutorials](./docs/Tutorials.md) has video tutorials.
Use Mermaid with your favorite applications, check out the list of [Integrations and Usages of Mermaid](./docs/integrations.md).
You can also use Mermaid within [GitHub](https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/) as well many of your other favorite applications, check out the list of [Integrations and Usages of Mermaid](./docs/integrations.md).
You can also use Mermaid within [GitHub](https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/) as well many of your other favorite applicationscheck out the list of [Integrations and Usages of Mermaid](./docs/integrations.md).
For a more detailed introduction to Mermaid and some of its more basic uses, look to the [Beginner's Guide](./docs/n00b-overview.md), [Usage](./docs/usage.md) and [Tutorials](./docs/Tutorials.md).
🌐 [CDN](https://unpkg.com/mermaid/) | 📖 [Documentation](https://mermaidjs.github.io) | 🙌 [Contribution](https://github.com/mermaid-js/mermaid/blob/develop/CONTRIBUTING.md) | 📜 [Changelog](./docs/CHANGELOG.md)
In our release process we rely heavily on visual regression tests using [applitools](https://applitools.com/). Applitools is a great service which has been easy to use and integrate with our tests.
<a href="https://applitools.com/">
<svg width="170" height="32" viewBox="0 0 170 32" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="a" maskUnits="userSpaceOnUse" x="27" y="0" width="143" height="32"><path fill-rule="evenodd" clip-rule="evenodd" d="M27.732.227h141.391v31.19H27.733V.227z" fill="#fff"></path></mask><g mask="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M153.851 22.562l1.971-3.298c1.291 1.219 3.837 2.402 5.988 2.402 1.971 0 2.903-.753 2.903-1.829 0-2.832-10.253-.502-10.253-7.313 0-2.904 2.51-5.45 7.099-5.45 2.904 0 5.234 1.004 6.955 2.367l-1.829 3.226c-1.039-1.075-3.011-2.008-5.126-2.008-1.65 0-2.725.717-2.725 1.685 0 2.546 10.289.395 10.289 7.386 0 3.19-2.724 5.52-7.528 5.52-3.012 0-5.916-1.003-7.744-2.688zm-5.7 2.259h4.553V.908h-4.553v23.913zm-6.273-8.676c0-2.689-1.578-5.02-4.446-5.02-2.832 0-4.409 2.331-4.409 5.02 0 2.724 1.577 5.055 4.409 5.055 2.868 0 4.446-2.33 4.446-5.055zm-13.588 0c0-4.912 3.442-9.07 9.142-9.07 5.736 0 9.178 4.158 9.178 9.07 0 4.911-3.442 9.106-9.178 9.106-5.7 0-9.142-4.195-9.142-9.106zm-5.628 0c0-2.689-1.577-5.02-4.445-5.02-2.832 0-4.41 2.331-4.41 5.02 0 2.724 1.578 5.055 4.41 5.055 2.868 0 4.445-2.33 4.445-5.055zm-13.587 0c0-4.912 3.441-9.07 9.142-9.07 5.736 0 9.178 4.158 9.178 9.07 0 4.911-3.442 9.106-9.178 9.106-5.701 0-9.142-4.195-9.142-9.106zm-8.425 4.338v-8.999h-2.868v-3.98h2.868V2.773h4.553v4.733h3.514v3.979h-3.514v7.78c0 1.111.574 1.936 1.578 1.936.681 0 1.326-.251 1.577-.538l.968 3.478c-.681.609-1.9 1.11-3.8 1.11-3.191 0-4.876-1.648-4.876-4.767zm-8.962 4.338h4.553V7.505h-4.553V24.82zm-.43-21.905a2.685 2.685 0 012.688-2.69c1.506 0 2.725 1.184 2.725 2.69a2.724 2.724 0 01-2.725 2.724c-1.47 0-2.688-1.219-2.688-2.724zM84.482 24.82h4.553V.908h-4.553v23.913zm-6.165-8.676c0-2.976-1.793-5.02-4.41-5.02-1.47 0-3.119.825-3.908 1.973v6.094c.753 1.111 2.438 2.008 3.908 2.008 2.617 0 4.41-2.044 4.41-5.055zm-8.318 6.453v8.82h-4.553V7.504H70v2.187c1.327-1.685 3.227-2.618 5.342-2.618 4.446 0 7.672 3.299 7.672 9.07 0 5.773-3.226 9.107-7.672 9.107-2.043 0-3.907-.86-5.342-2.653zm-10.718-6.453c0-2.976-1.793-5.02-4.41-5.02-1.47 0-3.119.825-3.908 1.973v6.094c.753 1.111 2.438 2.008 3.908 2.008 2.617 0 4.41-2.044 4.41-5.055zm-8.318 6.453v8.82H46.41V7.504h4.553v2.187c1.327-1.685 3.227-2.618 5.342-2.618 4.446 0 7.672 3.299 7.672 9.07 0 5.773-3.226 9.107-7.672 9.107-2.043 0-3.908-.86-5.342-2.653zm-11.758-1.936V18.51c-.753-1.004-2.187-1.542-3.657-1.542-1.793 0-3.263.968-3.263 2.617 0 1.65 1.47 2.582 3.263 2.582 1.47 0 2.904-.502 3.657-1.506zm0 4.159v-1.829c-1.183 1.434-3.227 2.259-5.485 2.259-2.761 0-5.988-1.864-5.988-5.736 0-4.087 3.227-5.593 5.988-5.593 2.33 0 4.337.753 5.485 2.115V13.85c0-1.756-1.506-2.904-3.8-2.904-1.829 0-3.55.717-4.984 2.044L28.63 9.8c2.115-1.901 4.84-2.726 7.564-2.726 3.98 0 7.6 1.578 7.6 6.561v11.186h-4.588z" fill="#00A298"></path></g><path fill-rule="evenodd" clip-rule="evenodd" d="M14.934 16.177c0 1.287-.136 2.541-.391 3.752-1.666-1.039-3.87-2.288-6.777-3.752 2.907-1.465 5.11-2.714 6.777-3.753.255 1.211.39 2.466.39 3.753m4.6-7.666V4.486a78.064 78.064 0 01-4.336 3.567c-1.551-2.367-3.533-4.038-6.14-5.207C11.1 4.658 12.504 6.7 13.564 9.262 5.35 15.155 0 16.177 0 16.177s5.35 1.021 13.564 6.915c-1.06 2.563-2.463 4.603-4.507 6.415 2.607-1.169 4.589-2.84 6.14-5.207a77.978 77.978 0 014.336 3.568v-4.025s-.492-.82-2.846-2.492c.6-1.611.93-3.354.93-5.174a14.8 14.8 0 00-.93-5.174c2.354-1.673 2.846-2.492 2.846-2.492" fill="#00A298"></path></svg>
</a>
<!-- </Main description> -->
## Examples
__The following are some examples of the diagrams, charts and graphs that can be made using Mermaid. Click here jump into the [text syntax](https://mermaid-js.github.io/mermaid/#/n00b-syntaxReference).__
**The following are some examples of the diagrams, charts and graphs that can be made using Mermaid. Click here to jump into the [text syntax](https://mermaid-js.github.io/mermaid/#/n00b-syntaxReference).**
<!-- <Flowchart> -->
### Flowchart [<a href="https://mermaid-js.github.io/mermaid/#/flowchart">docs</a> - <a href="https://mermaid.live/edit#pako:eNpNkMtqwzAQRX9FzKqFJK7t1km8KDQP6KJQSLOLvZhIY1tgS0GWmgbb_165IaFaiXvOFTPqgGtBkEJR6zOv0Fj2scsU8-ft8I5G5Gw6fe339GN7tnrYaafE45WvRsLW3Ya4bKVWwzVe_xU-FfVsc9hR62rLwvw_2591z7Y3FuUwgYZMg1L4ObrRzMBW1FAGqb8KKtCLGWRq8Ko7CbS0FdJqA2mBdUsTQGf110VxSK1xdJM2EkuDzd2qNQrypQ7s5TQuXcrW-ie5VoUsx9yZ2seVtac2DYIRz0ppK3eccd0ErRTjD1XfyyRIomSBUUzJPMaXOBb8GC4XRfQcFmL-FEYIwzD8AggvcHE">live editor</a>]
@@ -61,6 +74,7 @@ B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
```
```mermaid
flowchart LR
@@ -70,7 +84,6 @@ C -->|One| D[Result 1]
C -->|Two| E[Result 2]
```
### Sequence diagram [<a href="https://mermaid-js.github.io/mermaid/#/sequenceDiagram">docs</a> - <a href="https://mermaid.live/edit#pako:eNo9kMluwjAQhl_F-AykQMuSA1WrbuLQQ3v1ZbAnsVXHkzrjVhHi3etQwKfRv4w-z0FqMihL2eF3wqDxyUEdoVHhwTuNk-12RzaU4g29JzHMY2HpV0BE0VO6V8ETtdkGz1Zb1F8qiPyG5LX84mrLAmpwoWNh-5a0pWCiAxUwGBXeiVHEU4oq8V_6AHYUwAu2lLLTjVQ4bc1rT2yleI0IfJG320faZ9ABbk-Jz3hZnFxBduR9L2oiM5Jj2WBswJn8-cMArSRbbFDJMo8GK0ielVThmKOpNcD4bBxTlGUFvsOxhMT02QctS44JL6HzAS-iJzCYOwfJfTscunYd542aQuXqQU_RZ9kyt11ZFIM9rR3btJ9qaorOGQuR7c9mWSznyzXMF7hcLeBusTB6P9usq_ntrDKrm9kc5PF4_AMJE56Z">live editor</a>]
```
@@ -84,6 +97,7 @@ John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
```
```mermaid
sequenceDiagram
Alice->>John: Hello John, how are you?
@@ -108,6 +122,7 @@ gantt
Parallel 3 : des5, after des3, 1d
Parallel 4 : des6, after des4, 1d
```
```mermaid
gantt
section Section
@@ -125,7 +140,7 @@ gantt
classDiagram
Class01 <|-- AveryLongClass : Cool
<<Interface>> Class01
Class09 --> C2 : Where am i?
Class09 --> C2 : Where am I?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
@@ -139,11 +154,12 @@ class Class10 {
size()
}
```
```mermaid
classDiagram
Class01 <|-- AveryLongClass : Cool
<<Interface>> Class01
Class09 --> C2 : Where am i?
Class09 --> C2 : Where am I?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
@@ -159,6 +175,7 @@ class Class10 {
```
### State diagram [<a href="https://mermaid-js.github.io/mermaid/#/stateDiagram">docs</a> - <a href="https://mermaid.live/edit#pako:eNpdkEFvgzAMhf8K8nEqpYSNthx22Xbcqcexg0sCiZQQlDhIFeK_L8A6TfXp6fOz9ewJGssFVOAJSbwr7ByadGR1n8T6evpO0vQ1uZDSekOrXGFsPqJPO6q-2-imH8f_0TeHXm50lfelsAMjnEHFY6xpMdRAUhhRQxUlFy0GTTXU_RytYeAx-AdXZB1ULWovdoCB7OXWN1CRC-Ju-r3uz6UtchGHJqDbsPygU57iysb2reoWHpyOWBINvsqypb3vFMlw3TfWZF5xiY7keC6zkpUnZIUojwW-FAVvrvn51LLnvOXHQ84Q5nn-AVtLcwk">live editor</a>]
```
stateDiagram-v2
[*] --> Still
@@ -168,6 +185,7 @@ Moving --> Still
Moving --> Crash
Crash --> [*]
```
```mermaid
stateDiagram-v2
[*] --> Still
@@ -186,6 +204,7 @@ pie
"Cats" : 85.9
"Rats" : 15
```
```mermaid
pie
"Dogs" : 386
@@ -196,6 +215,7 @@ pie
### Git graph [experimental - <a href="https://mermaid.live/edit#pako:eNqNkMFugzAMhl8F-VyVAR1tOW_aA-zKxSSGRCMJCk6lCvHuNZPKZdM0n-zf3_8r8QIqaIIGMqnB8kfEybQ--y4VnLP8-9RF9Mpkmm40hmlnDKmvkPiH_kfS7nFo_VN0FAf6XwocQGgxa_nGsm1bYEOOWmik1dRjGrmF1q-Cpkkj07u2HCI0PY4zHQATh8-7V9BwTPSE3iwOEd1OjQE1iWkBvk_bzQY7s0Sq4Hs7bHqKo8iGeZqbPN_WR7mpSd1RHpvPVhuMbG7XOq_L-oJlRfW5wteq0qorrpe-PBW9Pr8UJcK6rg-BLYPQ">live editor</a>]
### User Journey diagram [<a href="https://mermaid-js.github.io/mermaid/#/user-journey">docs</a> - <a href="https://mermaid.live/edit#pako:eNplkMFuwjAQRH9l5TMiTVIC-FqqnjhxzWWJN4khsSN7XRSh_HsdKBVt97R6Mzsj-yoqq0hIAXCywRkaSwNxWHNHsB_hYt1ZmwYUfiueKtbWwIcFtjf5zgH2eCZgQgkrCXt64GgMg2fUzkvIn5Xd_V5COtMFvCH_62ht_5yk7MU8sn61HDTfxD8VYiF6cj1qFd94nWkpuKWYKWRcFdUYOi5FaaZoDYNCpnel2Toha-w8LQQGtofRVEKyC_Qw7TQ2DvsfV2dRUTy6Ch6H-UMb7TlGVtbUupl5cF3ELfPgZZLM8rLR3IbjsrJ94rVq0XH7uS2SIis2mOVUrHNc5bmqjul2U2evaa3WL2mGYpqmL2BGiho">live editor</a>]
```
journey
title My working day
@@ -207,6 +227,7 @@ pie
Go downstairs: 5: Me
Sit down: 3: Me
```
```mermaid
journey
title My working day
@@ -255,6 +276,7 @@ BiRel(SystemAA, SystemE, "Uses")
Rel(SystemAA, SystemC, "Sends e-mails", "SMTP")
Rel(SystemC, customerA, "Sends e-mails to")
```
```mermaid
C4Context
title System Context diagram for Internet Banking System
@@ -316,23 +338,24 @@ Detailed information about how to contribute can be found in the [contribution g
## Security and safe diagrams
For public sites, it can be precarious to retrieve text from users on the internet, storing that content for presentation in a browser at a later stage. The reason is that the user content can contain embedded malicious scripts that will run when the data is presented. For Mermaid this is a risk, specially as mermaid diagrams contain many characters that are used in html which makes the standard sanitation unusable as it also breaks the diagrams. We still make an effort to sanitise the incoming code and keep refining the process but it is hard to guarantee that there are no loop holes.
For public sites, it can be precarious to retrieve text from users on the internet, storing that content for presentation in a browser at a later stage. The reason is that the user content can contain embedded malicious scripts that will run when the data is presented. For Mermaid this is a risk, specially as mermaid diagrams contain many characters that are used in html which makes the standard sanitation unusable as it also breaks the diagrams. We still make an effort to sanitise the incoming code and keep refining the process but it is hard to guarantee that there are no loop holes.
As an extra level of security for sites with external users we are happy to introduce a new security level in which the diagram is rendered in a sandboxed iframe preventing javascript in the code from being executed. This is a great step forward for better security.
As an extra level of security for sites with external users we are happy to introduce a new security level in which the diagram is rendered in a sandboxed iframe preventing javascript in the code from being executed. This is a great step forward for better security.
*Unfortunately you can not have a cake and eat it at the same time which in this case means that some of the interactive functionality gets blocked along with the possible malicious code.*
_Unfortunately you can not have a cake and eat it at the same time which in this case means that some of the interactive functionality gets blocked along with the possible malicious code._
## Reporting vulnerabilities
To report a vulnerability, please e-mail security@mermaid.live with a description of the issue, the steps you took to create the issue, affected versions, and if known, mitigations for the issue.
## Appreciation
A quick note from Knut Sveidqvist:
>*Many thanks to the [d3](https://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing the graphical layout and drawing libraries!*
>*Thanks also to the [js-sequence-diagram](https://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering.*
>*Thank you to [Tyler Long](https://github.com/tylerlong) who has been a collaborator since April 2017.*
> _Many thanks to the [d3](https://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing the graphical layout and drawing libraries!_ >_Thanks also to the [js-sequence-diagram](https://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering._ >_Thank you to [Tyler Long](https://github.com/tylerlong) who has been a collaborator since April 2017._
>
>*Thank you to the ever-growing list of [contributors](https://github.com/knsv/mermaid/graphs/contributors) that brought the project this far!*
> _Thank you to the ever-growing list of [contributors](https://github.com/knsv/mermaid/graphs/contributors) that brought the project this far!_
---
*Mermaid was created by Knut Sveidqvist for easier documentation.*
_Mermaid was created by Knut Sveidqvist for easier documentation._

View File

@@ -13,6 +13,7 @@
## 关于 Mermaid
<!-- <Main description> -->
Mermaid 是一个基于 Javascript 的图表绘制工具,通过解析类 Markdown 的文本语法来实现图表的创建和动态修改。Mermaid 诞生的主要目的是让文档的更新能够及时跟上开发进度。
> Doc-Rot 是 Mermaid 致力于解决的一个难题。
@@ -31,7 +32,8 @@ Mermaid 甚至能让非程序员也能通过 [Mermaid Live Editor](https://merma
## 示例
__下面是一些可以使用 Mermaid 创建的图表示例。点击 [语法](https://mermaid-js.github.io/mermaid/#/n00b-syntaxReference) 查看详情。__
**下面是一些可以使用 Mermaid 创建的图表示例。点击 [语法](https://mermaid-js.github.io/mermaid/#/n00b-syntaxReference) 查看详情。**
<table>
<!-- <Flowchart> -->
@@ -44,6 +46,7 @@ B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
```
```mermaid
flowchart LR
A[Hard] -->|Text| B(Round)
@@ -65,6 +68,7 @@ John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
```
```mermaid
sequenceDiagram
Alice->>John: Hello John, how are you?
@@ -89,6 +93,7 @@ gantt
Parallel 3 : des5, after des3, 1d
Parallel 4 : des6, after des4, 1d
```
```mermaid
gantt
section Section
@@ -106,7 +111,7 @@ gantt
classDiagram
Class01 <|-- AveryLongClass : Cool
<<Interface>> Class01
Class09 --> C2 : Where am i?
Class09 --> C2 : Where am I?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
@@ -120,11 +125,12 @@ class Class10 {
size()
}
```
```mermaid
classDiagram
Class01 <|-- AveryLongClass : Cool
<<Interface>> Class01
Class09 --> C2 : Where am i?
Class09 --> C2 : Where am I?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
@@ -150,6 +156,7 @@ Moving --> Still
Moving --> Crash
Crash --> [*]
```
```mermaid
stateDiagram-v2
[*] --> Still
@@ -168,6 +175,7 @@ pie
"Cats" : 85
"Rats" : 15
```
```mermaid
pie
"Dogs" : 386
@@ -175,7 +183,7 @@ pie
"Rats" : 15
```
### Git图 [实验特性 - <a href="https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ2l0R3JhcGg6XG5vcHRpb25zXG57XG4gICAgXCJub2RlU3BhY2luZ1wiOiAxNTAsXG4gICAgXCJub2RlUmFkaXVzXCI6IDEwXG59XG5lbmRcbmNvbW1pdFxuYnJhbmNoIG5ld2JyYW5jaFxuY2hlY2tvdXQgbmV3YnJhbmNoXG5jb21taXRcbmNvbW1pdFxuY2hlY2tvdXQgbWFzdGVyXG5jb21taXRcbmNvbW1pdFxubWVyZ2UgbmV3YnJhbmNoXG4iLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9fQ">live editor</a>]
### Git 图 [实验特性 - <a href="https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ2l0R3JhcGg6XG5vcHRpb25zXG57XG4gICAgXCJub2RlU3BhY2luZ1wiOiAxNTAsXG4gICAgXCJub2RlUmFkaXVzXCI6IDEwXG59XG5lbmRcbmNvbW1pdFxuYnJhbmNoIG5ld2JyYW5jaFxuY2hlY2tvdXQgbmV3YnJhbmNoXG5jb21taXRcbmNvbW1pdFxuY2hlY2tvdXQgbWFzdGVyXG5jb21taXRcbmNvbW1pdFxubWVyZ2UgbmV3YnJhbmNoXG4iLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9fQ">live editor</a>]
### 用户体验旅程图 [<a href="https://mermaid-js.github.io/mermaid/#/user-journey">文档</a> - <a href="https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoic3RhdGVEaWFncmFtXG4gICAgWypdIC0tPiBTdGlsbFxuICAgIFN0aWxsIC0tPiBbKl1cbiAgICBTdGlsbCAtLT4gTW92aW5nXG4gICAgTW92aW5nIC0tPiBTdGlsbFxuICAgIE1vdmluZyAtLT4gQ3Jhc2hcbiAgICBDcmFzaCAtLT4gWypdIiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifX0">live editor</a>]
@@ -190,6 +198,7 @@ pie
Go downstairs: 5: Me
Sit down: 3: Me
```
```mermaid
journey
title My working day
@@ -238,6 +247,7 @@ BiRel(SystemAA, SystemE, "Uses")
Rel(SystemAA, SystemC, "Sends e-mails", "SMTP")
Rel(SystemC, customerA, "Sends e-mails to")
```
```mermaid
C4Context
title System Context diagram for Internet Banking System
@@ -303,20 +313,20 @@ Mermaid 是一个不断发展中的社区,并且还在接收新的贡献者。
作为拥有外部用户的网站的额外安全级别,我们很高兴推出一个新的安全级别,其中的图表在沙盒 iframe 中渲染,防止代码中的 javascript 被执行,这是在安全性方面迈出的一大步。
*很不幸的是,鱼与熊掌不可兼得,在这个场景下它意味着在可能的恶意代码被阻止时,也会损失部分交互能力*
_很不幸的是,鱼与熊掌不可兼得,在这个场景下它意味着在可能的恶意代码被阻止时,也会损失部分交互能力_
## 报告漏洞
如果想要报告漏洞,请发送邮件到 security@mermaid.live, 并附上问题的描述、复现问题的步骤、受影响的版本,以及解决问题的方案(如果有的话)。
## 鸣谢
来自 Knut Sveidqvist:
>*特别感谢 [d3](https://d3js.org/) 和 [dagre-d3](https://github.com/cpettitt/dagre-d3) 这两个优秀的项目,它们提供了图形布局和绘图工具库! *
>*同样感谢 [js-sequence-diagram](https://bramp.github.io/js-sequence-diagrams) 提供了时序图语法的使用。 感谢 Jessica Peter 提供了甘特图渲染的灵感。*
>*感谢 [Tyler Long](https://github.com/tylerlong) 从 2017年四月开始成为了项目的合作者。*
> _特别感谢 [d3](https://d3js.org/) 和 [dagre-d3](https://github.com/cpettitt/dagre-d3) 这两个优秀的项目,它们提供了图形布局和绘图工具库! _ >_同样感谢 [js-sequence-diagram](https://bramp.github.io/js-sequence-diagrams) 提供了时序图语法的使用。 感谢 Jessica Peter 提供了甘特图渲染的灵感。_ >_感谢 [Tyler Long](https://github.com/tylerlong) 从 2017 年四月开始成为了项目的合作者。_
>
>*感谢越来越多的 [贡献者们](https://github.com/knsv/mermaid/graphs/contributors),没有你们,就没有这个项目的今天!*
> _感谢越来越多的 [贡献者们](https://github.com/knsv/mermaid/graphs/contributors),没有你们,就没有这个项目的今天!_
---
*Mermaid 是由 Knut Sveidqvist 创建,它为了更简单的文档编写而生。*
_Mermaid 是由 Knut Sveidqvist 创建,它为了更简单的文档编写而生。_

View File

@@ -1,3 +0,0 @@
export const curveBasis = 'basis';
export const curveLinear = 'linear';
export const curveCardinal = 'cardinal';

View File

@@ -1,4 +1,10 @@
let NewD3 = function () {
// @ts-nocheck TODO: Fix TS
import { vi } from 'vitest';
const NewD3 = function () {
/**
*
*/
function returnThis() {
return this;
}
@@ -53,9 +59,9 @@ export const MockD3 = (name, parent) => {
children.push(mockElem);
return mockElem;
};
elem.lower = jest.fn(() => elem);
elem.attr = jest.fn(() => elem);
elem.text = jest.fn(() => elem);
elem.style = jest.fn(() => elem);
elem.lower = vi.fn(() => elem);
elem.attr = vi.fn(() => elem);
elem.text = vi.fn(() => elem);
elem.style = vi.fn(() => elem);
return elem;
};

3
__mocks__/dagre-d3.ts Normal file
View File

@@ -0,0 +1,3 @@
import { vi } from 'vitest';
// export const render = vi.fn();

View File

@@ -0,0 +1,3 @@
module.exports = function (txt: string) {
return txt;
};

View File

@@ -1,16 +0,0 @@
module.exports = {
testConcurrency: 1,
// browser: [
// // Add browsers with different viewports
// { width: 800, height: 600, name: 'chrome' },
// { width: 700, height: 500, name: 'firefox' },
// { width: 1600, height: 1200, name: 'ie11' },
// { width: 1024, height: 768, name: 'edgechromium' },
// { width: 800, height: 600, name: 'safari' },
// // Add mobile emulation devices in Portrait mode
// { deviceName: 'iPhone X', screenOrientation: 'portrait' },
// { deviceName: 'Pixel 2', screenOrientation: 'portrait' },
// ],
// // set batch name to the configuration
// batchName: 'Ultrafast Batch',
};

19
applitools.config.js Normal file
View File

@@ -0,0 +1,19 @@
// eslint-disable-next-line @typescript-eslint/no-var-requires
const { defineConfig } = require('cypress');
module.exports = defineConfig({
testConcurrency: 1,
browser: [
// Add browsers with different viewports
// { width: 800, height: 600, name: 'chrome' },
// { width: 700, height: 500, name: 'firefox' },
// { width: 1600, height: 1200, name: 'ie11' },
// { width: 1024, height: 768, name: 'edgechromium' },
// { width: 800, height: 600, name: 'safari' },
// // Add mobile emulation devices in Portrait mode
// { deviceName: 'iPhone X', screenOrientation: 'portrait' },
// { deviceName: 'Pixel 2', screenOrientation: 'portrait' },
],
// set batch name to the configuration
batchName: `Mermaid ${process.env.APPLI_BRANCH ?? "'no APPLI_BRANCH set'"}`,
});

View File

@@ -1,10 +0,0 @@
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: 'defaults, ie >= 11, current node',
},
],
],
};

View File

@@ -1,20 +1,22 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const { defineConfig } = require('cypress');
const { addMatchImageSnapshotPlugin } = require('cypress-image-snapshot/plugin');
require('@applitools/eyes-cypress')(module);
module.exports = defineConfig({
projectId: 'n2sma2',
e2e: {
specPattern: 'cypress/e2e/**/*.{js,jsx,ts,tsx}',
specPattern: 'cypress/integration/**/*.{js,jsx,ts,tsx}',
setupNodeEvents(on, config) {
addMatchImageSnapshotPlugin(on, config);
// copy any needed variables from process.env to config.env
config.env.useAppli = process.env.USE_APPLI ? true : false;
config.env.codeBranch = process.env.APPLI_BRANCH;
// do not forget to return the changed config object!
return config;
},
supportFile: 'cypress/support/index.js',
},
video: false,
});
require('@applitools/eyes-cypress')(module);

View File

@@ -1,10 +1,10 @@
{
"env": {
"cypress/globals": true
},
"extends": ["plugin:cypress/recommended"],
"plugins": ["cypress"],
"rules":{
"cypress/no-unnecessary-waiting": 0
}
"env": {
"cypress/globals": true
},
"extends": ["plugin:cypress/recommended"],
"plugins": ["cypress"],
"rules": {
"cypress/no-unnecessary-waiting": 0
}
}

View File

@@ -1,4 +1,6 @@
import { Base64 } from 'js-base64';
const utf8ToB64 = (str) => {
return window.btoa(unescape(encodeURIComponent(str)));
};
export const mermaidUrl = (graphStr, options, api) => {
const obj = {
@@ -6,7 +8,7 @@ export const mermaidUrl = (graphStr, options, api) => {
mermaid: options,
};
const objStr = JSON.stringify(obj);
let url = 'http://localhost:9000/e2e.html?graph=' + Base64.encodeURI(objStr);
let url = 'http://localhost:9000/e2e.html?graph=' + utf8ToB64(objStr);
if (api) {
url = 'http://localhost:9000/xss.html?graph=' + graphStr;
}
@@ -42,17 +44,15 @@ export const imgSnapshotTest = (graphStr, _options, api = false, validation) =>
if (!options.fontSize) {
options.fontSize = '16px';
}
// const useAppli = Cypress.env('useAppli');
const useAppli = false;
const branch = Cypress.env('codeBranch');
const useAppli = Cypress.env('useAppli');
//const useAppli = false;
cy.log('Hello ' + useAppli ? 'Appli' : 'image-snapshot');
const name = (options.name || cy.state('runnable').fullTitle()).replace(/\s+/g, '-');
if (useAppli) {
cy.eyesOpen({
appName: 'Mermaid-' + branch,
appName: 'Mermaid',
testName: name,
batchName: branch,
});
}
@@ -96,15 +96,13 @@ export const urlSnapshotTest = (url, _options, api = false, validation) => {
options.fontSize = '16px';
}
const useAppli = Cypress.env('useAppli');
const branch = Cypress.env('codeBranch');
cy.log('Hello ' + useAppli ? 'Appli' : 'image-snapshot');
const name = (options.name || cy.state('runnable').fullTitle()).replace(/\s+/g, '-');
if (useAppli) {
cy.eyesOpen({
appName: 'Mermaid-' + branch,
appName: 'Mermaid',
testName: name,
batchName: branch,
});
}

View File

@@ -15,11 +15,13 @@ describe('Configuration', () => {
// Check the marker-end property to make sure it is properly set to
// start with #
cy.get('.edgePath path')
.first()
.should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(#');
cy.get('.edgePaths').within(() => {
cy.get('path')
.first()
.should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(#');
});
});
it('should handle default value false of arrowMarkerAbsolute', () => {
renderGraph(
@@ -35,11 +37,13 @@ describe('Configuration', () => {
// Check the marker-end property to make sure it is properly set to
// start with #
cy.get('.edgePath path')
.first()
.should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(#');
cy.get('.edgePaths').within(() => {
cy.get('path')
.first()
.should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(#');
});
});
it('should handle arrowMarkerAbsolute explicitly set to false', () => {
renderGraph(
@@ -57,11 +61,13 @@ describe('Configuration', () => {
// Check the marker-end property to make sure it is properly set to
// start with #
cy.get('.edgePath path')
.first()
.should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(#');
cy.get('.edgePaths').within(() => {
cy.get('path')
.first()
.should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(#');
});
});
it('should handle arrowMarkerAbsolute explicitly set to "false" as false', () => {
renderGraph(
@@ -79,15 +85,17 @@ describe('Configuration', () => {
// Check the marker-end property to make sure it is properly set to
// start with #
cy.get('.edgePath path')
.first()
.should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(#');
cy.get('.edgePaths').within(() => {
cy.get('path')
.first()
.should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(#');
});
});
it('should handle arrowMarkerAbsolute set to true', () => {
renderGraph(
`graph TD
`flowchart TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
@@ -99,11 +107,13 @@ describe('Configuration', () => {
}
);
cy.get('.edgePath path')
.first()
.should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(http://localhost');
cy.get('.edgePaths').within(() => {
cy.get('path')
.first()
.should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(http://localhost');
});
});
it('should not taint the initial configuration when using multiple directives', () => {
const url = 'http://localhost:9000/regression/issue-1874.html';

View File

@@ -15,7 +15,7 @@ describe('XSS', () => {
it('should not allow tags in the css', () => {
const str =
'eyJjb2RlIjoiJSV7aW5pdDogeyAnZm9udEZhbWlseSc6ICdcXFwiPjwvc3R5bGU-PGltZyBzcmM9eCBvbmVycm9yPXhzc0F0dGFjaygpPid9IH0lJVxuZ3JhcGggTFJcbiAgICAgQSAtLT4gQiIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0IiwiZmxvd2NoYXJ0Ijp7Imh0bWxMYWJlbHMiOmZhbHNlfX0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9';
'eyJjb2RlIjoiJSV7aW5pdDogeyAnZm9udEZhbWlseSc6ICdcXFwiPjwvc3R5bGU+PGltZyBzcmM9eCBvbmVycm9yPXhzc0F0dGFjaygpPid9IH0lJVxuZ3JhcGggTFJcbiAgICAgQSAtLT4gQiIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0IiwiZmxvd2NoYXJ0Ijp7Imh0bWxMYWJlbHMiOmZhbHNlfX0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9';
const url = mermaidUrl(
str,
@@ -81,6 +81,9 @@ describe('XSS', () => {
cy.get('#the-malware').should('not.exist');
});
it('should not allow manipulating antiscript to run javascript using onerror in state diagrams with dagre d3', () => {
cy.on('uncaught:exception', (_err, _runnable) => {
return false; // continue rendering even if there if mermaid throws an error
});
cy.visit('http://localhost:9000/xss9.html');
cy.wait(1000);
cy.get('#the-malware').should('not.exist');

View File

@@ -112,7 +112,7 @@ describe('Entity Relationship Diagram', () => {
);
cy.get('svg').should((svg) => {
expect(svg).to.have.attr('width', '100%');
expect(svg).to.have.attr('height', '465');
// expect(svg).to.have.attr('height', '465');
const style = svg.attr('style');
expect(style).to.match(/^max-width: [\d.]+px;$/);
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
@@ -134,7 +134,7 @@ describe('Entity Relationship Diagram', () => {
const width = parseFloat(svg.attr('width'));
// use within because the absolute value can be slightly different depending on the environment ±5%
expect(width).to.be.within(140 * 0.95, 140 * 1.05);
expect(svg).to.have.attr('height', '465');
// expect(svg).to.have.attr('height', '465');
expect(svg).to.not.have.attr('style');
});
});
@@ -167,11 +167,26 @@ describe('Entity Relationship Diagram', () => {
cy.get('svg');
});
it.only('should render entities with generic and array attributes', () => {
renderGraph(
`
erDiagram
BOOK {
string title
string[] authors
type~T~ type
}
`,
{ logLevel: 1 }
);
cy.get('svg');
});
it('should render entities and attributes with big and small entity names', () => {
renderGraph(
`
erDiagram
PRIVATE_FINANCIAL_INSTITUTION {
PRIVATE_FINANCIAL_INSTITUTION {
string name
int turnover
}
@@ -191,9 +206,9 @@ describe('Entity Relationship Diagram', () => {
string name PK
}
AUTHOR_WITH_LONG_ENTITY_NAME }|..|{ BOOK : writes
BOOK {
BOOK {
float price
string author FK
string author FK
string title PK
}
`,
@@ -210,8 +225,8 @@ describe('Entity Relationship Diagram', () => {
string name "comment"
}
AUTHOR_WITH_LONG_ENTITY_NAME }|..|{ BOOK : writes
BOOK {
string author
BOOK {
string author
string title "author comment"
float price "price comment"
}
@@ -229,11 +244,11 @@ describe('Entity Relationship Diagram', () => {
string name PK "comment"
}
AUTHOR_WITH_LONG_ENTITY_NAME }|..|{ BOOK : writes
BOOK {
BOOK {
string description
float price "price comment"
string title PK "title comment"
string author FK
string author FK
}
`,
{ logLevel: 1 }

View File

@@ -42,7 +42,7 @@ describe('Flowchart v2', () => {
P3 --> P6
P1.5 --> P5
`,
{ flowchart: { diagramPadding: 0 } }
{}
);
});
@@ -60,7 +60,7 @@ describe('Flowchart v2', () => {
C <-...-> E4
C ======> E5
`,
{ flowchart: { diagramPadding: 0 } }
{}
);
});
it('5: should render escaped without html labels', () => {
@@ -92,10 +92,10 @@ describe('Flowchart v2', () => {
);
cy.get('svg').should((svg) => {
expect(svg).to.have.attr('width', '100%');
expect(svg).to.have.attr('height');
// expect(svg).to.have.attr('height');
// use within because the absolute value can be slightly different depending on the environment ±5%
const height = parseFloat(svg.attr('height'));
expect(height).to.be.within(446 * 0.95, 446 * 1.05);
// const height = parseFloat(svg.attr('height'));
// expect(height).to.be.within(446 * 0.95, 446 * 1.05);
const style = svg.attr('style');
expect(style).to.match(/^max-width: [\d.]+px;$/);
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
@@ -114,10 +114,10 @@ describe('Flowchart v2', () => {
{ flowchart: { useMaxWidth: false } }
);
cy.get('svg').should((svg) => {
const height = parseFloat(svg.attr('height'));
// const height = parseFloat(svg.attr('height'));
const width = parseFloat(svg.attr('width'));
// use within because the absolute value can be slightly different depending on the environment ±5%
expect(height).to.be.within(446 * 0.95, 446 * 1.05);
// expect(height).to.be.within(446 * 0.95, 446 * 1.05);
expect(width).to.be.within(290 * 0.95 - 1, 290 * 1.05);
expect(svg).to.not.have.attr('style');
});
@@ -652,4 +652,15 @@ flowchart RL
{ htmlLabels: true, flowchart: { htmlLabels: true }, securityLevel: 'loose' }
);
});
it('2824: Clipping of edges', () => {
imgSnapshotTest(
`
flowchart TD
A --> B
A --> C
B --> C
`,
{ htmlLabels: true, flowchart: { htmlLabels: true }, securityLevel: 'loose' }
);
});
});

View File

@@ -744,14 +744,14 @@ describe('Graph', () => {
);
cy.get('svg').should((svg) => {
expect(svg).to.have.attr('width', '100%');
expect(svg).to.have.attr('height');
// use within because the absolute value can be slightly different depending on the environment ±5%
const height = parseFloat(svg.attr('height'));
expect(height).to.be.within(446 * 0.95, 446 * 1.05);
// expect(svg).to.have.attr('height');
// use within because the absolute value can be slightly different depending on the environment ±10%
// const height = parseFloat(svg.attr('height'));
// expect(height).to.be.within(446 * 0.95, 446 * 1.05);
const style = svg.attr('style');
expect(style).to.match(/^max-width: [\d.]+px;$/);
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
expect(maxWidthValue).to.be.within(300 * 0.95, 300 * 1.05);
expect(maxWidthValue).to.be.within(300 * 0.9, 300 * 1.1);
});
});
it('39: should render a flowchart when useMaxWidth is false', () => {
@@ -766,11 +766,11 @@ describe('Graph', () => {
{ flowchart: { useMaxWidth: false } }
);
cy.get('svg').should((svg) => {
const height = parseFloat(svg.attr('height'));
// const height = parseFloat(svg.attr('height'));
const width = parseFloat(svg.attr('width'));
// use within because the absolute value can be slightly different depending on the environment ±5%
expect(height).to.be.within(446 * 0.95, 446 * 1.05);
expect(width).to.be.within(300 * 0.95, 300 * 1.05);
// use within because the absolute value can be slightly different depending on the environment ±10%
// expect(height).to.be.within(446 * 0.95, 446 * 1.05);
expect(width).to.be.within(300 * 0.9, 300 * 1.1);
expect(svg).to.not.have.attr('style');
});
});

View File

@@ -163,6 +163,24 @@ describe('Gantt diagram', () => {
);
});
it('should handle milliseconds', () => {
imgSnapshotTest(
`
gantt
title A Gantt Diagram
dateFormat x
axisFormat %L
section Section
A task :a1, 0, 30ms
Another task :after a1, 20ms
section Another
Another another task :b1, 20, 12ms
Another another another task :after b1, 0.024s
`,
{}
);
});
it('should render a gantt diagram when useMaxWidth is true (default)', () => {
renderGraph(
`
@@ -200,10 +218,10 @@ describe('Gantt diagram', () => {
);
cy.get('svg').should((svg) => {
expect(svg).to.have.attr('width', '100%');
expect(svg).to.have.attr('height');
// expect(svg).to.have.attr('height');
// use within because the absolute value can be slightly different depending on the environment ±5%
const height = parseFloat(svg.attr('height'));
expect(height).to.be.within(484 * 0.95, 484 * 1.05);
// const height = parseFloat(svg.attr('height'));
// expect(height).to.be.within(484 * 0.95, 484 * 1.05);
const style = svg.attr('style');
expect(style).to.match(/^max-width: [\d.]+px;$/);
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
@@ -247,10 +265,10 @@ describe('Gantt diagram', () => {
{ gantt: { useMaxWidth: false } }
);
cy.get('svg').should((svg) => {
const height = parseFloat(svg.attr('height'));
// const height = parseFloat(svg.attr('height'));
const width = parseFloat(svg.attr('width'));
// use within because the absolute value can be slightly different depending on the environment ±5%
expect(height).to.be.within(484 * 0.95, 484 * 1.05);
// expect(height).to.be.within(484 * 0.95, 484 * 1.05);
expect(width).to.be.within(984 * 0.95, 984 * 1.05);
expect(svg).to.not.have.attr('style');
});

View File

@@ -74,7 +74,7 @@ describe('Git Graph diagram', () => {
{}
);
});
it('7: should render a simple gitgraph with three branches and merge commit', () => {
it('7: should render a simple gitgraph with three branches and tagged merge commit', () => {
imgSnapshotTest(
`gitGraph
commit id: "1"
@@ -93,7 +93,7 @@ describe('Git Graph diagram', () => {
checkout nice_feature
commit id: "7"
checkout main
merge nice_feature
merge nice_feature id: "12345" tag: "my merge commit"
checkout very_nice_feature
commit id: "8"
checkout main
@@ -180,7 +180,48 @@ describe('Git Graph diagram', () => {
{}
);
});
it('11: should render a gitgraph with cherry pick commit with custom tag', () => {
imgSnapshotTest(
`
gitGraph
commit id: "ZERO"
branch develop
commit id:"A"
checkout main
commit id:"ONE"
checkout develop
commit id:"B"
checkout main
commit id:"TWO"
cherry-pick id:"A" tag: "snapshot"
commit id:"THREE"
checkout develop
commit id:"C"
`,
{}
);
});
it('11: should render a gitgraph with cherry pick commit with no tag', () => {
imgSnapshotTest(
`
gitGraph
commit id: "ZERO"
branch develop
commit id:"A"
checkout main
commit id:"ONE"
checkout develop
commit id:"B"
checkout main
commit id:"TWO"
cherry-pick id:"A" tag: ""
commit id:"THREE"
checkout develop
commit id:"C"
`,
{}
);
});
it('11: should render a simple gitgraph with two cherry pick commit', () => {
imgSnapshotTest(
`
@@ -207,48 +248,76 @@ describe('Git Graph diagram', () => {
{}
);
});
it('12: should render commits for more than 8 branches', () => {
imgSnapshotTest(
`
gitGraph
checkout main
commit
%% Make sure to manually set the ID of all commits, for consistent visual tests
commit id: "1-abcdefg"
checkout main
branch branch1
commit
commit id: "2-abcdefg"
checkout main
merge branch1
branch branch2
commit
commit id: "3-abcdefg"
checkout main
merge branch2
branch branch3
commit
commit id: "4-abcdefg"
checkout main
merge branch3
branch branch4
commit
commit id: "5-abcdefg"
checkout main
merge branch4
branch branch5
commit
commit id: "6-abcdefg"
checkout main
merge branch5
branch branch6
commit
commit id: "7-abcdefg"
checkout main
merge branch6
branch branch7
commit
commit id: "8-abcdefg"
checkout main
merge branch7
branch branch8
commit
commit id: "9-abcdefg"
checkout main
merge branch8
branch branch9
commit
commit id: "10-abcdefg"
`,
{}
);
});
it('13: should render a simple gitgraph with three branches,custom merge commit id,tag,type', () => {
imgSnapshotTest(
`gitGraph
commit id: "1"
commit id: "2"
branch nice_feature
checkout nice_feature
commit id: "3"
checkout main
commit id: "4"
checkout nice_feature
branch very_nice_feature
checkout very_nice_feature
commit id: "5"
checkout main
commit id: "6"
checkout nice_feature
commit id: "7"
checkout main
merge nice_feature id: "customID" tag: "customTag" type: REVERSE
checkout very_nice_feature
commit id: "8"
checkout main
commit id: "9"
`,
{}
);

View File

@@ -42,8 +42,8 @@ section Checkout from website
cy.get('svg').should((svg) => {
expect(svg).to.have.attr('width', '100%');
expect(svg).to.have.attr('height');
const height = parseFloat(svg.attr('height'));
expect(height).to.eq(565);
// const height = parseFloat(svg.attr('height'));
// expect(height).to.eq(565);
const style = svg.attr('style');
expect(style).to.match(/^max-width: [\d.]+px;$/);
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));

View File

@@ -0,0 +1,75 @@
import { imgSnapshotTest, renderGraph } from '../../helpers/util.js';
describe('Mindmap', () => {
it('square shape', () => {
imgSnapshotTest(
`
mindmap
root[
The root
]
`,
{}
);
cy.get('svg');
});
it('rounded rect shape', () => {
imgSnapshotTest(
`
mindmap
root((
The root
))
`,
{}
);
cy.get('svg');
});
it('circle shape', () => {
imgSnapshotTest(
`
mindmap
root(
The root
)
`,
{}
);
cy.get('svg');
});
it('default shape', () => {
imgSnapshotTest(
`
mindmap
The root
`,
{}
);
cy.get('svg');
});
it('adding children', () => {
imgSnapshotTest(
`
mindmap
The root
child1
child2
`,
{}
);
cy.get('svg');
});
it('adding grand children', () => {
imgSnapshotTest(
`
mindmap
The root
child1
child2
child3
`,
{}
);
cy.get('svg');
});
});

View File

@@ -0,0 +1,115 @@
import { imgSnapshotTest, renderGraph } from '../../helpers/util.js';
describe('Mindmaps', () => {
it('Only a root', () => {
imgSnapshotTest(
`mindmap
root
`,
{}
);
});
it('a root with a shape', () => {
imgSnapshotTest(
`mindmap
root[root]
`,
{}
);
});
it('a root with wrapping text and a shape', () => {
imgSnapshotTest(
`mindmap
root[A root with a long text that wraps to keep the node size in check]
`,
{}
);
});
it('a root with an icon', () => {
imgSnapshotTest(
`mindmap
root[root]
::icon(mdi mdi-fire)
`,
{}
);
});
it('Blang and cloud shape', () => {
imgSnapshotTest(
`mindmap
root))bang((
::icon(mdi mdi-fire)
a))Another bang((
::icon(mdi mdi-fire)
a)A cloud(
::icon(mdi mdi-fire)
`,
{}
);
});
it('Blang and cloud shape with icons', () => {
imgSnapshotTest(
`mindmap
root))bang((
a))Another bang((
a)A cloud(
`,
{}
);
});
it('braches', () => {
imgSnapshotTest(
`mindmap
root
child1
grandchild 1
grandchild 2
child2
grandchild 3
grandchild 4
child3
grandchild 5
grandchild 6
`,
{}
);
});
it('braches with shapes and labels', () => {
imgSnapshotTest(
`mindmap
root
child1((Circle))
grandchild 1
grandchild 2
child2(Round rectangle)
grandchild 3
grandchild 4
child3[Square]
grandchild 5
::icon(mdi mdi-fire)
gc6((grand<br/>child 6))
::icon(mdi mdi-fire)
`,
{}
);
});
it('text shouhld wrap with icon', () => {
imgSnapshotTest(
`mindmap
root
Child3(A node with an icon and with a long text that wraps to keep the node size in check)
`,
{}
);
});
/* The end */
});

View File

@@ -48,9 +48,9 @@ describe('Pie Chart', () => {
);
cy.get('svg').should((svg) => {
expect(svg).to.have.attr('width', '100%');
expect(svg).to.have.attr('height');
const height = parseFloat(svg.attr('height'));
expect(height).to.eq(450);
// expect(svg).to.have.attr('height');
// const height = parseFloat(svg.attr('height'));
// expect(height).to.eq(450);
const style = svg.attr('style');
expect(style).to.match(/^max-width: [\d.]+px;$/);
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
@@ -68,9 +68,9 @@ describe('Pie Chart', () => {
{ pie: { useMaxWidth: false } }
);
cy.get('svg').should((svg) => {
const height = parseFloat(svg.attr('height'));
// const height = parseFloat(svg.attr('height'));
const width = parseFloat(svg.attr('width'));
expect(height).to.eq(450);
// expect(height).to.eq(450);
expect(width).to.eq(984);
expect(svg).to.not.have.attr('style');
});

View File

@@ -734,9 +734,9 @@ context('Sequence diagram', () => {
);
cy.get('svg').should((svg) => {
expect(svg).to.have.attr('width', '100%');
expect(svg).to.have.attr('height');
const height = parseFloat(svg.attr('height'));
expect(height).to.be.within(920, 971);
// expect(svg).to.have.attr('height');
// const height = parseFloat(svg.attr('height'));
// expect(height).to.be.within(920, 971);
const style = svg.attr('style');
expect(style).to.match(/^max-width: [\d.]+px;$/);
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
@@ -773,9 +773,9 @@ context('Sequence diagram', () => {
{ sequence: { useMaxWidth: false } }
);
cy.get('svg').should((svg) => {
const height = parseFloat(svg.attr('height'));
// const height = parseFloat(svg.attr('height'));
const width = parseFloat(svg.attr('width'));
expect(height).to.be.within(920, 971);
// expect(height).to.be.within(920, 971);
// use within because the absolute value can be slightly different depending on the environment ±5%
expect(width).to.be.within(820 * 0.95, 820 * 1.05);
expect(svg).to.not.have.attr('style');

View File

@@ -480,14 +480,14 @@ stateDiagram-v2
);
cy.get('svg').should((svg) => {
expect(svg).to.have.attr('width', '100%');
expect(svg).to.have.attr('height');
const height = parseFloat(svg.attr('height'));
expect(height).to.be.within(177, 178);
// expect(svg).to.have.attr('height');
// const height = parseFloat(svg.attr('height'));
// expect(height).to.be.within(177, 178);
const style = svg.attr('style');
expect(style).to.match(/^max-width: [\d.]+px;$/);
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
// use within because the absolute value can be slightly different depending on the environment ±5%
expect(maxWidthValue).to.be.within(135 * 0.95, 135 * 1.05);
expect(maxWidthValue).to.be.within(65, 85);
});
});
it('v2 should render a state diagram when useMaxWidth is false', () => {
@@ -501,11 +501,11 @@ stateDiagram-v2
{ state: { useMaxWidth: false } }
);
cy.get('svg').should((svg) => {
const height = parseFloat(svg.attr('height'));
// const height = parseFloat(svg.attr('height'));
const width = parseFloat(svg.attr('width'));
expect(height).to.be.within(177, 178);
// expect(height).to.be.within(177, 178);
// use within because the absolute value can be slightly different depending on the environment ±5%
expect(width).to.be.within(135 * 0.95, 135 * 1.05);
expect(width).to.be.within(65, 85);
expect(svg).to.not.have.attr('style');
});
});

View File

@@ -357,16 +357,16 @@ describe('State diagram', () => {
);
cy.get('svg').should((svg) => {
expect(svg).to.have.attr('width', '100%');
expect(svg).to.have.attr('height');
const height = parseFloat(svg.attr('height'));
expect(height).to.be.within(176, 178);
// expect(svg).to.have.attr('height');
// const height = parseFloat(svg.attr('height'));
// expect(height).to.be.within(176, 178);
const style = svg.attr('style');
expect(style).to.match(/^max-width: [\d.]+px;$/);
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
// use within because the absolute value can be slightly different depending on the environment ±5%
// Todo investigate difference
// expect(maxWidthValue).to.be.within(112 * .95, 112 * 1.05);
expect(maxWidthValue).to.be.within(130, 140);
expect(maxWidthValue).to.be.within(65, 85);
});
});
it('should render a state diagram when useMaxWidth is false', () => {
@@ -379,13 +379,13 @@ describe('State diagram', () => {
{ state: { useMaxWidth: false } }
);
cy.get('svg').should((svg) => {
const height = parseFloat(svg.attr('height'));
// const height = parseFloat(svg.attr('height'));
const width = parseFloat(svg.attr('width'));
expect(height).to.be.within(176, 178);
// expect(height).to.be.within(176, 178);
// use within because the absolute value can be slightly different depending on the environment ±5%
// Todo investigate difference
// expect(width).to.be.within(112 * .95, 112 * 1.05);
expect(width).to.be.within(130, 140);
expect(width).to.be.within(65, 85);
expect(svg).to.not.have.attr('style');
});

View File

@@ -1,4 +1,4 @@
import mermaid from '../../dist/mermaid.core';
import mermaid from '../../packages/mermaid/src/mermaid';
let code = `flowchart LR
Power_Supply --> Transmitter_A

View File

@@ -1,31 +1,37 @@
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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';
}
h1 { color: white;}
}
h1 {
color: white;
}
.mermaid2 {
display: none;
}
.customCss > rect, .customCss{
fill:#FF0000 !important;
stroke:#FFFF00 !important;
stroke-width:4px !important;
}
.customCss > rect,
.customCss {
fill: #ff0000 !important;
stroke: #ffff00 !important;
stroke-width: 4px !important;
}
</style>
</head>
<body>
<h1>info below</h1>
<div class="mermaid" style="width: 100%; height: 20%;">
<pre class="mermaid" style="width: 100%; height: 20%">
%%{init: {'theme': 'base', 'fontFamily': 'courier', 'themeVariables': { 'primaryColor': '#fff000'}}}%%
classDiagram
class BankAccount{
@@ -36,8 +42,8 @@
}
cssClass "BankAccount" customCss
</div>
<div class="mermaid" style="width: 100%; height: 20%;">
</pre>
<pre class="mermaid" style="width: 100%; height: 20%">
%%{init: {'theme': 'base', 'fontFamily': 'courier', 'themeVariables': { 'primaryColor': '#fff000'}}}%%
classDiagram-v2
class BankAccount{
@@ -47,9 +53,8 @@
+withdrawl(amount) int
}
cssClass "BankAccount" customCss
</div>
<div class="mermaid2" style="width: 100%; height: 20%;">
</pre>
<pre class="mermaid2" style="width: 100%; height: 20%">
%%{init: {'theme': 'base', 'fontFamily': 'courier', 'themeVariables': { 'primaryColor': '#fff000'}}}%%
classDiagram
class BankAccount{
@@ -71,8 +76,8 @@
}
callback Class01 "callback" "A Tooltip"
</div>
<div class="mermaid2" style="width: 100%; height: 20%;">
</pre>
<pre class="mermaid2" style="width: 100%; height: 20%">
flowchart TB
a_a(Aftonbladet) --> b_b[gorilla]:::apa --> c_c{chimp}:::apa -->a_a
a_a --> c --> d_d --> c_c
@@ -80,9 +85,9 @@
class a_a apa;
click a_a "https://www.aftonbladet.se" "apa"
</div>
</pre>
<div class="mermaid2" style="width: 100%; height: 20%;">
<pre class="mermaid2" style="width: 100%; height: 20%">
classDiagram-v2
classA -- classB : Inheritance
@@ -97,7 +102,7 @@
classK ..> classL : Dependency
classM ..|> classN : Realization
classO .. classP : Link(Dashed)
classA : +attr1
classA : +attr1
classA : attr2
classA : method1()
&lt;&lt;interface&gt;&gt; classB
@@ -111,8 +116,8 @@
class Shape
callback Shape "callbackFunction" "This is a tooltip for a callback"
</div>
<script src="./mermaid.js"></script>
</pre>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -134,8 +139,8 @@
securityLevel: 'loose',
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

View File

@@ -1,61 +1,60 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
<style>
.mermaid2 {
display: none;
}
</style>
</head>
<body>
<div style="display: flex">
<div id="FirstLine" class="mermaid">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=" />
<style>
.mermaid2 {
display: none;
}
</style>
</head>
<body>
<div style="display: flex">
<pre id="FirstLine" class="mermaid">
graph TB
Function-->URL
click Function clickByFlow "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
graph TB
1Function--->2URL
click 1Function clickByFlow "Add a div"
click 2URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
flowchart TB
Function-->URL
click Function clickByFlow "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>" _self
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
flowchart TB
1Function--->2URL
click 1Function clickByFlow "Add a div"
click 2URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>" _self
</div>
</pre>
<div id="FirstLine" class="mermaid">
<pre id="FirstLine" class="mermaid">
classDiagram
class ShapeLink
link ShapeLink "http://localhost:9000/webpackUsage.html" "This is a tooltip for a link"
class ShapeCallback
callback ShapeCallback "clickByClass" "This is a tooltip for a callback"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
classDiagram-v2
class ShapeLink2
link ShapeLink2 "http://localhost:9000/webpackUsage.html" "This is a tooltip for a link"
class ShapeCallback2
callback ShapeCallback2 "clickByClass" "This is a tooltip for a callback"
</div>
</pre>
</div>
</div>
<div class="mermaid">
<pre class="mermaid">
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
@@ -94,77 +93,76 @@
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
</div>
<div style="display: flex">
<div id="FirstLine" class="mermaid">
</pre>
<div style="display: flex">
<pre id="FirstLine" class="mermaid">
graph TB
FunctionArg-->URL
click FunctionArg call clickByFlowArg(ARGUMENT) "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
flowchart TB
FunctionArg-->URL
click FunctionArg call clickByFlowArg(ARGUMENT) "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
classDiagram
class ShapeLink
link ShapeLink "http://localhost:9000/webpackUsage.html" "This is a tooltip for a link"
class ShapeCallback
click ShapeCallback call clickByClass(123) "This is a tooltip for a callback"
</div>
</pre>
<div id="FirstLine" class="mermaid">
<pre id="FirstLine" class="mermaid">
classDiagram-v2
class ShapeLink2
link ShapeLink2 "http://localhost:9000/webpackUsage.html" "This is a tooltip for a link"
class ShapeCallback2
click ShapeCallback2 call clickByClass(123) "This is a tooltip for a callback"
</pre>
</div>
</div>
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow';
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByFlowArg(argument) {
const div = document.createElement('div');
div.className = 'created-by-click-2';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow: ' + argument;
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow';
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByGantt(arg1, arg2, arg3) {
const div = document.createElement('div');
div.className = 'created-by-gant-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Gant';
if (arg1) div.innerText += ' ' + arg1;
if (arg2) div.innerText += ' ' + arg2;
if (arg3) div.innerText += ' ' + arg3;
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByFlowArg(argument) {
const div = document.createElement('div');
div.className = 'created-by-click-2';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow: ' + argument;
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByClass(arg) {
const div = document.createElement('div');
div.className = 'created-by-class-click';
div.style = 'padding: 20px; background: purple; color: white;';
div.innerText = 'Clicked By Class' + (arg ? arg : '');
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByGantt(arg1, arg2, arg3) {
const div = document.createElement('div');
div.className = 'created-by-gant-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Gant';
if (arg1) div.innerText += ' ' + arg1;
if (arg2) div.innerText += ' ' + arg2;
if (arg3) div.innerText += ' ' + arg3;
document.getElementsByTagName('body')[0].appendChild(div);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'loose', logLevel: 1 });
</script>
</body>
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByClass(arg) {
const div = document.createElement('div');
div.className = 'created-by-class-click';
div.style = 'padding: 20px; background: purple; color: white;';
div.innerText = 'Clicked By Class' + (arg ? arg : '');
document.getElementsByTagName('body')[0].appendChild(div);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'loose', logLevel: 1 });
</script>
</body>
</html>

View File

@@ -1,26 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
</head>
<body>
<div id="FirstLine" class="mermaid">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=" />
</head>
<body>
<pre id="FirstLine" class="mermaid">
graph TB
Function-->URL
click Function clickByFlow "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
graph TB
1Function-->2URL
click 1Function clickByFlow "Add a div"
click 2URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
</pre>
<div class="mermaid">
<pre class="mermaid">
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
@@ -57,27 +57,27 @@
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
</div>
</pre>
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow';
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow';
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByGantt(elemName) {
const div = document.createElement('div');
div.className = 'created-by-gant-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Gant';
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByGantt(elemName) {
const div = document.createElement('div');
div.className = 'created-by-gant-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Gant';
document.getElementsByTagName('body')[0].appendChild(div);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'strct', logLevel: 1 });
</script>
</body>
document.getElementsByTagName('body')[0].appendChild(div);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'strct', logLevel: 1 });
</script>
</body>
</html>

View File

@@ -1,61 +1,60 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
<style>
.mermaid2 {
display: none;
}
</style>
</head>
<body>
<div style="display: flex">
<div id="FirstLine" class="mermaid">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=" />
<style>
.mermaid2 {
display: none;
}
</style>
</head>
<body>
<div style="display: flex">
<pre id="FirstLine" class="mermaid">
graph TB
Function-->URL
click Function clickByFlow "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
graph TB
1Function--->2URL
click 1Function clickByFlow "Add a div"
click 2URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
flowchart TB
Function-->URL
click Function clickByFlow "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>" _self
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
flowchart TB
1Function--->2URL
click 1Function clickByFlow "Add a div"
click 2URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>" _self
</div>
</pre>
<div id="FirstLine" class="mermaid">
<pre id="FirstLine" class="mermaid">
classDiagram
class ShapeLink
link ShapeLink "http://localhost:9000/webpackUsage.html" "This is a tooltip for a link"
class ShapeCallback
callback ShapeCallback "clickByClass" "This is a tooltip for a callback"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
classDiagram-v2
class ShapeLink2
link ShapeLink2 "http://localhost:9000/webpackUsage.html" "This is a tooltip for a link"
class ShapeCallback2
callback ShapeCallback2 "clickByClass" "This is a tooltip for a callback"
</div>
</pre>
</div>
</div>
<div class="mermaid">
<pre class="mermaid">
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
@@ -94,77 +93,76 @@
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
</div>
<div style="display: flex">
<div id="FirstLine" class="mermaid">
</pre>
<div style="display: flex">
<pre id="FirstLine" class="mermaid">
graph TB
FunctionArg-->URL
click FunctionArg call clickByFlowArg(ARGUMENT) "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
flowchart TB
FunctionArg-->URL
click FunctionArg call clickByFlowArg(ARGUMENT) "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
</pre>
<div id="FirstLine" class="mermaid">
<pre id="FirstLine" class="mermaid">
classDiagram
class ShapeLink
link ShapeLink "http://localhost:9000/webpackUsage.html" "This is a tooltip for a link"
class ShapeCallback
click ShapeCallback call clickByClass(123) "This is a tooltip for a callback"
</div>
</pre>
<div id="FirstLine" class="mermaid">
<pre id="FirstLine" class="mermaid">
classDiagram-v2
class ShapeLink2
link ShapeLink2 "http://localhost:9000/webpackUsage.html" "This is a tooltip for a link"
class ShapeCallback2
click ShapeCallback2 call clickByClass(123) "This is a tooltip for a callback"
</pre>
</div>
</div>
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow';
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow';
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByFlowArg(argument) {
const div = document.createElement('div');
div.className = 'created-by-click-2';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow: ' + argument;
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByFlowArg(argument) {
const div = document.createElement('div');
div.className = 'created-by-click-2';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow: ' + argument;
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByGantt(arg1, arg2, arg3) {
const div = document.createElement('div');
div.className = 'created-by-gant-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Gant';
if (arg1) div.innerText += ' ' + arg1;
if (arg2) div.innerText += ' ' + arg2;
if (arg3) div.innerText += ' ' + arg3;
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByGantt(arg1, arg2, arg3) {
const div = document.createElement('div');
div.className = 'created-by-gant-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Gant';
if (arg1) div.innerText += ' ' + arg1;
if (arg2) div.innerText += ' ' + arg2;
if (arg3) div.innerText += ' ' + arg3;
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByClass(arg) {
const div = document.createElement('div');
div.className = 'created-by-class-click';
div.style = 'padding: 20px; background: purple; color: white;';
div.innerText = 'Clicked By Class' + (arg ? arg : '');
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByClass(arg) {
const div = document.createElement('div');
div.className = 'created-by-class-click';
div.style = 'padding: 20px; background: purple; color: white;';
div.innerText = 'Clicked By Class' + (arg ? arg : '');
document.getElementsByTagName('body')[0].appendChild(div);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'sandbox', logLevel: 1 });
</script>
</body>
document.getElementsByTagName('body')[0].appendChild(div);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'sandbox', logLevel: 1 });
</script>
</body>
</html>

View File

@@ -1,26 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
</head>
<body>
<div id="FirstLine" class="mermaid">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=" />
</head>
<body>
<pre id="FirstLine" class="mermaid">
graph TB
Function-->URL
click Function clickByFlow "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
graph TB
1Function-->2URL
click 1Function clickByFlow "Add a div"
click 2URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
</pre>
<div class="mermaid">
<pre class="mermaid">
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
@@ -59,30 +59,30 @@
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
</div>
</pre>
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow';
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow';
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByGantt(arg1, arg2, arg3) {
const div = document.createElement('div');
div.className = 'created-by-gant-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Gant';
if (arg1) div.innerText += ' ' + arg1;
if (arg2) div.innerText += ' ' + arg2;
if (arg3) div.innerText += ' ' + arg3;
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByGantt(arg1, arg2, arg3) {
const div = document.createElement('div');
div.className = 'created-by-gant-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Gant';
if (arg1) div.innerText += ' ' + arg1;
if (arg2) div.innerText += ' ' + arg2;
if (arg3) div.innerText += ' ' + arg3;
document.getElementsByTagName('body')[0].appendChild(div);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'strict', logLevel: 1 });
</script>
</body>
document.getElementsByTagName('body')[0].appendChild(div);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'strict', logLevel: 1 });
</script>
</body>
</html>

View File

@@ -1,23 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
<style>
body {
font-family: 'trebuchet ms', verdana, arial;
}
</style>
</head>
<body>
<div class="mermaid2">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=" />
<style>
body {
font-family: 'trebuchet ms', verdana, arial;
}
</style>
</head>
<body>
<pre class="mermaid2">
%%{init: { 'themeCSS': '} * { background: lightblue }' } }%%
flowchart TD
a --> b
</div>
<div class="mermaid">
</pre>
<pre class="mermaid">
%%{init:{"theme":"base", "themeVariables": {"primaryColor":"#411d4e", "titleColor":"white", "darkMode":true}}}%%
flowchart LR
subgraph A
@@ -27,13 +27,13 @@
i -->f
end
A --> B
</div>
<script src="./mermaid.js"></script>
<script>
function showFullFirstSquad(elemName) {
console.log('show ' + elemName);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'loose', logLevel: 0 });
</script>
</body>
</pre>
<script src="./mermaid.js"></script>
<script>
function showFullFirstSquad(elemName) {
console.log('show ' + elemName);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'loose', logLevel: 0 });
</script>
</body>
</html>

View File

@@ -1,19 +1,24 @@
<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
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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';
}
h1 { color: grey;}
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
@@ -22,137 +27,55 @@
<body>
<h1>info below</h1>
<div class="flex">
<div class="mermaid" style="width: 50%; height: 20%;">
flowchart BT
subgraph S1
sub1 -->sub2
end
subgraph S2
sub4
end
S1 --> S2
sub1 --> sub4
<div class="mermaid" style="width: 50%; height: 20%">
flowchart BT subgraph S1 sub1 -->sub2 end subgraph S2 sub4 end S1 --> S2 sub1 --> sub4
</div>
<div class="mermaid2" style="width: 50%; height: 200px;">
sequenceDiagram
Alice->>Bob:Extremely utterly long line of longness which had preivously overflown the actor box as it is much longer than what it should be
Bob->>Alice: I'm short though
<div class="mermaid2" style="width: 50%; height: 200px">
sequenceDiagram Alice->>Bob:Extremely utterly long line of longness which had preivously
overflown the actor box as it is much longer than what it should be Bob->>Alice: I'm short
though
</div>
<div class="mermaid2" style="width: 50%; height: 200px;">
%%{init: {'securityLevel': 'loose'}}%%
graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{{Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?}}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[Car]
click A "index.html#link-clicked" "link test"
click B callback "click test"
classDef someclass fill:#f96;
class A someclass;
class C someclass;
<div class="mermaid2" style="width: 50%; height: 200px">
%%{init: {'securityLevel': 'loose'}}%% graph TD A[Christmas] -->|Get money| B(Go shopping) B
--> C{{Let me think...<br />Do I want something for work,<br />something to spend every free
second with,<br />or something to get around?}} C -->|One| D[Laptop] C -->|Two| E[iPhone] C
-->|Three| F[Car] click A "index.html#link-clicked" "link test" click B callback "click
test" classDef someclass fill:#f96; class A someclass; class C someclass;
</div>
<div class="mermaid2" style="width: 50%; height: 200px;">
<div class="mermaid2" style="width: 50%; height: 200px">
flowchart BT subgraph a b1 -- ok --> b2 end a -- sert --> c c --> d b1 --> d a --asd123 -->
d
</div>
<div class="mermaid2" style="width: 50%; height: 20%">
stateDiagram-v2 state A { B1 --> B2: ok } A --> C: sert C --> D B1 --> D A --> D: asd123
</div>
</div>
<div class="mermaid2" style="width: 50%; height: 40%">
%% this does not produce the desired result flowchart TB subgraph container_Beta
process_C-->Process_D end subgraph container_Alpha process_A-->process_B
process_B-->|via_AWSBatch|container_Beta process_A-->|messages|process_C end
</div>
<div class="mermaid" style="width: 50%; height: 40%">
flowchart TB a{{"Lorem 'ipsum' dolor 'sit' amet, 'consectetur' adipiscing 'elit'."}} -->
b{{"Lorem #quot;ipsum#quot; dolor #quot;sit#quot; amet,#quot;consectetur#quot; adipiscing
#quot;elit#quot;."}}
</div>
<div class="mermaid2" style="width: 50%; height: 50%">
flowchart TB internet nat routeur lb1 lb2 compute1 compute2 subgraph project routeur nat
subgraph subnet1 compute1 lb1 end subgraph subnet2 compute2 lb2 end end internet --> routeur
routeur --> subnet1 & subnet2 subnet1 & subnet2 --> nat --> internet
</div>
<div class="mermaid2" style="width: 50%; height: 50%">
flowchart TD subgraph one[One] subgraph sub_one[Sub One] _sub_one end end subgraph two[Two]
_two end sub_one --> two
</div>
<div class="mermaid2" style="width: 50%; height: 50%">
flowchart TD subgraph one[One] subgraph sub_one[Sub One] _sub_one end subgraph sub_two[Sub
Two] _sub_two end _one end %% here, either the first or the second one sub_one --> sub_two
_one --> b
</div>
flowchart BT
subgraph a
b1 -- ok --> b2
end
a -- sert --> c
c --> d
b1 --> d
a --asd123 --> d
</div>
<div class="mermaid2" style="width: 50%; height: 20%;">
stateDiagram-v2
state A {
B1 --> B2: ok
}
A --> C: sert
C --> D
B1 --> D
A --> D: asd123
</div>
</div>
<div class="mermaid2" style="width: 50%; height: 40%;">
%% this does not produce the desired result
flowchart TB
subgraph container_Beta
process_C-->Process_D
end
subgraph container_Alpha
process_A-->process_B
process_B-->|via_AWSBatch|container_Beta
process_A-->|messages|process_C
end
</div>
<div class="mermaid" style="width: 50%; height: 40%;">
flowchart TB
a{{"Lorem 'ipsum' dolor 'sit' amet, 'consectetur' adipiscing 'elit'."}}
--> b{{"Lorem #quot;ipsum#quot; dolor #quot;sit#quot; amet,#quot;consectetur#quot; adipiscing #quot;elit#quot;."}}
</div>
<div class="mermaid2" style="width: 50%; height: 50%;">
flowchart TB
internet
nat
routeur
lb1
lb2
compute1
compute2
subgraph project
routeur
nat
subgraph subnet1
compute1
lb1
end
subgraph subnet2
compute2
lb2
end
end
internet --> routeur
routeur --> subnet1 & subnet2
subnet1 & subnet2 --> nat --> internet
</div>
<div class="mermaid2" style="width: 50%; height: 50%;">
flowchart TD
subgraph one[One]
subgraph sub_one[Sub One]
_sub_one
end
end
subgraph two[Two]
_two
end
sub_one --> two
</div>
<div class="mermaid2" style="width: 50%; height: 50%;">
flowchart TD
subgraph one[One]
subgraph sub_one[Sub One]
_sub_one
end
subgraph sub_two[Sub Two]
_sub_two
end
_one
end
%% here, either the first or the second one
sub_one --> sub_two
_one --> b
</div>
<script src="./mermaid.js"></script>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -172,8 +95,8 @@ _one --> b
securityLevel: 'strict',
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

View File

@@ -1,19 +1,24 @@
<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
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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';
}
h1 { color: grey;}
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
@@ -22,7 +27,7 @@
<body>
<h1>info below</h1>
<div class="flex">
<div class="mermaid2" style="width: 50%; height: 20%;">
<pre class="mermaid2" style="width: 50%; height: 20%">
flowchart BT
subgraph two
b1
@@ -32,13 +37,13 @@ flowchart BT
end
c1 --apa apa apa--> b1
two --> c2
</div>
<div class="mermaid2" style="width: 50%; height: 200px;">
</pre>
<pre class="mermaid2" style="width: 50%; height: 200px">
sequenceDiagram
Alice->>Bob:Extremely utterly long line of longness which had previously overflown the actor box as it is much longer than what it should be
Bob->>Alice: I'm short though
</div>
<div class="mermaid2" style="width: 50%; height: 200px;">
</pre>
<pre class="mermaid2" style="width: 50%; height: 200px">
%%{init: {'securityLevel': 'loose'}}%%
graph TD
A[Christmas] -->|Get money| B(Go shopping)
@@ -51,8 +56,8 @@ sequenceDiagram
classDef someclass fill:#f96;
class A someclass;
class C someclass;
</div>
<div class="mermaid2" style="width: 50%; height: 200px;">
</pre>
<pre class="mermaid2" style="width: 50%; height: 200px">
flowchart BT
subgraph a
@@ -62,8 +67,8 @@ sequenceDiagram
c --> d
b1 --> d
a --asd123 --> d
</div>
<div class="mermaid2" style="width: 50%; height: 20%;">
</pre>
<pre class="mermaid2" style="width: 50%; height: 20%">
stateDiagram-v2
state A {
B1 --> B2: ok
@@ -72,9 +77,9 @@ stateDiagram-v2
C --> D
B1 --> D
A --> D: asd123
</div>
</div>
<div class="mermaid2" style="width: 50%; height: 20%;">
</pre>
</div>
<pre class="mermaid2" style="width: 50%; height: 20%">
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#ff0000'}}}%%
flowchart LR
a -->b
@@ -84,9 +89,8 @@ flowchart LR
subgraph B
b
end
</div>
<div class="mermaid" style="width: 50%; height: 20%;">
</pre>
<pre class="mermaid" style="width: 50%; height: 20%">
flowchart TB
subgraph A
b-->B
@@ -95,16 +99,15 @@ flowchart TB
subgraph B
c
end
</div>
<div class="mermaid2" style="width: 50%; height: 20%;">
</pre>
<pre class="mermaid2" style="width: 50%; height: 20%">
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
Note over Alice,Bob: Looks
Note over Bob,Alice: Looks back
</div>
</pre>
<script src="./mermaid.js"></script>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -124,8 +127,8 @@ Note over Bob,Alice: Looks back
securityLevel: 'strict',
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

View File

@@ -1,10 +1,13 @@
<html>
<head>
<meta charset="utf-8"/>
<meta charset="utf-8" />
<!-- <meta charset="iso-8859-15"/> -->
<script src="/e2e.js"></script>
<script src="./viewer.js" type="module"></script>
<!-- <link href="https://fonts.googleapis.com/css?family=Mansalva&display=swap" rel="stylesheet" /> -->
<link href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap" rel="stylesheet">
<link
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"
rel="stylesheet"
/>
<style>
body {
/* font-family: 'Mansalva', cursive;*/
@@ -27,13 +30,14 @@
svg {
border: 2px solid darkred;
}
.exClass2 > rect, .exClass {
.exClass2 > rect,
.exClass {
fill: greenyellow !important;
}
</style>
</head>
<body>
<script src="./mermaid.js"></script>
<!-- <script src="./mermaid.js"></script> -->
<script>
// Notice startOnLoad=false
// This prevents default handling in mermaid from render before the e2e logic is applied

View File

@@ -1,34 +1,34 @@
<html>
<head>
<link
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
rel="stylesheet"
/>
<style>body {
font-family: 'trebuchet ms', verdana, arial;
}</style>
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<style>
body {
font-family: 'trebuchet ms', verdana, arial;
}
</style>
</head>
<body>
<div class="mermaid">
<pre class="mermaid">
graph TB
subgraph One
a1-->a2-->a3
end
</div>
<div class="mermaid">
</pre>
<pre class="mermaid">
graph TB
a_a --> b_b:::apa --> c_c:::apa
classDef apa fill:#f9f,stroke:#333,stroke-width:4px;
class a_a apa;
</div>
<div class="mermaid">
</pre>
<pre class="mermaid">
graph TB
a_a(Aftonbladet) --> b_b[gorilla]:::apa --> c_c{chimp}:::apa -->a_a
a_a --> c --> d_d --> c_c
classDef apa fill:#f9f,stroke:#333,stroke-width:4px;
class a_a apa;
click a_a "http://www.aftonbladet.se" "apa"
</div>
</pre>
<script src="./mermaid.js"></script>
<script>
mermaid.initialize({
@@ -41,6 +41,5 @@
// sequenceDiagram: { actorMargin: 300 } // deprecated
});
</script>
</script>
</body>
</html>

View File

@@ -1,28 +1,26 @@
<html>
<script>
<script>
// %%{ init: { "logLevel":0, "themeVariables" : { "primaryColor": "#fff000","textColor": "green","apa":"} #target { background-color: crimson }" } } }%%
</script>
<body>
</script>
<body>
<div id="target">
<h1>This element does not belong to the SVG but we can style it</h1>
<h1>This element does not belong to the SVG but we can style it</h1>
</div>
<svg id="diagram">
</svg>
<svg id="diagram"></svg>
<script src="./mermaid.js"></script>
<script>
mermaid.initialize({ startOnLoad: false, logLevel: 0 });
mermaid.initialize({ startOnLoad: false, logLevel: 0 });
const graph = `
const graph = `
%%{ init: { "themeVariables" : { "textColor": "green;} #target { background-color: crimson }", "mainBkg": "#fff000" } } }%%
graph TD
A[Goose]
`;
const diagram = document.getElementById('diagram');
const svg = mermaid.render('diagram-svg', graph);
diagram.innerHTML = svg;
const diagram = document.getElementById('diagram');
const svg = mermaid.render('diagram-svg', graph);
diagram.innerHTML = svg;
</script>
</body>
</body>
</html>

View File

@@ -1,28 +1,26 @@
<html>
<script>
<script>
// %%{ init: { "logLevel":0, "themeVariables" : { "primaryColor": "#fff000","textColor": "green","apa":"} #target { background-color: crimson }" } } }%%
</script>
<body>
</script>
<body>
<div id="target">
<h1>This element does not belong to the SVG but we can style it</h1>
<h1>This element does not belong to the SVG but we can style it</h1>
</div>
<svg id="diagram">
</svg>
<svg id="diagram"></svg>
<script src="./mermaid.js"></script>
<script>
mermaid.initialize({ startOnLoad: false, logLevel: 0 });
mermaid.initialize({ startOnLoad: false, logLevel: 0 });
const graph = `
const graph = `
%%{ init: { "fontFamily" : "&125; * { background: red }" } }%%
graph TD
A[Goose]
`;
const diagram = document.getElementById('diagram');
const svg = mermaid.render('diagram-svg', graph);
diagram.innerHTML = svg;
const diagram = document.getElementById('diagram');
const svg = mermaid.render('diagram-svg', graph);
diagram.innerHTML = svg;
</script>
</body>
</body>
</html>

View File

@@ -1,31 +1,37 @@
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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';
}
h1 { color: white;}
}
h1 {
color: white;
}
.mermaid2 {
display: none;
}
.customCss > rect, .customCss{
fill:#FF0000 !important;
stroke:#FFFF00 !important;
stroke-width:4px !important;
}
.customCss > rect,
.customCss {
fill: #ff0000 !important;
stroke: #ffff00 !important;
stroke-width: 4px !important;
}
</style>
</head>
<body>
<h1>info below</h1>
<div class="mermaid" style="width: 100%; height: 20%;">
<pre class="mermaid" style="width: 100%; height: 20%">
gitGraph
class BankAccount{
@@ -35,10 +41,9 @@
+withdrawl(amount) int
}
cssClass "BankAccount" customCss
</pre>
</div>
<script src="./mermaid.js"></script>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -60,8 +65,8 @@
securityLevel: 'loose',
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

View File

@@ -1,32 +1,60 @@
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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:#111; */
/* background:#333; */
font-family: 'Arial';
}
}
/* h1 { color: white;} */
.mermaid2 {
display: none;
}
.customCss > rect, .customCss{
fill:#FF0000 !important;
stroke:#FFFF00 !important;
stroke-width:4px !important;
}
.customCss > rect,
.customCss {
fill: #ff0000 !important;
stroke: #ffff00 !important;
stroke-width: 4px !important;
}
</style>
</head>
<body>
<h1>info below</h1>
<div class="mermaid" style="width: 100%; height: 20%;">
<pre class="mermaid" style="width: 100%; height: 20%">
%%{init: { "logLevel": "debug", "theme": "default" , "gitGraph" : {"showBranches":"false","rotateCommitLabel":"true"},"themeVariables": {
"gitBranchLabel0": "#ff0000",
"gitBranchLabel1": "#00ff00",
"gitBranchLabel2": "#0000ff",
"git0": "#550055"
} } }%%
gitGraph
commit
branch develop
commit
commit
branch release/1.0.0
checkout release/1.0.0
commit tag:"1.0.0-beta1"
checkout develop
commit
commit
commit
commit
checkout release/1.0.0
merge develop tag: "1.0.0-beta2"
</pre>
<pre class="mermaid2" style="width: 100%; height: 20%">
%%{init: { "logLevel": "debug", "theme": "default" , "gitGraph" : {"showBranches":"false"},"themeVariables": {
"gitBranchLabel0": "#ff0000",
"gitBranchLabel1": "#00ff00",
@@ -50,9 +78,8 @@
commit
branch featureA
commit
</div>
<div class="mermaid2" style="width: 100%; height: 20%;">
</pre>
<pre class="mermaid2" style="width: 100%; height: 20%">
gitGraph
commit type:HIGHLIGHT
branch hotfix
@@ -94,17 +121,16 @@
merge main
checkout develop
merge release
</div>
<div class="mermaid2" style="width: 100%; height: 20%;">
</pre>
<pre class="mermaid2" style="width: 100%; height: 20%">
gitGraph:
commit
commit
branch newbranch
commit
merge main
</div>
<script src="./mermaid.js"></script>
</pre>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -112,23 +138,24 @@
mermaid.initialize({
//theme: 'dark',
themeVariables: {
commitLabelColor: '#9400D3',
commitLabelBackground: '#FFFFFF',
// darkMode: true,
// background: '#222',
// // textColor: 'white',
// // primaryTextColor: '#f4f4f4',
commitLabelColor: '#9400D3',
commitLabelBackground: '#FFFFFF',
// darkMode: true,
// background: '#222',
// // textColor: 'white',
// // primaryTextColor: '#f4f4f4',
// // // nodeBkg: '#ff0000',
// // // mainBkg: '#0000ff',
// // // tertiaryColor: '#ffffcc',
},
// // // nodeBkg: '#ff0000',
// // // mainBkg: '#0000ff',
// // // tertiaryColor: '#ffffcc',
},
// theme: 'forest',
// theme: 'neutral',
// theme: 'dark',
// arrowMarkerAbsolute: true,
// themeCSS: '.edgePath .path {stroke: red;} .arrowheadPath {fill: red;}',
logLevel: 1,
gitGraph: { rotateCommitLabel: false },
flowchart: { curve: 'linear', htmlLabels: true },
// gantt: { axisFormat: '%m/%d/%Y' },
sequence: { actorMargin: 50, showSequenceNumbers: true },
@@ -141,8 +168,8 @@
securityLevel: 'loose',
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

View File

@@ -1,32 +1,36 @@
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
<link
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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:#111; */
/* background:#333; */
font-family: 'Arial';
}
}
/* h1 { color: white;} */
.mermaid2 {
display: none;
}
.customCss > rect, .customCss{
fill:#FF0000 !important;
stroke:#FFFF00 !important;
stroke-width:4px !important;
}
.customCss > rect,
.customCss {
fill: #ff0000 !important;
stroke: #ffff00 !important;
stroke-width: 4px !important;
}
</style>
</head>
<body>
<h1>info below</h1>
<div class="mermaid2" style="width: 100%; height: 20%;">
<pre class="mermaid2" style="width: 100%; height: 20%">
gitGraph:
commit "Ashish"
branch newbranch
@@ -40,9 +44,8 @@
commit
branch b2
commit
</div>
<div class="mermaid" style="width: 100%; height: 20%;">
</pre>
<pre class="mermaid" style="width: 100%; height: 20%">
%%{init: { "gitGraph": { "showBranches": true, "mainBranchName": "APA" }}}%%
gitGraph
commit
@@ -86,17 +89,16 @@
merge APA
checkout develop
merge release
</div>
<div class="mermaid2" style="width: 100%; height: 20%;">
</pre>
<pre class="mermaid2" style="width: 100%; height: 20%">
gitGraph:
commit
commit
branch newbranch
commit
merge main
</div>
<script src="./mermaid.js"></script>
</pre>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -132,8 +134,8 @@
securityLevel: 'loose',
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -1,14 +1,12 @@
<html>
<head>
<link
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
rel="stylesheet"
/>
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
</head>
<body>
<h1>info below</h1>
<div class="mermaid">info</div>
<pre class="mermaid">
info
</pre>
<script src="./mermaid.js"></script>
<script>
mermaid.initialize({
@@ -21,6 +19,5 @@
// sequenceDiagram: { actorMargin: 300 } // deprecated
});
</script>
</script>
</body>
</html>

View File

@@ -1,52 +1,52 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
<style>
.mermaid2 {
display: none;
}
</style>
</head>
<body>
<div style="display: flex">
<div id="FirstLine" class="mermaid">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=" />
<style>
.mermaid2 {
display: none;
}
</style>
</head>
<body>
<div style="display: flex">
<pre id="FirstLine" class="mermaid">
graph TB
Function-->URL
click Function clickByFlow "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid2">
</pre>
<pre id="FirstLine" class="mermaid2">
graph TB
1Function-->2URL
click 1Function clickByFlow "Add a div"
click 2URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
</pre>
<div id="FirstLine" class="mermaid2">
<pre id="FirstLine" class="mermaid2">
classDiagram
class Test
class ShapeLink
link ShapeLink "http://localhost:9000/webpackUsage.html" "This is a tooltip for a link"
class ShapeCallback
callback ShapeCallback "clickByClass" "This is a tooltip for a callback"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
classDiagram-v2
class ShapeCallback
callback ShapeCallback "clickByClass" "This is a tooltip for a callback"
</div>
<div id="FirstLine" class="mermaid">
</pre>
<pre id="FirstLine" class="mermaid">
classDiagram-v2
class ShapeLink
link ShapeLink "http://localhost:9000/webpackUsage.html" "This is a tooltip for a link"
</div>
</div>
</pre>
</div>
<div class="mermaid2">
<pre class="mermaid2">
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
@@ -85,38 +85,38 @@
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
</div>
</pre>
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow';
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow';
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByGantt(arg1, arg2, arg3) {
const div = document.createElement('div');
div.className = 'created-by-gant-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Gant';
if (arg1) div.innerText += ' ' + arg1;
if (arg2) div.innerText += ' ' + arg2;
if (arg3) div.innerText += ' ' + arg3;
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByGantt(arg1, arg2, arg3) {
const div = document.createElement('div');
div.className = 'created-by-gant-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Gant';
if (arg1) div.innerText += ' ' + arg1;
if (arg2) div.innerText += ' ' + arg2;
if (arg3) div.innerText += ' ' + arg3;
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByClass() {
const div = document.createElement('div');
div.className = 'created-by-class-click';
div.style = 'padding: 20px; background: purple; color: white;';
div.innerText = 'Clicked By Class';
document.getElementsByTagName('body')[0].appendChild(div);
}
function clickByClass() {
const div = document.createElement('div');
div.className = 'created-by-class-click';
div.style = 'padding: 20px; background: purple; color: white;';
div.innerText = 'Clicked By Class';
document.getElementsByTagName('body')[0].appendChild(div);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'loose', logLevel: 1 });
</script>
</body>
document.getElementsByTagName('body')[0].appendChild(div);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'loose', logLevel: 1 });
</script>
</body>
</html>

View File

@@ -1,12 +1,19 @@
<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
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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 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); */
@@ -17,22 +24,37 @@
display: flex;
flex-direction: column;
margin-left: 20px;
}
h1 { color: grey;}
.mermaid2,.mermaid3 {
}
h1 {
color: grey;
}
.mermaid2,
.mermaid3 {
display: none;
}
.mermaid {
}
.mermaid svg {
border: 1px solid purple;
/* font-size: 18px !important; */
fontfamily: 'courier';
}
</style>
</head>
<body>
<pre class="mermaid2" style="width: 50%">
flowchart LR
subgraph one
direction LR
A[myClass1] --> B[default]
subgraph two
direction BT
C[myClass2] --> D[default]
end
end
<div class="mermaid2" style="width: 50%;">
</pre>
<pre class="mermaid2" style="width: 50%">
flowchart LR
classDef aPID stroke:#4e4403,fill:#fdde29,color:#4e4403,rx:5px,ry:5px;
classDef crm stroke:#333333,fill:#DCDCDC,color:#333333,rx:5px,ry:5px;
@@ -50,27 +72,74 @@ flowchart LR
click O2 function "Sorry the newline html tags are not being processed correctly<br/> So all of this appears on the <br/> same line."
O0 -- has type -->O2["Bug"]
click O0 function "Lots of great info about Joe<br>Lots of great info about Joe<br>burt<br>fred";
</div>
<div class="mermaid" style="width: 50%;">
classDiagram-v2
class Shape
link Shape "https://www.github.com" "This is a<br/>tooltip<br>for a link"
class Shape2
click Shape2 href "https://www.github.com" "This is a tooltip for a link"
</div>
<div class="mermaid2" style="width: 50%;">
gitGraph
commit
commit
branch develop
commit
commit
commit
checkout main
commit
commit
</div>
<div class="mermaid2" style="width: 50%;">
</pre>
<pre class="mermaid2" style="width: 50%">
flowchart TD
subgraph test
direction TB
subgraph test2
direction LR
F --> D
end
subgraph test3
direction TB
G --> H
end
end
</pre>
<pre class="mermaid2" style="width: 50%">
flowchart TD
release-branch[Create Release Branch]:::relClass
develop-branch[Update Develop Branch]:::relClass
github-release-draft[GitHub Release Draft]:::relClass
trigger-pipeline[Trigger Jenkins pipeline]:::fixClass
github-release[GitHub Release]:::postClass
build-ready --> release-branch
build-ready --> develop-branch
release-branch --> jenkins-release-build
jenkins-release-build --> github-release-draft
jenkins-release-build --> install-release
install-release --> verify-release
jenkins-release-build --> announce
github-release-draft --> github-release
verify-release --> verify-check
verify-check -- Yes --> github-release
verify-check -- No --> release-fix
release-fix --> release-branch-pr
verify-check -- No --> delete-artifacts
release-branch-pr --> trigger-pipeline
delete-artifacts --> trigger-pipeline
trigger-pipeline --> jenkins-release-build
</pre>
<pre class="mermaid2" style="width: 50%">
flowchart LR
a["<strong>Haiya</strong>"]===>b
</pre>
<pre class="mermaid2" style="width: 50%">
flowchart TD
A --> B
A --> C
B --> C
</pre>
<pre class="mermaid2" style="width: 50%">
flowchart TD
A([stadium shape test])
A -->|Get money| B([Go shopping])
B --> C([Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?])
C -->|One| D([Laptop])
C -->|Two| E([iPhone])
C -->|Three| F([Car<br/>wroom wroom])
click A "index.html#link-clicked" "link test"
click B testClick "click test"
classDef someclass fill:#f96;
class A someclass;
class C someclass;
</pre>
<pre class="mermaid2" style="width: 50%">
sequenceDiagram
title: My Sequence Diagram Title
accTitle: My Acc Sequence Diagram
@@ -79,15 +148,15 @@ classDiagram-v2
Alice->>John: Hello John, how are you?
John-->>Alice: Great!
Alice-)John: See you later!
</div>
<div class="mermaid2" style="width: 50%;">
</pre>
<pre class="mermaid2" style="width: 50%">
graph TD
A -->|000| B
B -->|111| C
linkStyle 1 stroke:#ff3,stroke-width:4px,color:red;
</div>
<div class="mermaid2" style="width: 100%;">
</pre>
<pre class="mermaid2" style="width: 100%">
journey
accTitle: My User Journey Diagram
accDescr: My User Journey Diagram Description
@@ -100,11 +169,11 @@ graph TD
section Go home
Go downstairs: 5: Me
Sit down: 5: Me
</div>
<div class="mermaid2" style="width: 100%;">
</pre>
<pre class="mermaid2" style="width: 100%">
info
</div>
<div class="mermaid2" style="width: 100%;">
</pre>
<pre class="mermaid2" style="width: 100%">
requirementDiagram
accTitle: My req Diagram
accDescr: My req Diagram Description
@@ -144,9 +213,8 @@ requirementDiagram
test_req - traces -> test_req2
test_req - contains -> test_req3
test_req <- copies - test_entity2
</div>
<div class="mermaid2" style="width: 100%;">
</pre>
<pre class="mermaid2" style="width: 100%">
gantt
dateFormat YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
@@ -177,24 +245,24 @@ gantt
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page :20h
Add another diagram to demo page :48h
</div>
<div class="mermaid2" style="width: 100%;">
</pre>
<pre class="mermaid2" style="width: 100%">
stateDiagram
state Active {
Idle
}
Inactive --> Idle: ACT
Active --> Active: LOG
</div>
<div class="mermaid2" style="width: 100%;">
</pre>
<pre class="mermaid2" style="width: 100%">
flowchart TB
accTitle: My flowchart
accDescr: My flowchart Description
subgraph One
a1-->a2-->a3
end
</div>
<div class="mermaid2" style="width: 100%;">
</pre>
<pre class="mermaid2" style="width: 100%">
sequenceDiagram
A ->> B: 1
rect rgb(204, 0, 102)
@@ -204,8 +272,9 @@ stateDiagram
end
end
end
B ->> A: Return</div>
<div class="mermaid2" style="width: 100%;">
B ->> A: Return
</pre>
<pre class="mermaid2" style="width: 100%">
classDiagram
accTitle: My class diagram
accDescr: My class diagram Description
@@ -222,15 +291,15 @@ class Class10 {
int id
size()
}
</div>
<div class="mermaid2" style="width: 100%;">
</pre>
<pre class="mermaid2" style="width: 100%">
%%{init: {'config': {'wrap': true }}}%%
sequenceDiagram
participant A as Extremely utterly long line of longness which had previously overflown the actor box as it is much longer than what it should be
A->>Bob: Hola
Bob-->A: Pasten !
</div>
<div class="mermaid2" style="width: 100%;">
</pre>
<pre class="mermaid2" style="width: 100%">
gitGraph
commit id: "ZERO"
branch develop
@@ -250,15 +319,16 @@ class Class10 {
checkout develop
commit id:"C"
merge featureA
</div>
<div class="mermaid2" style="width: 100%;">
</pre>
<pre class="mermaid2" style="width: 100%">
flowchart TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]
</div> <div class="mermaid2" style="width: 100%;">
</pre>
<pre class="mermaid2" style="width: 100%">
classDiagram
Animal "1" <|-- Duck
Animal <|-- Fish
@@ -280,8 +350,8 @@ flowchart TD
+bool is_wild
+run()
}
</div>
<div class="mermaid2" style="width: 100%;">
</pre>
<pre class="mermaid2" style="width: 100%">
erDiagram
CAR ||--o{ NAMED-DRIVER : allows
CAR {
@@ -295,9 +365,11 @@ flowchart TD
string lastName
int age
}
</div>
</pre>
<script src="./mermaid.js"></script>
<!-- <script src="./mermaid.js"></script> -->
<script src="./mermaid-mindmap-detector.js"></script>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -307,24 +379,31 @@ flowchart TD
startOnLoad: true,
securityLevel: 'loose',
logLevel: 0,
fontFamily: 'courier',
flowchart: {
curve: 'basis',
useMaxWidth: false,
htmlLabels: true,
// curve: 'curveLinear',
useMaxWidth: true,
htmlLabels: false,
fontFamily: 'courier',
},
});
function callback() {
alert('It worked');
}
alert('It worked');
}
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow';
function clickByFlow(elemName) {
const div = document.createElement('div');
div.className = 'created-by-click';
div.style = 'padding: 20px; background: green; color: white;';
div.innerText = 'Clicked By Flow';
document.getElementsByTagName('body')[0].appendChild(div);
}
document.getElementsByTagName('body')[0].appendChild(div);
}
mermaid.parseError = function (err, hash) {
console.error('In parse error:');
console.error(err);
};
</script>
</body>
</html>

View File

@@ -1,20 +1,29 @@
<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
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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 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;}
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
@@ -23,9 +32,9 @@
}
.malware {
position: fixed;
bottom:0;
left:0;
right:0;
bottom: 0;
left: 0;
right: 0;
height: 150px;
background: red;
color: black;
@@ -40,32 +49,47 @@
</head>
<body>
<div>Security check</div>
<div class="flex">
<div id="diagram" class="mermaid">
sequenceDiagram
Nothing:Valid;
</div>
<div id="res" class=""></div>
<script src="./mermaid.js"></script>
<pre id="diagram" class="mermaid2">
example-diagram
</pre
>
<pre id="diagram" class="mermaid">
mindmap
root
child1((Circle))
grandchild 1
grandchild 2
child2(Round rectangle)
grandchild 3
grandchild 4
child3[Square]
grandchild 5
::icon(mdi mdi-fire)
gc6((grand<br/>child 6))
::icon(mdi mdi-fire)
gc7((grand<br/>grand<br/>child 8))
</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="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
mermaid.initialize({
startOnLoad: false,
startOnLoad: true,
logLevel: 0,
basePath: './packages/',
// themeVariables: {relationLabelColor: 'red'}
});
function callback() {
alert('It worked');
}
// document.querySelector('#diagram').innerHTML = diagram;
try {
mermaid.initThrowsErrors(undefined, '#diagram');
} catch (err) {
console.log('Caught error:', err);
}
alert('It worked');
}
mermaid.parseError = function (err, hash) {
console.error('In parse error:');
console.error(err);
};
</script>
</body>
</html>

View File

@@ -1,20 +1,25 @@
<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
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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: 'Courier New', Courier, monospace;
/* font-size: 18px !important; */
}
h1 { color: grey;}
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
@@ -28,27 +33,27 @@
<body>
<div>info below</div>
<div class="">
<div class="mermaid2" style="width: 100%; height: 400px;">
<pre class="mermaid2" style="width: 100%; height: 400px">
flowchart TB;subgraph "number as labels";1;end;
</div>
<div class="mermaid2" style="width: 100%; height: 400px;">
</pre>
<pre class="mermaid2" style="width: 100%; height: 400px">
flowchart TB;a[APA];
</div>
<div class="mermaid2" style="margin-left:100px;">
</pre>
<pre class="mermaid2" style="margin-left: 100px">
graph TD
work --> sleep
sleep --> work
eat --> sleep
work --> eat
</div>
<div class="mermaid2" style="margin-left:100px;">
</pre>
<pre class="mermaid2" style="margin-left: 100px">
flowchart TD
work --> sleep
sleep --> work
eat --> sleep
work --> eat
</div>
<div class="mermaid2" style="">
</pre>
<pre class="mermaid2" style="">
graph TB
A
B
@@ -76,8 +81,8 @@ flowchart TD
style foo fill:#F99,stroke-width:2px,stroke:#F0F,color:darkred
style bar fill:#999,stroke-width:2px,stroke:#0F0,color:blue
</div>
<div class="mermaid2" style="">
</pre>
<pre class="mermaid2" style="">
graph TB
%%{init: { "logLevel": 1, "flowchart": {"htmlLabels":true }} }%%
A
@@ -106,56 +111,56 @@ flowchart TD
style foo fill:#F99,stroke-width:2px,stroke:#F0F,color:darkred
style bar fill:#999,stroke-width:10px,stroke:#0F0,color:blue
</div>
<div class="mermaid2" style="">
</pre>
<pre class="mermaid2" style="">
graph TD
A[Christmas] ==> D
A[Christmas] -->|Get money| B(Go shopping)
A[Christmas] ==> C
</div>
<div class="mermaid2" style="">
</pre>
<pre class="mermaid2" style="">
graph TD
%%{init: { "logLevel": 1, "flowchart": {"htmlLabels":true }} }%%
A[Christmas] ==> D
A[Christmas] -->|Get money| B(Go shopping)
A[Christmas] ==> C
</div>
<div class="mermaid2" style="">
</pre>
<pre class="mermaid2" style="">
flowchart TD
A[Christmas] ==> D
A[Christmas] -->|Get money| B(Go shopping)
A[Christmas] ==> C
</div>
<div class="mermaid2" style="">
</pre>
<pre class="mermaid2" style="">
flowchart TD
%%{init: { "logLevel": 1, "flowchart": {"htmlLabels":true }} }%%
A[Christmas] ==> D
A[Christmas] -->|Get money| B(Go shopping)
A[Christmas] ==> C
</div>
<div class="mermaid2" style="">
</pre>
<pre class="mermaid2" style="">
flowchart LR
a["<strong>Haiya</strong>"]---->b
</div>
<div class="mermaid" style="">
</pre>
<pre class="mermaid" style="">
flowchart LR
%%{init: { "logLevel": 1, "flowchart": {"htmlLabels":true }} }%%
a["<strong>Haiya</strong>"]---->b
</div>
<div class="mermaid2" style="">
</pre>
<pre class="mermaid2" style="">
flowchart TD
A[Christmas] ==> D
A[Christmas] -->|Get money| B(Go shopping)
A[Christmas] ==> C
</div>
<div class="mermaid2" style="">
</pre>
<pre class="mermaid2" style="">
flowchart TD
%%{init: { "logLevel": 1, "flowchart": {"htmlLabels":true }} }%%
A[Christmas] ==> D
A[Christmas] -->|Get money| B(Go shopping)
A[Christmas] ==> C
</div>
<div class="mermaid2" style="">
</pre>
<pre class="mermaid2" style="">
%%{init: { "logLevel": 1, "flowchart": {"htmlLabels":true }} }%%
classDiagram-v2
Class01 <|-- AveryLongClass : Cool
@@ -182,8 +187,8 @@ classDiagram-v2
int id
test()
}
</div>
<div class="mermaid2" style="">
</pre>
<pre class="mermaid2" style="">
classDiagram-v2
Class01 <|-- AveryLongClass : Cool
&lt;&lt;interface&gt;&gt; Class01
@@ -209,8 +214,8 @@ classDiagram-v2
int id
test()
}
</div>
<div class="mermaid" style="">
</pre>
<pre class="mermaid" style="">
flowchart BT
subgraph S1
sub1 -->sub2
@@ -220,8 +225,9 @@ flowchart BT
end
S1 --> S2
sub1 --> sub4
</div>
<script src="./mermaid.js"></script>
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -244,8 +250,8 @@ flowchart BT
// themeVariables: {relationLabelColor: 'red'}
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

82
cypress/platform/per.html Normal file
View File

@@ -0,0 +1,82 @@
<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>
</head>
<body>
<div>Security check</div>
<pre id="diagram" class="mermaid">
flowchart LR
A-->B
</pre
>
<pre id="diagram" class="mermaid2">
mindmap
root
ch1
ch2
</pre
>
<script src="./packages/mermaid-mindmap/dist/mermaid-mindmap-detector.js"></script>
<script src="./packages/mermaid-mindmap/dist/mermaid-example-diagram-detector.js"></script>
<script src="./packages/mermaid/dist/mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
};
mermaid.initialize({
startOnLoad: true,
logLevel: 0,
basePath: './packages/',
// themeVariables: {relationLabelColor: 'red'}
});
function callback() {
alert('It worked');
}
mermaid.parseError = function (err, hash) {
console.error('In parse error:');
console.error(err);
};
</script>
</body>
</html>

View File

@@ -1,30 +1,29 @@
<html>
<head>
<script src="http://localhost:9000/mermaid.js"></script>
<script>
<script>
mermaid.initialize({
theme: 'base',
themeVariables: {},
startOnLoad: true,
});
</script>
</script>
</head>
<body>
<h1>Example</h1>
<div class="mermaid">
<h1>Example</h1>
<pre class="mermaid">
%%{init:{"theme":"base", "sequence": {"mirrorActors":false},"themeVariables": {"actorBkg":"red"}}}%%
sequenceDiagram
Bert->>+Ernie: Start looking for the cookie!
Ernie-->>-Bert: Found it!
Note left of Ernie: Cookies are good
</div>
<div class="mermaid">
</pre>
<pre class="mermaid">
%%{init:{"theme":"base", "themeVariables": {}}}%%
sequenceDiagram
Bert->>+Ernie: Start looking for the cookie!
Ernie-->>-Bert: Found it!
Note left of Ernie: Cookies are good
</div>
</body>
</html>
</pre>
</body>
</html>

View File

@@ -1,29 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
</head>
<body>
<div id="graph">
</div>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=" />
</head>
<body>
<div id="graph"></div>
<script src="./mermaid.js"></script>
<script>mermaid.init({ startOnLoad: false });
<script src="./mermaid.js"></script>
<script>
mermaid.init({ startOnLoad: false });
mermaid.mermaidAPI.initialize({ securityLevel: 'strict' });
mermaid.mermaidAPI.initialize({ securityLevel: 'strict' });
try {
console.log('rendering');
mermaid.mermaidAPI.render('graphDiv', `>`);
} catch (e) {}
try {
console.log('rendering');
mermaid.mermaidAPI.render('graphDiv', `>`);
} catch (e) {}
mermaid.mermaidAPI.render('graphDiv', `graph LR\n a --> b`, (html) => {
document.getElementById('graph').innerHTML = html;
});
</script>
</body>
mermaid.mermaidAPI.render('graphDiv', `graph LR\n a --> b`, (html) => {
document.getElementById('graph').innerHTML = html;
});
</script>
</body>
</html>

View File

@@ -1,30 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
</head>
<body>
<div id="graph">
</div>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=" />
</head>
<body>
<div id="graph"></div>
<script src="./mermaid.js"></script>
<script>mermaid.init({ startOnLoad: false });
mermaid.mermaidAPI.initialize();
<script src="./mermaid.js"></script>
<script>
mermaid.init({ startOnLoad: false });
mermaid.mermaidAPI.initialize();
rerender('XMas');
rerender('XMas');
function rerender(text) {
var graphText = `graph TD
function rerender(text) {
var graphText = `graph TD
A[${text}] -->|Get money| B(Go shopping)`;
var graph = mermaid.mermaidAPI.render('id', graphText);
console.log('\x1b[35m%s\x1b[0m', '>> graph', graph);
document.getElementById('graph').innerHTML = graph;
}
</script>
<button id="rerender" onclick="rerender('Saturday')">Rerender</button>
</body>
var graph = mermaid.mermaidAPI.render('id', graphText);
console.log('\x1b[35m%s\x1b[0m', '>> graph', graph);
document.getElementById('graph').innerHTML = graph;
}
</script>
<button id="rerender" onclick="rerender('Saturday')">Rerender</button>
</body>
</html>

View File

@@ -1,12 +1,15 @@
<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
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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); */
@@ -16,8 +19,10 @@
width: 100%;
margin: 0;
padding: 0;
}
h1 { color: grey;}
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
@@ -39,7 +44,7 @@
<body>
<h1>Showcases of diagrams</h1>
<div class="flex flex-wrap">
<div class="mermaid width height">
<pre class="mermaid width height">
%%{init2: {'securityLevel': 'loose', 'theme':'base'}}%%
graph TD
A[Christmas] -->|Get money| B(Go shopping)
@@ -55,8 +60,8 @@
F
G
end
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
%%{init2: {'securityLevel': 'loose', 'theme':'base'}}%%
flowchart TD
A[Christmas] -->|Get money| B(Go shopping)
@@ -72,8 +77,8 @@
F
G
end
</div>
<div class="mermaid width height" >
</pre>
<pre class="mermaid width height">
%%{init2: {'securityLevel': 'loose', 'theme':'base'}}%%
sequenceDiagram
@@ -91,8 +96,8 @@
loop Every minute
John-->Alice: Great!
end
</div>
<div class="mermaid width height" >
</pre>
<pre class="mermaid width height">
%%{init: {'securityLevel': 'loose', 'theme':'base'}}%%
classDiagram
@@ -116,8 +121,8 @@ classDiagram
+bool is_wild
+run()
}
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
gantt
dateFormat :YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
@@ -145,8 +150,8 @@ gantt
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page :20h
Add another diagram to demo page :48h
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
%%{init2: {'securityLevel': 'loose', 'theme':'base'}}%%
stateDiagram
[*] --> Active
@@ -173,9 +178,8 @@ gantt
note right of SomethingElse : This is the note to the right.
SomethingElse --> [*]
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
%%{init: {'securityLevel': 'loose', 'theme':'base'}}%%
stateDiagram-v2
[*] --> Active
@@ -202,8 +206,8 @@ stateDiagram-v2
note right of SomethingElse2 : This is the note to the right.
SomethingElse2 --> [*]
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
erDiagram
CUSTOMER }|..|{ DELIVERY-ADDRESS : has
CUSTOMER ||--o{ ORDER : places
@@ -213,8 +217,8 @@ stateDiagram-v2
ORDER ||--|{ ORDER-ITEM : includes
PRODUCT-CATEGORY ||--|{ PRODUCT : contains
PRODUCT ||--o{ ORDER-ITEM : "ordered in"
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
journey
title My working day
section Go to work
@@ -224,8 +228,8 @@ journey
section Go home
Go downstairs: 5: Me
Sit down: 5: Me
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
requirementDiagram
requirement test_req {
@@ -263,8 +267,8 @@ requirementDiagram
test_req - traces -> test_req2
test_req - contains -> test_req3
test_req <- copies - test_entity2
</div>
<div class="mermaid" style="width: 100%; height: 20%;">
</pre>
<pre class="mermaid" style="width: 100%; height: 20%">
gitGraph:
commit
branch hotfix
@@ -307,8 +311,9 @@ requirementDiagram
merge main
checkout develop
merge release
</div>
<script src="./mermaid.js"></script>
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -328,8 +333,8 @@ requirementDiagram
securityLevel: 'strict',
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

View File

@@ -1,12 +1,15 @@
<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
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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); */
@@ -17,8 +20,10 @@
width: 100%;
margin: 0;
padding: 0;
}
h1 { color: grey;}
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
@@ -40,7 +45,7 @@
<body>
<h1>Showcases of diagrams</h1>
<div class="flex flex-wrap">
<div class="mermaid width height">
<pre class="mermaid width height">
graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
@@ -55,8 +60,8 @@
F
G
end
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
%%{init2: {'securityLevel': 'loose', 'theme':'base'}}%%
flowchart TD
A[Christmas] -->|Get money| B(Go shopping)
@@ -72,8 +77,8 @@
F
G
end
</div>
<div class="mermaid width height" >
</pre>
<pre class="mermaid width height">
sequenceDiagram
autonumber
par Action 1
@@ -89,8 +94,8 @@
loop Every minute
John-->Alice: Great!
end
</div>
<div class="mermaid width height" >
</pre>
<pre class="mermaid width height">
classDiagram
Animal "1" <|-- Duck
Animal <|-- Fish
@@ -112,8 +117,8 @@ classDiagram
+bool is_wild
+run()
}
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
gantt
dateFormat :YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
@@ -141,8 +146,8 @@ gantt
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page :20h
Add another diagram to demo page :48h
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
stateDiagram
[*] --> Active
@@ -168,9 +173,8 @@ gantt
note right of SomethingElse : This is the note to the right.
SomethingElse --> [*]
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
stateDiagram-v2
[*] --> Active
@@ -196,8 +200,8 @@ stateDiagram-v2
note right of SomethingElse2 : This is the note to the right.
SomethingElse2 --> [*]
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
erDiagram
CUSTOMER }|..|{ DELIVERY-ADDRESS : has
CUSTOMER ||--o{ ORDER : places
@@ -207,8 +211,8 @@ stateDiagram-v2
ORDER ||--|{ ORDER-ITEM : includes
PRODUCT-CATEGORY ||--|{ PRODUCT : contains
PRODUCT ||--o{ ORDER-ITEM : "ordered in"
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
journey
title My working day
section Go to work
@@ -218,8 +222,8 @@ journey
section Go home
Go downstairs: 5: Me
Sit down: 5: Me
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
requirementDiagram
requirement test_req {
@@ -257,8 +261,8 @@ requirementDiagram
test_req - traces -> test_req2
test_req - contains -> test_req3
test_req <- copies - test_entity2
</div>
<div class="mermaid" class="width height">
</pre>
<pre class="mermaid" class="width height">
gitGraph
commit
branch hotfix
@@ -301,7 +305,9 @@ gitGraph
merge main
checkout develop
merge release
</div>
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
@@ -331,8 +337,8 @@ gitGraph
// securityLevel: 'strict'
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

View File

@@ -1,23 +1,28 @@
<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
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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;
background: #333;
font-family: 'Arial';
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
h1 { color: grey;}
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
@@ -39,7 +44,7 @@
<body>
<h1>Showcases of diagrams</h1>
<div class="flex flex-wrap">
<div class="mermaid width height">
<pre class="mermaid width height">
%%{init: {'theme': 'base', 'themeVariables':{'primaryColor': '#ff0000'}}%%
graph TD
A[Christmas] -->|Get money| B(Go shopping)
@@ -55,8 +60,8 @@
F
G
end
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
flowchart TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
@@ -71,8 +76,8 @@
F
G
end
</div>
<div class="mermaid width height" >
</pre>
<pre class="mermaid width height">
sequenceDiagram
autonumber
par Action 1
@@ -88,8 +93,9 @@
loop Every minute
John-->Alice: Great!
end
</div>
<div class="mermaid width height" >
</pre>
<pre class="mermaid width height">
%%{init: {'theme':'dark'}}%%
classDiagram
@@ -113,8 +119,9 @@ classDiagram
+bool is_wild
+run()
}
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
gantt
dateFormat :YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
@@ -142,8 +149,8 @@ gantt
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page :20h
Add another diagram to demo page :48h
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
stateDiagram
[*] --> Active
@@ -168,8 +175,8 @@ gantt
Active --> SomethingElse
SomethingElse --> [*]
note right of SomethingElse : This is the note to the right.
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
stateDiagram-v2
[*] --> Active
@@ -194,8 +201,8 @@ gantt
Active --> SomethingElse2
SomethingElse2 --> [*]
note right of SomethingElse2 : This is the note to the right.
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
erDiagram
CUSTOMER }|..|{ DELIVERY-ADDRESS : has
CUSTOMER ||--o{ ORDER : places
@@ -205,8 +212,8 @@ gantt
ORDER ||--|{ ORDER-ITEM : includes
PRODUCT-CATEGORY ||--|{ PRODUCT : contains
PRODUCT ||--o{ ORDER-ITEM : "ordered in"
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
journey
title My working day
section Go to work
@@ -216,8 +223,8 @@ gantt
section Go home
Go downstairs: 5: Me
Sit down: 5: Me
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
requirementDiagram
requirement test_req {
@@ -255,8 +262,8 @@ requirementDiagram
test_req - traces -> test_req2
test_req - contains -> test_req3
test_req <- copies - test_entity2
</div>
<div class="mermaid" class="width height">
</pre>
<pre class="mermaid" class="width height">
gitGraph
commit
branch hotfix
@@ -299,8 +306,9 @@ gitGraph
merge main
checkout develop
merge release
</div>
<script src="./mermaid.js"></script>
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -319,8 +327,8 @@ gitGraph
securityLevel: 'strict',
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

View File

@@ -1,12 +1,15 @@
<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
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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); */
@@ -16,8 +19,10 @@
width: 100%;
margin: 0;
padding: 0;
}
h1 { color: grey;}
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
@@ -39,7 +44,7 @@
<body>
<h1>Showcases of diagrams</h1>
<div class="flex flex-wrap">
<div class="mermaid width height">
<pre class="mermaid width height">
graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
@@ -54,8 +59,8 @@
F
G
end
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
flowchart TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
@@ -70,8 +75,8 @@
F
G
end
</div>
<div class="mermaid width height" >
</pre>
<pre class="mermaid width height">
sequenceDiagram
autonumber
par Action 1
@@ -87,8 +92,8 @@
loop Every minute
John-->Alice: Great!
end
</div>
<div class="mermaid width height" >
</pre>
<pre class="mermaid width height">
classDiagram
Animal "1" <|-- Duck
Animal <|-- Fish
@@ -110,8 +115,8 @@ classDiagram
+bool is_wild
+run()
}
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
gantt
dateFormat :YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
@@ -139,8 +144,8 @@ gantt
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page :20h
Add another diagram to demo page :48h
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
stateDiagram
[*] --> Active
@@ -164,8 +169,8 @@ gantt
Active --> SomethingElse
note right of SomethingElse : This is the note to the right.
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
stateDiagram-v2
[*] --> Active
@@ -189,8 +194,8 @@ gantt
Active --> SomethingElse2
note right of SomethingElse2 : This is the note to the right.
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
erDiagram
CUSTOMER }|..|{ DELIVERY-ADDRESS : has
CUSTOMER ||--o{ ORDER : places
@@ -200,8 +205,8 @@ gantt
ORDER ||--|{ ORDER-ITEM : includes
PRODUCT-CATEGORY ||--|{ PRODUCT : contains
PRODUCT ||--o{ ORDER-ITEM : "ordered in"
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
journey
title My working day
section Go to work
@@ -211,8 +216,8 @@ gantt
section Go home
Go downstairs: 5: Me
Sit down: 5: Me
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
requirementDiagram
requirement test_req {
@@ -250,8 +255,8 @@ requirementDiagram
test_req - traces -> test_req2
test_req - contains -> test_req3
test_req <- copies - test_entity2
</div>
<div class="mermaid" style="width: 100%; height: 20%;">
</pre>
<pre class="mermaid" style="width: 100%; height: 20%">
gitGraph
commit
branch hotfix
@@ -294,8 +299,9 @@ requirementDiagram
merge main
checkout develop
merge release
</div>
<script src="./mermaid.js"></script>
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -314,8 +320,8 @@ requirementDiagram
securityLevel: 'strict',
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

View File

@@ -1,12 +1,15 @@
<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
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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); */
@@ -16,8 +19,10 @@
width: 100%;
margin: 0;
padding: 0;
}
h1 { color: grey;}
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
@@ -39,7 +44,7 @@
<body>
<h1>Showcases of diagrams</h1>
<div class="flex flex-wrap">
<div class="mermaid width height">
<pre class="mermaid width height">
%%{init: {'theme': 'forest'}}%%
graph TD
A[Christmas] -->|Get money| B(Go shopping)
@@ -55,8 +60,8 @@
F
G
end
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
flowchart TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
@@ -71,8 +76,8 @@
F
G
end
</div>
<div class="mermaid width height" >
</pre>
<pre class="mermaid width height">
sequenceDiagram
autonumber
par Action 1
@@ -88,8 +93,8 @@
loop Every minute
John-->Alice: Great!
end
</div>
<div class="mermaid width height" >
</pre>
<pre class="mermaid width height">
%%{init: {'theme':'forest'}}%%
classDiagram
@@ -113,8 +118,8 @@ classDiagram
+bool is_wild
+run()
}
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
gantt
dateFormat :YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
@@ -142,8 +147,8 @@ gantt
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page :20h
Add another diagram to demo page :48h
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
stateDiagram
[*] --> Active
@@ -168,8 +173,8 @@ gantt
Active --> SomethingElse
note right of SomethingElse : This is the note to the right.
SomethingElse --> [*]
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
stateDiagram-v2
[*] --> Active
@@ -193,8 +198,8 @@ gantt
Active --> SomethingElse2
note right of SomethingElse2 : This is the note to the right.
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
erDiagram
CUSTOMER }|..|{ DELIVERY-ADDRESS : has
CUSTOMER ||--o{ ORDER : places
@@ -204,8 +209,8 @@ gantt
ORDER ||--|{ ORDER-ITEM : includes
PRODUCT-CATEGORY ||--|{ PRODUCT : contains
PRODUCT ||--o{ ORDER-ITEM : "ordered in"
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
journey
title My working day
section Go to work
@@ -215,8 +220,8 @@ gantt
section Go home
Go downstairs: 5: Me
Sit down: 5: Me
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
requirementDiagram
requirement test_req {
@@ -254,8 +259,8 @@ requirementDiagram
test_req - traces -> test_req2
test_req - contains -> test_req3
test_req <- copies - test_entity2
</div>
<div class="mermaid" class="width height">
</pre>
<pre class="mermaid" class="width height">
gitGraph:
commit
branch hotfix
@@ -298,8 +303,9 @@ requirementDiagram
merge main
checkout develop
merge release
</div>
<script src="./mermaid.js"></script>
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -318,8 +324,8 @@ requirementDiagram
securityLevel: 'strict',
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

View File

@@ -1,12 +1,15 @@
<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
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
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"
/>
<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); */
@@ -16,8 +19,10 @@
width: 100%;
margin: 0;
padding: 0;
}
h1 { color: grey;}
}
h1 {
color: grey;
}
.mermaid2 {
display: none;
}
@@ -39,7 +44,7 @@
<body>
<h1>Showcases of diagrams</h1>
<div class="flex flex-wrap">
<div class="mermaid width height">
<pre class="mermaid width height">
%%{init: {'theme': 'neutral'}}%%
graph TD
A[Christmas] -->|Get money| B(Go shopping)
@@ -55,8 +60,8 @@
F
G
end
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
flowchart TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
@@ -71,8 +76,8 @@
F
G
end
</div>
<div class="mermaid width height" >
</pre>
<pre class="mermaid width height">
sequenceDiagram
autonumber
par Action 1
@@ -88,8 +93,8 @@
loop Every minute
John-->Alice: Great!
end
</div>
<div class="mermaid width height" >
</pre>
<pre class="mermaid width height">
%%{init: {'theme':'neutral'}}%%
classDiagram
@@ -113,8 +118,8 @@ classDiagram
+bool is_wild
+run()
}
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
gantt
dateFormat :YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
@@ -142,8 +147,8 @@ gantt
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page :20h
Add another diagram to demo page :48h
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
stateDiagram
[*] --> Active
@@ -167,8 +172,8 @@ gantt
Active --> SomethingElse
note right of SomethingElse : This is the note to the right.
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
stateDiagram-v2
[*] --> Active
@@ -192,8 +197,8 @@ gantt
Active --> SomethingElse2
note right of SomethingElse2 : This is the note to the right.
</div>
<div class="mermaid width height2">
</pre>
<pre class="mermaid width height2">
erDiagram
CUSTOMER }|..|{ DELIVERY-ADDRESS : has
CUSTOMER ||--o{ ORDER : places
@@ -203,8 +208,8 @@ gantt
ORDER ||--|{ ORDER-ITEM : includes
PRODUCT-CATEGORY ||--|{ PRODUCT : contains
PRODUCT ||--o{ ORDER-ITEM : "ordered in"
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
journey
title My working day
section Go to work
@@ -214,8 +219,8 @@ gantt
section Go home
Go downstairs: 5: Me
Sit down: 5: Me
</div>
<div class="mermaid width height">
</pre>
<pre class="mermaid width height">
requirementDiagram
requirement test_req {
@@ -253,9 +258,9 @@ requirementDiagram
test_req - traces -> test_req2
test_req - contains -> test_req3
test_req <- copies - test_entity2
</div>
</pre>
<div class="mermaid" class="width height">
<pre class="mermaid" class="width height">
gitGraph:
commit
branch hotfix
@@ -298,9 +303,9 @@ requirementDiagram
merge main
checkout develop
merge release
</div>
<script src="./mermaid.js"></script>
</pre>
</div>
<script src="./mermaid.js"></script>
<script>
mermaid.parseError = function (err, hash) {
// console.error('Mermaid error: ', err);
@@ -319,8 +324,8 @@ requirementDiagram
securityLevel: 'strict',
});
function callback() {
alert('It worked');
}
alert('It worked');
}
</script>
</body>
</html>

View File

@@ -1,26 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
<style>
body {
font-family: 'trebuchet ms', verdana, arial;
}
</style>
</head>
<body>
<div class="mermaid">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=" />
<style>
body {
font-family: 'trebuchet ms', verdana, arial;
}
</style>
</head>
<body>
<pre class="mermaid">
graph TD
A[Christmas] -->|Get money| B(Go shopping)
subgraph 1test["id starting with number"]
A
end
style 1test fill:#F99,stroke-width:2px,stroke:#F0F
</div>
<div class="mermaid">
</pre>
<pre class="mermaid">
graph TD
A.a[Christmas]:::someclass -->|Get money| B(Go shopping):::someclass
subgraph test["id starting with number"]
@@ -28,18 +28,18 @@
end
style test fill:#F99,stroke-width:2px,stroke:#F0F
classDef someclass fill:#f96;
</div>
<div class="mermaid">
</pre>
<pre class="mermaid">
graph TD
9e122290-->82072290_1ec3_e711_8c5a_005056ad0002
style 9e122290 fill:#F99,stroke-width:2px,stroke:#F0F
</div>
<script src="./mermaid.js"></script>
<script>
function showFullFirstSquad(elemName) {
console.log('show ' + elemName);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'loose', logLevel: 1 });
</script>
</body>
</pre>
<script src="./mermaid.js"></script>
<script>
function showFullFirstSquad(elemName) {
console.log('show ' + elemName);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'loose', logLevel: 1 });
</script>
</body>
</html>

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