* 'develop' of github.com:mermaid-js/mermaid:
Revert "fix: render the participants in same order as they are created"
Revert "Feature/4935 subgraph title margin config option"
Update integrations-community.md (Add Codemia to the list of productivity tools using Mermaid.)
* 'master' of github.com:mermaid-js/mermaid:
add inadvertent tracking removal
update announcement bar
* 'release/10.7.0' of github.com:mermaid-js/mermaid:
* 'develop' of github.com:mermaid-js/mermaid:
chore: Minor cleanup of imperativeState
fix: replace functional approaches with oop
chore: fix autogen docs
chore(sequence): Update packages/mermaid/src/docs/syntax/sequenceDiagram.md
chore(sequence): update doc for actors/participant creation/deletion fix
chore: remove unused e2e tests file
chore: add e2e test that shows db cleanup problem
chore: add e2e test that shows db cleanup problem
fix: add imperativeState and replace sequenceDb global variables with it
* master:
add jetbrains blog post
additional updates
update latest news pages
fix addl broken link
fix link
build: use `tsx` instead of `ts-node-esm`
verbiage updates
feat: Track outbound links in plausible
update getting started page
add blog post
chore: Update promo link
docs: Holiday promo v2
Update packages/mermaid/src/docs/.vitepress/components/TopBar.vue
update announcements page
update announcement bar verbiage
* develop: (200 commits)
chore(deps): update all minor dependencies
adds corresponding change in docs/ecosystem
Adds Unison programming language to community integrations list
Fixed parser/tests
Update docs
Update classDiagram.md
Update classDiagram.md
Update docs
Update packages/mermaid/src/diagrams/class/classDb.ts
Update packages/mermaid/src/docs/syntax/classDiagram.md
Update packages/mermaid/src/diagrams/class/classDb.ts
chore(deps): update all minor dependencies
Update generics docs
Update docs
Address potential undefined
refactor: Move maxEdges out of flowchart config.
refactor: Move maxEdges out of flowchart config.
chore: Add maxEdges to secure list
Update docs
Update NiceGuy.io links in integrations-community.md
...
* develop:
Update docs
Update NiceGuy.io links in integrations-community.md
build(deps-dev): bump vite from 4.4.9 to 4.4.12
Changes to .prettierignore 1. Added 'demos/dev/**' to be ignored by Prettier. 2. Added '!/demos/dev/example.html' so that Prettier ensures no one changes the example.html in a way that doesn't obey the Prettier code formatting rules.
build: use `tsx` instead of `ts-node-esm`
fix: #5100 Add viewbox to sankey
fix: Check if parentCommit is provided
Condition of Parent Id Without Merge Commit Added
Error Hash Removed
Linting Issue Fixed
Updated gitgraph.md
Linting Issue Fixed
Documentation Modified New Ex Added
e2e test case added
Merge Conflict Resolved
Suggested Changes FOR PR DONE
documentation added, Tests Fixed
All Unit Tests Passing
Unit Test Cases Added
Parser and Logic For Parent Commit Added
1. Added 'demos/dev/**' to be ignored by Prettier.
2. Added '!/demos/dev/example.html' so that Prettier ensures no one changes the example.html in a way that doesn't obey the Prettier code formatting rules.
* develop: (47 commits)
chore(deps): update all minor dependencies
chore: Rename test
test: Add unit test for generic classname and namespace
Split type from generic class name
Referenced the PmWiki's Cookbook recipe enabling MermaidJs schematics in wiki pages
test(e2e): fix pie chart E2E tests for PR #4288
Add dummy commit to trigger GH checks
chore: Revert unnecessary export
refactor: Remove unnecessary calculations
chore: Fix computeWidth function
chore: Cleanup setupGraphViewbox
Update docs
update mermaidAPI to cleanup the text before passing to getDiagramFromText
Add test for subgraphs with title margins and edge labels
Modify margin logic to avoid creating unnecessary space in subgraph
review fixes
add test
remove unused variable
fix: clean comments in text in getDiagramFromText API so flowchart works well
chore(deps): update all minor dependencies
...
* develop: (596 commits)
chore(deps): update all minor dependencies
chore(deps): update all patch dependencies
fix: flowchart image without text
fix Types
chore: Update pnpm-lock
chore: Add tests for calculateDeltaAndAngle
fix: #5064 Handle case when line has only one point
reset the testTimeout to 5 seconds and change it directly in the test
update testTimeout from 5 seconds to 10 seconds
Update all patch dependencies
fix broken link
add latest blog post
Update all minor dependencies
Update all patch dependencies
Fix docs
Update packages/mermaid/src/docs/community/questions-and-suggestions.md
Update packages/mermaid/src/diagrams/class/classRenderer-v2.ts
update edge ids
draw top actors with lines first followed by messages
Bump GitHub workflow actions to latest versions
...
* develop:
fix broken link
add latest blog post
fix linting
fix: set proper shiki theme for light and dark modes
fix: change shiki theme to github-light
add latest blog post
add latest blog post
* master:
fix broken link
add latest blog post
fix linting
fix: set proper shiki theme for light and dark modes
fix: change shiki theme to github-light
add latest blog post
add latest blog post
* develop: (164 commits)
Update all patch dependencies
Fix docs
Update packages/mermaid/src/docs/community/questions-and-suggestions.md
Update packages/mermaid/src/diagrams/class/classRenderer-v2.ts
update edge ids
draw top actors with lines first followed by messages
Bump GitHub workflow actions to latest versions
Update docs
Documentation: clarify sentence
Fix lint
Fix typo
fix typo
Add new Atlassian integrations
chore(deps): update all patch dependencies
Update demos/sequence.html
chore: release v10.6.1
fix
fix
fix: render the participants in same order as they are created
fix(flow): fix invalid ellipseText regex
...
* develop: (155 commits)
chore(deps): update all patch dependencies
chore: release v10.6.1
fix(flow): fix invalid ellipseText regex
review fixes
Update XYChart's nav link in the docs template
add comment for ts ignore
move decodeEntities to utils
review fixes
chore(deps): update all minor dependencies
chore: Point to correct changelog
add spec
fix: getMessageAPI so it considers entity codes
chore(deps): update all patch dependencies
Update integrations-community.md
docs: upate the list of tools with native support of mermaid
Fix typo in build-docs.yml
Updated mermaid version
Limiting the number of edges that are allowed in the flowchart
Update README.md
Update README.md
...
Pre-commit lint hook had made the use of ternaries harder to read
than I'd originally intended so I introduced an additional
variable which explains what is being checked and keeps ternaries
from becoming obscured.
Based on review by @nirname. I had originally been trying
to minimise number of new arguments being passed to
rerouting check but as the branch curve check is not used
elsewhere and is part of the same rerouting check it makes
sense for them to be together.
Position information now passed to rerouting fn instead.
My focus earlier on had been on relationship to `main` branch
so this is to ensure that we have some tests that cover
relationship between a pair of branches that doesn't
include `main`.
Hypothesised that working out which branch needed checking for
overlapping commits might be missing, so added that as a
nested ternary and passed result as new argument to rerouting
check.
If commits are found on the branch which will be getting the
curve (whichever branch is lower or more to the right of main
than the other, for now), then the arrow will be rerouted.
I may refactor in a follow-up commit and I think there's scope
to simplify the logic but this is a test for now.
In these tests, a new branch is created but then a commit is made
on the main branch before the new branch gets a commit. This
important to see what happens with rerouting of arrows.
Suggested by @nirname in PR review of #4927.
Followed practice of other tests so that commit IDs are
stabilised (i.e., not randomly generated) and therefore
don't show repeatedly in Cypress diff output screenshots
Checking if branch was same as main turned out to be redundant
for now, since there don't seem to be any cases where routing
curves into main.
This fixes issue found in review by @nirname and avoids a
situation where branching from the same commit results in
unnecessary rerouting.
The function also now does an additional check to see
if source branch in overlap check is on main.
As we're no longer purely checking for an overlap and
the only use of this function is to reroute the arrows
to avoid running over commits, this more literal name
should be clearer.
On previous rewrite, I had created new functions within the
overlapping functions but these were being recreated on each
iteration of Object.some(). I moved them outside this for
clarity and so they're not recreated each iteration.
Changed argument names from commit1 and commit2 to
commitA and commitB respectively to prevent confusion
with seq number values.
Replaced Array filter method with array some method
so that as soon as one overlap is found, function is
finished.
Used Object.entries instead of Object.keys to reduce
number of variables needed and make function easier
to read.
Originally, the function was checking if any commits were on the
same branch as `commit2`, the destination commit.
However, in order to avoid a conflict, we should only need to
check whether any commits are on the same branch as `commit 1`.
Updated and moved commenting as well.
Position the tooltip centered, just below the node being hovered.
Update packages/mermaid/src/diagrams/flowchart/flowDb.js
Co-authored-by: Sidharth Vinod <sidharthv96@gmail.com>
window.scrollY is already account for which means document.body.scrollTop incorrectly offsets the tooltip vertically.
The same is not true for horizontal position.
Replace the `TimonVS/pr-labeler-action` with
`release-drafter/release-drafter` as it has an [`autolabeler`][1]
option that can autolabel PRs for us.
This should fix labeling PRs from forks,
see https://github.com/TimonVS/pr-labeler-action/issues/25.
I've kept the `.github/pr-labeler.yml` configuration file, so that
links to it from the https://mermaid.js.org website continue to work.
I've also kept everything in the same
`.github/workflows/pr-labeler.yml` GitHub Actions workflow to make the
`git diff` easier to review, and to keep the GitHub Actions permissions
the same.
[1]: ff929b5ceb/README.md (autolabeler)
* develop:
docs: Wrap email in <>
chore(dev-deps): update @typescript-eslint to v6
chore(deps): update all patch dependencies
test(e2e): wait for theme-directives.html
test(e2e): remove unused code in theme-directives
test(e2e): wait for marker_unique_id.html e2e test
Update the `@typescript-eslint/eslint-plugin` and
`@typescript-eslint/parser` plugin to v6.
The full list of changes needed can be found in the
[Announcing typescript-eslint v6 blog post][1], but the ones that
affect us are:
- Dropped support for Node.JS v14.
This isn't a big deal for us, since Mermaid uses a version of
`eslint-plugin-jsdoc` that does not support Node.JS v14 either,
see 120029913d
(chore(deps): update dependency eslint-plugin-jsdoc to v46, 2023-06-27)
- Changes to the `plugin:@typescript-eslint/recommended` configuration.
I've manually changed the following two rules to match their old
`@typescript-eslint/parser` v5 settings, to avoid turning ESLint
warnings into errors:
- `@typescript-eslint/no-explicit-any` to `warn`
- `@typescript-eslint/no-unused-vars` to `warn`
[1]: https://main--typescript-eslint.netlify.app/blog/announcing-typescript-eslint-v6
The `theme-directives.html` test currently sometimes takes a screenshot
before all of the Mermaid diagrams have completed rendering.
We can use the `urlSnapshopTest()` helper function, which waits until
a `.rendered` property exists on the page.
Co-authored-by: Sidharth Vinod <sidharthv96@gmail.com>
Sometimes, Cypress takes the screenshot for marker_unique_id.html early,
before mermaid has finished rendering the diagrams.
Fixes: 924c9e913b
Co-authored-by: Sidharth Vinod <sidharthv96@gmail.com>
* develop:
chore: Fix type in 'getLineFunctionsWithOffset'
refactor: Add getLineFunctionsWithOffset function
refactor: Move EdgeData to types
fix: PointStart marker refX
chore(deps): update all patch dependencies
refactor: Fix typings in utils.ts
chore: Add @internal to createCSSStyles
chore: Bump version
refactor: Remove unused variables
fix: #4818 support `getClasses` in external diagrams.
* develop: (31 commits)
chore: Update docs
New Mermaid Live Editor for Confluence Cloud (#4814)
Update link to Discourse theme component (#4811)
Update flowchart.md (#4810)
chore: Update docs
"CSS" instead of "css" in flowchart.md (#4797)
Update CONTRIBUTING.md
Update CONTRIBUTING.md
fix: typos (#4801)
chore: Align with convention
add additional test case
chore(deps): update all patch dependencies
chore(deps): update all minor dependencies
added test case
add sanitize text
Update docs
modifications to generic parser
improvements to parseGenericTypes
Update packages/mermaid/src/diagrams/class/svgDraw.js
return comment
...
* develop: (22 commits)
docs: Fix link
Update docs
fix(pie): align slices and legend orders
Mermaid version v10.4.0
unique batches every time, if not repeated tests end up in the same batch
Added missed .md
Increase JS heap
More tests for redirects + prettier
Fixed redirects inside vitepress, extended tests
chore: Explain redirect.ts clearly
Reverted docker compose to develop branch
Run GA
Update docs
Update docs
fix(er): bug if relationship is declared first
update latest news
Removed all n00b file names and added redirects
test(er): add cypress test on entity name alias
feat(er): use square brackets to add aliases
docs(er): add release version for entity name aliases
...
Here are the changes I made:
Removed unnecessary variables and assignments
Removed unnecessary object property assignments
Removed redundant code by consolidating similar conditionals
Removed unused parameters and default values
Simplified some conditionals with boolean expressions
Removed unused variables and imports
Extracted common code into a reusable function
By optimizing the code in these ways, we can reduce the time complexity of the code and improve its performance.
2023-04-24 12:14:40 +05:30
317 changed files with 15041 additions and 7325 deletions
# This Action will scan dependency manifest files that change as part of a Pull Reqest, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
@@ -71,6 +71,8 @@ Documentation is necessary for all non bugfix/refactoring changes.
Only make changes to files that are in [`/packages/mermaid/src/docs`](packages/mermaid/src/docs)
**_DO NOT CHANGE FILES IN `/docs`_**
**_DO NOT CHANGE FILES IN `/docs` MANUALLY_**
The `/docs` folder will be rebuilt and committed as part of a pre-commit hook.
[Join our slack community if you want closer contact!](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE)
@@ -20,6 +20,9 @@ Generate diagrams from markdown-like text.
<palign="center">
<ahref="./README.zh-CN.md">简体中文</a>
</p>
<palign="center">
Try Live Editor previews of future releases: <ahref="https://develop.git.mermaid.live/"title="Try the mermaid version from the develop branch.">Develop</a> | <ahref="https://next.git.mermaid.live/"title="Try the mermaid version from the next branch.">Next</a>
</p>
<br>
<br>
@@ -31,7 +34,7 @@ Generate diagrams from markdown-like text.
@@ -41,6 +44,22 @@ Generate diagrams from markdown-like text.
<ahref="https://mermaid-js.github.io/mermaid/landing/"><imgsrc="https://github.com/mermaid-js/mermaid/blob/master/docs/intro/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>
## Table of content
<details>
<summary>Expand contents</summary>
- [About](#about)
- [Examples](#examples)
- [Release](#release)
- [Related projects](#related-projects)
- [Contributors](#contributors)
- [Security and safe diagrams](#security-and-safe-diagrams)
@@ -55,12 +74,12 @@ Mermaid addresses this problem by enabling users to create easily modifiable dia
<br/>
Mermaid allows even non-programmers to easily create detailed diagrams through the [Mermaid Live Editor](https://mermaid.live/).<br/>
[Tutorials](./docs/config/Tutorials.md) has video tutorials.
Use Mermaid with your favorite applications, check out the list of [Integrations and Usages of Mermaid](./docs/ecosystem/integrations.md).
For video tutorials, visit our [Tutorials](./docs/config/Tutorials.md) page.
Use Mermaid with your favorite applications, check out the list of [Integrations and Usages of Mermaid](./docs/ecosystem/integrations-community.md).
You can also use Mermaid within [GitHub](https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/) as well many of your other favorite applications—check out the list of [Integrations and Usages of Mermaid](./docs/ecosystem/integrations.md).
You can also use Mermaid within [GitHub](https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/) as well many of your other favorite applications—check out the list of [Integrations and Usages of Mermaid](./docs/ecosystem/integrations-community.md).
For a more detailed introduction to Mermaid and some of its more basic uses, look to the [Beginner's Guide](./docs/intro/n00b-gettingStarted.md), [Usage](./docs/config/usage.md) and [Tutorials](./docs/config/Tutorials.md).
For a more detailed introduction to Mermaid and some of its more basic uses, look to the [Beginner's Guide](./docs/intro/getting-started.md), [Usage](./docs/config/usage.md) and [Tutorials](./docs/config/Tutorials.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.
@@ -165,13 +184,7 @@ class Class10 {
int id
size()
}
namespace Namespace01 {
class Class11
class Class12 {
int id
size()
}
}
```
```mermaid
@@ -191,13 +204,7 @@ class Class10 {
int id
size()
}
namespace Namespace01 {
class Class11
class Class12 {
int id
size()
}
}
```
### 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>]
Container(mobile, "Mobile App", "Xamarin", "Provides a limited subset of the Internet Banking functionality to customers via their mobile device.")
}
Deployment_Node(comp, "Customer's computer", "Mircosoft Windows or Apple macOS"){
Deployment_Node(comp, "Customer's computer", "Microsoft Windows or Apple macOS"){
Deployment_Node(browser, "Web Browser", "Google Chrome, Mozilla Firefox,<br/> Apple Safari or Microsoft Edge"){
Container(spa, "Single Page Application", "JavaScript and Angular", "Provides all of the Internet Banking functionality to customers via their web browser.")
title "Basic xychart with many categories with category overlap"
x-axis "this is x axis" [category1, "Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint consectetur cupidatat.", category3, category4, category5, category6, category7]
@@ -22,7 +22,7 @@ In GitHub, you first **fork** a repository when you are going to make changes an
Then you **clone** a copy to your local development machine (e.g. where you code) to make a copy with all the files to work with.
[Fork mermaid](https://github.com/mermaid-js/mermaid/fork) to start contributing to the main project and its documentaion, or [search for other repositories](https://github.com/orgs/mermaid-js/repositories).
[Fork mermaid](https://github.com/mermaid-js/mermaid/fork) to start contributing to the main project and its documentation, or [search for other repositories](https://github.com/orgs/mermaid-js/repositories).
[Here is a GitHub document that gives an overview of the process.](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
@@ -22,7 +22,7 @@ In GitHub, you first **fork** a repository when you are going to make changes an
Then you **clone** a copy to your local development machine (e.g. where you code) to make a copy with all the files to work with.
[Fork mermaid](https://github.com/mermaid-js/mermaid/fork) to start contributing to the main project and its documentaion, or [search for other repositories](https://github.com/orgs/mermaid-js/repositories).
[Fork mermaid](https://github.com/mermaid-js/mermaid/fork) to start contributing to the main project and its documentation, or [search for other repositories](https://github.com/orgs/mermaid-js/repositories).
[Here is a GitHub document that gives an overview of the process.](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
There are some jison specific sub steps here where the parser stores the data encountered when parsing the diagram, this data is later used by the renderer. You can during the parsing call a object provided to the parser by the user of the parser. This object can be called during parsing for storing data.
There are some jison specific sub steps here where the parser stores the data encountered when parsing the diagram, this data is later used by the renderer. You can during the parsing call an object provided to the parser by the user of the parser. This object can be called during parsing for storing data.
```jison
statement
@@ -35,7 +35,7 @@ In the extract of the grammar above, it is defined that a call to the setTitle m
> **Note**
> Make sure that the `parseError` function for the parser is defined and calling `mermaid.parseError`. This way a common way of detecting parse errors is provided for the end-user.
For more info look in the example diagram type:
For more info look at the example diagram type:
The `yy` object has the following function:
@@ -54,7 +54,7 @@ parser.yy = db;
### Step 2: Rendering
Write a renderer that given the data found during parsing renders the diagram. To look at an example look at sequenceRenderer.js rather then the flowchart renderer as this is a more generic example.
Write a renderer that given the data found during parsing renders the diagram. To look at an example look at sequenceRenderer.js rather than the flowchart renderer as this is a more generic example.
Place the renderer in the diagram folder.
@@ -62,7 +62,7 @@ Place the renderer in the diagram folder.
The second thing to do is to add the capability to detect the new diagram to type to the detectType in `diagram-api/detectType.ts`. The detection should return a key for the new diagram type.
[This key will be used to as the aria roledescription](#aria-roledescription), so it should be a word that clearly describes the diagram type.
For example, if your new diagram use a UML deployment diagram, a good key would be "UMLDeploymentDiagram" because assistive technologies such as a screen reader
For example, if your new diagram uses a UML deployment diagram, a good key would be "UMLDeploymentDiagram" because assistive technologies such as a screen reader
would voice that as "U-M-L Deployment diagram." Another good key would be "deploymentDiagram" because that would be voiced as "Deployment Diagram." A bad key would be "deployment" because that would not sufficiently describe the diagram.
Note that the diagram type key does not have to be the same as the diagram keyword chosen for the [grammar](#grammar), but it is helpful if they are the same.
@@ -122,7 +122,7 @@ There are a few features that are common between the different types of diagrams
- Themes, there is a common way to modify the styling of diagrams in Mermaid.
- Comments should follow mermaid standards
Here some pointers on how to handle these different areas.
Here are some pointers on how to handle these different areas.
## Accessibility
@@ -140,7 +140,7 @@ See [the definition of aria-roledescription](https://www.w3.org/TR/wai-aria-1.1/
### accessible title and description
The syntax for accessible titles and descriptions is described in [the Accessibility documenation section.](../config/accessibility.md)
The syntax for accessible titles and descriptions is described in [the Accessibility documentation section.](../config/accessibility.md)
As a design goal, the jison syntax should be similar between the diagrams.
## First search to see if someone has already asked (and hopefully been answered) or suggested the same thing.
- Search in Discussions
- Search in open Issues
- Search in closed Issues
-[Search in Discussions](https://github.com/orgs/mermaid-js/discussions)
-[Search in Issues (Open & Closed)](https://github.com/mermaid-js/mermaid/issues?q=is%3Aissue)
If you find an open issue or discussion thread that is similar to your question but isn't answered, you can let us know that you are also interested in it.
Use the GitHub reactions to add a thumbs-up to the issue or discussion thread.
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/n00b-advanced.md](../../packages/mermaid/src/docs/config/n00b-advanced.md).
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/advanced.md](../../packages/mermaid/src/docs/config/advanced.md).
@@ -10,8 +10,8 @@ When mermaid starts, configuration is extracted to determine a configuration to
- The default configuration
- Overrides at the site level are set by the initialize call, and will be applied to all diagrams in the site/app. The term for this is the **siteConfig**.
- Frontmatter (v\<MERMAID_RELEASE_VERSION>+) - diagram authors can update select configuration parameters in the frontmatter of the diagram. These are applied to the render config.
- Directives (Deprecated by Frontmatter) - diagram authors can update select configuration parameters directly in the diagram code via directives. These are applied to the render config.
- Frontmatter (v10.5.0+) - diagram authors can update selected configuration parameters in the frontmatter of the diagram. These are applied to the render config.
- Directives (Deprecated by Frontmatter) - diagram authors can update selected configuration parameters directly in the diagram code via directives. These are applied to the render config.
**The render config** is configuration that is used when rendering by applying these configurations.
> Directives are deprecated from v\<MERMAID_RELEASE_VERSION>. Please use the `config` key in frontmatter to pass configuration. See [Configuration](./configuration.md) for more details.
> Directives are deprecated from v10.5.0. Please use the `config` key in frontmatter to pass configuration. See [Configuration](./configuration.md) for more details.
## Directives
@@ -126,7 +126,7 @@ The following code snippet changes `theme` to `forest`:
`%%{init: { "theme": "forest" } }%%`
Possible theme values are: `default`,`base`, `dark`, `forest` and `neutral`.
Possible theme values are: `default`,`base`, `dark`, `forest` and `neutral`.
Default Value is `default`.
Example:
@@ -291,7 +291,7 @@ Let us see an example:
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
Bob->Alice: Fine, how did you mother like the book I suggested? And did you catch the new book about alien invasion?
Bob->Alice: Fine, how did your mother like the book I suggested? And did you catch the new book about alien invasion?
Alice->Bob: Good.
Bob->Alice: Cool
```
@@ -300,7 +300,7 @@ Bob->Alice: Cool
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
Bob->Alice: Fine, how did you mother like the book I suggested? And did you catch the new book about alien invasion?
Bob->Alice: Fine, how did your mother like the book I suggested? And did you catch the new book about alien invasion?
Alice->Bob: Good.
Bob->Alice: Cool
```
@@ -317,7 +317,7 @@ By applying that snippet to the diagram above, `wrap` will be enabled:
| `config` | `MermaidConfig` | configuration that has style and theme settings to use |
| `graphType` | `string` | used for checking if classDefs should be applied |
| `classDefs` | `undefined` \| `null` \| `Record`<`string`, `DiagramStyleClassDef`> | the classDefs in the diagram text. Might be null if none were defined. Usually is the result of a call to getClasses(...) |
#### Returns
@@ -179,7 +178,7 @@ the string with all the user styles
> Note:This topic explored in greater depth in the [User Guide for Beginners](../intro/n00b-gettingStarted.md)
> Note:This topic is explored in greater depth in the [User Guide for Beginners](../intro/getting-started.md)
The easiest way to integrate mermaid on a web page requires two elements:
@@ -100,7 +100,7 @@ Mermaid can load multiple diagrams, in the same page.
## Enabling Click Event and Tags in Nodes
A `securityLevel` configuration has to first be cleared. `securityLevel` sets the level of trust for the parsed diagrams and limits click functionality. This was introduce in version 8.2 as a security improvement, aimed at preventing malicious use.
A `securityLevel` configuration has to first be cleared. `securityLevel` sets the level of trust for the parsed diagrams and limits click functionality. This was introduced in version 8.2 as a security improvement, aimed at preventing malicious use.
**It is the site owner's responsibility to discriminate between trustworthy and untrustworthy user-bases and we encourage the use of discretion.**
@@ -115,13 +115,13 @@ Values:
- **strict**: (**default**) HTML tags in the text are encoded and click functionality is disabled.
- **antiscript**: HTML tags in text are allowed (only script elements are removed) and click functionality is enabled.
- **loose**: HTML tags in text are allowed and click functionality is enabled.
- **sandbox**: With this security level, all rendering takes place in a sandboxed iframe. This prevent any JavaScript from running in the context. This may hinder interactive functionality of the diagram, like scripts, popups in the sequence diagram, links to other tabs or targets, etc.
- **sandbox**: With this security level, all rendering takes place in a sandboxed iframe. This prevents any JavaScript from running in the context. This may hinder interactive functionality of the diagram, like scripts, popups in the sequence diagram, links to other tabs or targets, etc.
> **Note**
> This changes the default behaviour of mermaid so that after upgrade to 8.2, unless the `securityLevel` is not changed, tags in flowcharts are encoded as tags and clicking is disabled.
> **sandbox** security level is still in the beta version.
**If you are taking responsibility for the diagram source security you can set the `securityLevel` to a value of your choosing. This allows clicks and tags are allowed.**
**If you are taking responsibility for the diagram source security you can set the `securityLevel` to a value of your choosing. This allows clicks and tags are allowed.**
**To change `securityLevel`, you have to call `mermaid.initialize`:**
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/ecosystem/integrations.md](../../packages/mermaid/src/docs/ecosystem/integrations.md).
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/ecosystem/integrations-community.md](../../packages/mermaid/src/docs/ecosystem/integrations-community.md).
# Integrations
## Recommendations
## Official integration
### File Extension
### Mermaid Chart
Applications that support mermaid files [SHOULD](https://datatracker.ietf.org/doc/html/rfc2119#section-3) use `.mermaid` or `.mmd` file extensions.
Mermaid Chart is built by the team behind Mermaid JS.
### MIME Type
For more details, visit the [Mermaid Chart page](./mermaid-chart.md), or visit the [Mermaid Chart website](https://www.mermaidchart.com) .
The recommended [MIME type](https://www.iana.org/assignments/media-types/media-types.xhtml) for mermaid media is `text/vnd.mermaid`.
- [Mermaid for Confluence](https://marketplace.atlassian.com/apps/1224722/mermaid-for-confluence?hosting=cloud&tab=overview)
- [Mermaid Integration for Confluence](https://marketplace.atlassian.com/apps/1222792/mermaid-integration-for-confluence?hosting=cloud&tab=overview)
- [Mermaid Diagrams for Confluence](https://marketplace.atlassian.com/apps/1226945/mermaid-diagrams-for-confluence?hosting=cloud&tab=overview)
- [Mermaid Macro for Confluence](https://marketplace.atlassian.com/apps/1231150/mermaid-macro-for-confluence?hosting=cloud&tab=overview)
- [EliteSoft Mermaid Charts and Diagrams](https://marketplace.atlassian.com/apps/1227286/elitesoft-mermaid-charts-and-diagrams?hosting=cloud&tab=overview)
- [Mermaid for Jira Cloud - Draw UML diagrams easily](https://marketplace.atlassian.com/apps/1223053/mermaid-for-jira-cloud-draw-uml-diagrams-easily?hosting=cloud&tab=overview)
- [Mermaid Charts & Diagrams for Confluence](https://marketplace.atlassian.com/apps/1222572/)
- [Mermaid Charts & Diagrams for Jira](https://marketplace.atlassian.com/apps/1224537/)
- [Mermaid Live Editor for Confluence Cloud](https://marketplace.atlassian.com/apps/1231571/mermaid-live-editor-for-confluence?hosting=cloud&tab=overview)
- [Mermaid Plugin for Confluence](https://marketplace.atlassian.com/apps/1214124/mermaid-plugin-for-confluence?hosting=server&tab=overview)
- [Swimm - Up-to-date diagrams with Swimm, the knowledge management tool for code](https://docs.swimm.io/features/diagrams-and-charts/#mermaid--swimm--up-to-date-diagrams-)
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/ecosystem/integrations-create.md](../../packages/mermaid/src/docs/ecosystem/integrations-create.md).
# Integrations - create
## Recommendations
Below are recommendations for creating plugins and integrations with Mermaid.
### File Extension
Applications that support Mermaid files [SHOULD](https://datatracker.ietf.org/doc/html/rfc2119#section-3) use `.mermaid` or `.mmd` file extensions.
### MIME Type
The recommended [MIME type](https://www.iana.org/assignments/media-types/media-types.xhtml) for Mermaid media is `text/vnd.mermaid`.
Currently pending [IANA](https://www.iana.org/) recognition.
## Showcase
### Mermaid Slack workspace
We would love to see what you create with Mermaid. Please share your creations with us in our [Slack](https://join.slack.com/t/mermaid-talk/shared_invite/zt-22p2r8p9y-qiyP1H38GjFQ6S6jbBkOxQ) workspace [#community-showcase](https://mermaid-talk.slack.com/archives/C05NK37LT40) channel.
### Add to Mermaid Ecosystem
If you have a plugin or integration that you'd like to add to our [Community integrations](/ecosystem/integrations-community) list, please [open a pull request](https://github.com/mermaid-js/mermaid).
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.