From b232f201698d25ea0a2522e0de85ff6ff3be4895 Mon Sep 17 00:00:00 2001 From: Steph Date: Wed, 15 Mar 2023 10:53:50 -0700 Subject: [PATCH 01/21] add mermaid chart logo and link to navbar --- packages/mermaid/src/docs/.vitepress/config.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/mermaid/src/docs/.vitepress/config.ts b/packages/mermaid/src/docs/.vitepress/config.ts index 9b01fdbde..42cc0fb86 100644 --- a/packages/mermaid/src/docs/.vitepress/config.ts +++ b/packages/mermaid/src/docs/.vitepress/config.ts @@ -29,6 +29,12 @@ export default defineConfig({ socialLinks: [ { icon: 'github', link: 'https://github.com/mermaid-js/mermaid' }, { icon: 'slack', link: 'https://mermaid-talk.slack.com' }, + { + icon: { + svg: '', + }, + link: 'https://www.mermaidchart.com/', + }, ], }, }); From 89b9868870d3927f40775d370c32c732ef3e212d Mon Sep 17 00:00:00 2001 From: Steph Date: Wed, 15 Mar 2023 11:14:02 -0700 Subject: [PATCH 02/21] update cards --- packages/mermaid/src/docs/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/mermaid/src/docs/index.md b/packages/mermaid/src/docs/index.md index b0b38bd79..f5e0970fa 100644 --- a/packages/mermaid/src/docs/index.md +++ b/packages/mermaid/src/docs/index.md @@ -23,15 +23,15 @@ features: - title: ➕ Easy to use! details: Easily create and render detailed diagrams and charts with the Mermaid Live Editor. link: https://mermaid.live/ - - title: 🎥 Video Tutorials! - details: Curated list of video tutorials and examples created by the community. - link: ../../config/Tutorials.html - title: 🧩 Integrations available! details: Use Mermaid with your favorite applications, check out the integrations list. link: ../../ecosystem/integrations.md - title: 🏆 Award winning! details: 2019 JavaScript Open Source Award winner for "The Most Exciting Use of Technology". link: https://osawards.com/javascript/2019 + - title: 🥰 Mermaid + Mermaid Chart + details: Mermaid Chart is a major supporter of the Mermaid project. + link: https://www.mermaidchart.com/ --- From d18dff65e19a0e84a8842c9e30379b197c62eb7d Mon Sep 17 00:00:00 2001 From: Steph Date: Wed, 15 Mar 2023 12:24:31 -0700 Subject: [PATCH 04/21] add hover effect to mc icon and update cspell --- cSpell.json | 2 ++ packages/mermaid/src/docs/.vitepress/config.ts | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/cSpell.json b/cSpell.json index d860c5e33..94276b683 100644 --- a/cSpell.json +++ b/cSpell.json @@ -47,6 +47,7 @@ "graphviz", "grav", "greywolf", + "huynh", "inkdrop", "jaoude", "jison", @@ -90,6 +91,7 @@ "sidharthv", "sphinxcontrib", "statediagram", + "steph", "stylis", "substate", "sveidqvist", diff --git a/packages/mermaid/src/docs/.vitepress/config.ts b/packages/mermaid/src/docs/.vitepress/config.ts index 42cc0fb86..a146be531 100644 --- a/packages/mermaid/src/docs/.vitepress/config.ts +++ b/packages/mermaid/src/docs/.vitepress/config.ts @@ -31,7 +31,7 @@ export default defineConfig({ { icon: 'slack', link: 'https://mermaid-talk.slack.com' }, { icon: { - svg: '', + svg: '', }, link: 'https://www.mermaidchart.com/', }, From b56c8a2a7a988e9a17c5d6344974829076c65e0f Mon Sep 17 00:00:00 2001 From: Steph Date: Wed, 15 Mar 2023 12:41:33 -0700 Subject: [PATCH 05/21] fix favicon resolution --- docs/public/favicon.ico | Bin 1150 -> 12392 bytes packages/mermaid/src/docs/public/favicon.ico | Bin 1150 -> 12392 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/public/favicon.ico b/docs/public/favicon.ico index d41818c5b6e0250d7c8083ee5b19a02cdd6a4302..05d8a737bed26f3f59b53eb56ca18a5ee1536dc7 100644 GIT binary patch literal 12392 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 RjQ=12*z-6Y%2}t|{{x!s_j~{V literal 1150 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 RjQ=12*z-6Y%2}t|{{x!s_j~{V literal 1150 zcmb7^OG_L<6opI34{+t$ML;1tA5lU7Kzs%aL|o`jUHBN$rEe09pc?~1wn0GzK~TgO zf(t=VM{yy83qe!{LWFBjXv_axq56(p%4G3IvOSs34Ic9)-6c_$XKsya>n=s!@+8KV4S|bQZbLz8^5b$TzbzY2q2KsiYsR(ZPlSyB{+fRZOK|Bi| Date: Wed, 29 Mar 2023 21:50:15 +0530 Subject: [PATCH 06/21] Add Slack invite link --- packages/mermaid/src/docs/.vitepress/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mermaid/src/docs/.vitepress/config.ts b/packages/mermaid/src/docs/.vitepress/config.ts index a146be531..f40cf11da 100644 --- a/packages/mermaid/src/docs/.vitepress/config.ts +++ b/packages/mermaid/src/docs/.vitepress/config.ts @@ -28,7 +28,7 @@ export default defineConfig({ }, socialLinks: [ { icon: 'github', link: 'https://github.com/mermaid-js/mermaid' }, - { icon: 'slack', link: 'https://mermaid-talk.slack.com' }, + { icon: 'slack', link: 'https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE' }, { icon: { svg: '', From 2896865163df2eac8854b7a8b8ae38bf4601e688 Mon Sep 17 00:00:00 2001 From: Steph Date: Wed, 29 Mar 2023 14:23:44 -0700 Subject: [PATCH 07/21] add latest news section --- .../mermaid/src/docs/.vitepress/config.ts | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/mermaid/src/docs/.vitepress/config.ts b/packages/mermaid/src/docs/.vitepress/config.ts index f40cf11da..040b6a71a 100644 --- a/packages/mermaid/src/docs/.vitepress/config.ts +++ b/packages/mermaid/src/docs/.vitepress/config.ts @@ -28,7 +28,10 @@ export default defineConfig({ }, socialLinks: [ { icon: 'github', link: 'https://github.com/mermaid-js/mermaid' }, - { icon: 'slack', link: 'https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE' }, + { + icon: 'slack', + link: 'https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE', + }, { icon: { svg: '', @@ -48,6 +51,11 @@ function nav() { activeMatch: '/config/', }, { text: 'Integrations', link: '/ecosystem/integrations', activeMatch: '/ecosystem/' }, + { + text: 'Latest News', + link: '/news/announcements', + activeMatch: '/announcements', + }, { text: version, items: [ @@ -86,6 +94,7 @@ function sidebarAll() { ...sidebarEcosystem(), ...sidebarConfig(), ...sidebarCommunity(), + ...sidebarNews(), ]; } @@ -168,3 +177,16 @@ function sidebarCommunity() { }, ]; } + +function sidebarNews() { + return [ + { + text: '📰 Latest News', + collapsible: true, + items: [ + { text: 'Announcements', link: '/news/announcements' }, + { text: 'Blog', link: '/news/blog' }, + ], + }, + ]; +} From 8bd2c0f272e435fde35ab8dddec15306e10cbff4 Mon Sep 17 00:00:00 2001 From: Steph Date: Wed, 29 Mar 2023 14:27:04 -0700 Subject: [PATCH 08/21] create announcements and blog pages --- docs/news/announcements.md | 7 +++++++ docs/news/blog.md | 7 +++++++ packages/mermaid/src/docs/news/announcements.md | 1 + packages/mermaid/src/docs/news/blog.md | 1 + 4 files changed, 16 insertions(+) create mode 100644 docs/news/announcements.md create mode 100644 docs/news/blog.md create mode 100644 packages/mermaid/src/docs/news/announcements.md create mode 100644 packages/mermaid/src/docs/news/blog.md diff --git a/docs/news/announcements.md b/docs/news/announcements.md new file mode 100644 index 000000000..e5c588465 --- /dev/null +++ b/docs/news/announcements.md @@ -0,0 +1,7 @@ +> **Warning** +> +> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT. +> +> ## Please edit the corresponding file in [/packages/mermaid/src/docs/news/announcements.md](../../packages/mermaid/src/docs/news/announcements.md). + +# Announcements diff --git a/docs/news/blog.md b/docs/news/blog.md new file mode 100644 index 000000000..8daccfa50 --- /dev/null +++ b/docs/news/blog.md @@ -0,0 +1,7 @@ +> **Warning** +> +> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT. +> +> ## Please edit the corresponding file in [/packages/mermaid/src/docs/news/blog.md](../../packages/mermaid/src/docs/news/blog.md). + +# Blog diff --git a/packages/mermaid/src/docs/news/announcements.md b/packages/mermaid/src/docs/news/announcements.md new file mode 100644 index 000000000..a7a6c4829 --- /dev/null +++ b/packages/mermaid/src/docs/news/announcements.md @@ -0,0 +1 @@ +# Announcements diff --git a/packages/mermaid/src/docs/news/blog.md b/packages/mermaid/src/docs/news/blog.md new file mode 100644 index 000000000..05761ac57 --- /dev/null +++ b/packages/mermaid/src/docs/news/blog.md @@ -0,0 +1 @@ +# Blog From 4c0980629c0cf220b76885bf134742f7605009d3 Mon Sep 17 00:00:00 2001 From: Steph Date: Wed, 29 Mar 2023 14:46:19 -0700 Subject: [PATCH 09/21] add blog page content --- docs/news/blog.md | 24 ++++++++++++++++++++++++ packages/mermaid/src/docs/news/blog.md | 24 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/docs/news/blog.md b/docs/news/blog.md index 8daccfa50..dc6f3f635 100644 --- a/docs/news/blog.md +++ b/docs/news/blog.md @@ -5,3 +5,27 @@ > ## Please edit the corresponding file in [/packages/mermaid/src/docs/news/blog.md](../../packages/mermaid/src/docs/news/blog.md). # Blog + +## [Mermaid Chart officially launched with sharable diagram links and presentation mode](https://www.mermaidchart.com/blog/posts/mermaid-chart-officially-launched-with-sharable-diagram-links-and-presentation-mode/) + +27 March 2023 · 2 mins + +Exciting news for all Mermaid OSS fans: Mermaid Chart has officially launched with Mermaid Chart! + +## [If you're not excited about ChatGPT, then you're not being creative](https://www.mermaidchart.com/blog/posts/if-youre-not-excited-about-chatgpt-then-youre-not-being-creative-enough/) + +8 March 2023 · 9 mins + +The hype around AI in general and ChatGPT, in particular, is so intense that it’s very understandable to assume the hype train is driving straight toward the trough of disillusionment. + +## [Flow charts are O(n)2 complex, so don't go over 100 connections](https://www.mermaidchart.com/blog/posts/flow-charts-are-on2-complex-so-dont-go-over-100-connections/) + +1 March 2023 · 12 mins + +Flowchart design is a game of balance: Read about the importance of dialling in the right level of detail and how to manage complexity in large flowcharts. + +## [Busting the myth that developers can't write](https://www.mermaidchart.com/blog/posts/busting-the-myth-that-developers-cant-write/) + +10 February 2023 · 10 mins + +Busting the myth that developers can’t write # It’s an annoying stereotype that developers don’t know how to write, speak, and otherwise communicate. diff --git a/packages/mermaid/src/docs/news/blog.md b/packages/mermaid/src/docs/news/blog.md index 05761ac57..b835bbe35 100644 --- a/packages/mermaid/src/docs/news/blog.md +++ b/packages/mermaid/src/docs/news/blog.md @@ -1 +1,25 @@ # Blog + +## [Mermaid Chart officially launched with sharable diagram links and presentation mode](https://www.mermaidchart.com/blog/posts/mermaid-chart-officially-launched-with-sharable-diagram-links-and-presentation-mode/) + +27 March 2023 · 2 mins + +Exciting news for all Mermaid OSS fans: Mermaid Chart has officially launched with Mermaid Chart! + +## [If you're not excited about ChatGPT, then you're not being creative](https://www.mermaidchart.com/blog/posts/if-youre-not-excited-about-chatgpt-then-youre-not-being-creative-enough/) + +8 March 2023 · 9 mins + +The hype around AI in general and ChatGPT, in particular, is so intense that it’s very understandable to assume the hype train is driving straight toward the trough of disillusionment. + +## [Flow charts are O(n)2 complex, so don't go over 100 connections](https://www.mermaidchart.com/blog/posts/flow-charts-are-on2-complex-so-dont-go-over-100-connections/) + +1 March 2023 · 12 mins + +Flowchart design is a game of balance: Read about the importance of dialling in the right level of detail and how to manage complexity in large flowcharts. + +## [Busting the myth that developers can't write](https://www.mermaidchart.com/blog/posts/busting-the-myth-that-developers-cant-write/) + +10 February 2023 · 10 mins + +Busting the myth that developers can’t write # It’s an annoying stereotype that developers don’t know how to write, speak, and otherwise communicate. From 35366f79ac2d72bcd7d843e1727b0654dae92b2e Mon Sep 17 00:00:00 2001 From: Steph Date: Wed, 29 Mar 2023 14:48:09 -0700 Subject: [PATCH 10/21] add announcements page content --- docs/news/announcements.md | 2 ++ packages/mermaid/src/docs/news/announcements.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docs/news/announcements.md b/docs/news/announcements.md index e5c588465..90b3b3556 100644 --- a/docs/news/announcements.md +++ b/docs/news/announcements.md @@ -5,3 +5,5 @@ > ## Please edit the corresponding file in [/packages/mermaid/src/docs/news/announcements.md](../../packages/mermaid/src/docs/news/announcements.md). # Announcements + +Stay tuned for some exciting announcements! diff --git a/packages/mermaid/src/docs/news/announcements.md b/packages/mermaid/src/docs/news/announcements.md index a7a6c4829..c6b6de570 100644 --- a/packages/mermaid/src/docs/news/announcements.md +++ b/packages/mermaid/src/docs/news/announcements.md @@ -1 +1,3 @@ # Announcements + +Stay tuned for some exciting announcements! From 5d536b99734386f63e8314c3a3f81aa4cd85d960 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Mon, 3 Apr 2023 14:41:13 +0200 Subject: [PATCH 11/21] Adding documentation for markdown strings --- cypress/platform/knsv2.html | 14 ++++--- docs/syntax/flowchart.md | 38 +++++++++++++++++++ docs/syntax/mindmap.md | 28 ++++++++++++++ packages/mermaid/src/docs/syntax/flowchart.md | 25 ++++++++++++ packages/mermaid/src/docs/syntax/mindmap.md | 19 ++++++++++ 5 files changed, 118 insertions(+), 6 deletions(-) diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 08a4c0e68..95f3c15bc 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -60,9 +60,9 @@
       %%{init: {"flowchart": {"htmlLabels": false}} }%%
 flowchart-elk LR
-b(`The dog in **the** hog(2)... a a a a *very long text* about it
+b("`The dog in **the** hog(2)... a a a a *very long text* about it
 Word!
-Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. `)
+Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. `")
 
@@ -89,10 +89,12 @@ mindmap
     
 mindmap
-    id1["`**Start** with
-    a second line 😎`"]
-      id2["`The dog in **the** hog... a *very long text* about it
-Word!`"]
+    id1["`**Root** with
+a second line
+Unicode works too: 🤓`"]
+      id2["`The dog in **the** hog... a *very long text* that wraps to a new line`"]
+      id3[Regular labels still works]
+
     
 %%{init: {"flowchart": {"defaultRenderer": "elk"}} }%%
diff --git a/docs/syntax/flowchart.md b/docs/syntax/flowchart.md
index c79f12b23..6f5b973e8 100644
--- a/docs/syntax/flowchart.md
+++ b/docs/syntax/flowchart.md
@@ -710,6 +710,44 @@ flowchart LR
   B1 --> B2
 ```
 
+## Markdown Strings
+
+The "Markdown Strings" feature enhances flowcharts and mind maps by offering a more versatile string type, which supports text formatting options such as bold and italics, and automatically wraps text within labels.
+
+```mermaid-example
+%%{init: {"flowchart": {"htmlLabels": false}} }%%
+flowchart LR
+subgraph "One"
+  a("`The **cat**
+  in the hat`") -- "edge label" --> b{{"`The **dog** in the hog`"}}
+end
+subgraph "`**Two**`"
+  c("`The **cat**
+  in the hat`") -- "`Bold **edge label**`" --> d("The dog in the hog")
+end
+```
+
+```mermaid
+%%{init: {"flowchart": {"htmlLabels": false}} }%%
+flowchart LR
+subgraph "One"
+  a("`The **cat**
+  in the hat`") -- "edge label" --> b{{"`The **dog** in the hog`"}}
+end
+subgraph "`**Two**`"
+  c("`The **cat**
+  in the hat`") -- "`Bold **edge label**`" --> d("The dog in the hog")
+end
+```
+
+Formatting:
+
+- For bold text, use double asterisks \*\* before and after the text.
+- For italics, use single asterisks \* before and after the text.
+- With traditional strings, you needed to add 
tags for text to wrap in nodes. However, markdown strings automatically wrap text when it becomes too long and allows you to start a new line by simply using a newline character instead of a
tag. + +This feature is applicable to node labels, edge labels, and subgraph labels. + ## Interaction It is possible to bind a click event to a node, the click can lead to either a javascript callback or to a link which will be opened in a new browser tab. **Note**: This functionality is disabled when using `securityLevel='strict'` and enabled when using `securityLevel='loose'`. diff --git a/docs/syntax/mindmap.md b/docs/syntax/mindmap.md index babe47756..9687bbef7 100644 --- a/docs/syntax/mindmap.md +++ b/docs/syntax/mindmap.md @@ -254,6 +254,34 @@ Root C ``` +## Markdown Strings + +The "Markdown Strings" feature enhances mind maps by offering a more versatile string type, which supports text formatting options such as bold and italics, and automatically wraps text within labels. + +```mermaid-example +mindmap + id1["`**Root** with +a second line +Unicode works too: 🤓`"] + id2["`The dog in **the** hog... a *very long text* that wraps to a new line`"] + id3[Regular labels still works] +``` + +```mermaid +mindmap + id1["`**Root** with +a second line +Unicode works too: 🤓`"] + id2["`The dog in **the** hog... a *very long text* that wraps to a new line`"] + id3[Regular labels still works] +``` + +Formatting: + +- For bold text, use double asterisks \*\* before and after the text. +- For italics, use single asterisks \* before and after the text. +- With traditional strings, you needed to add
tags for text to wrap in nodes. However, markdown strings automatically wrap text when it becomes too long and allows you to start a new line by simply using a newline character instead of a
tag. + ## Integrating with your library/website. Mindmap uses the experimental lazy loading & async rendering features which could change in the future. From version 9.4.0 this diagram is included in mermaid but use lazy loading in order to keep the size of mermaid down. This is important in order to be able to add additional diagrams going forward. diff --git a/packages/mermaid/src/docs/syntax/flowchart.md b/packages/mermaid/src/docs/syntax/flowchart.md index 8e73f597b..936607cbd 100644 --- a/packages/mermaid/src/docs/syntax/flowchart.md +++ b/packages/mermaid/src/docs/syntax/flowchart.md @@ -446,6 +446,31 @@ flowchart LR B1 --> B2 ``` +## Markdown Strings + +The "Markdown Strings" feature enhances flowcharts and mind maps by offering a more versatile string type, which supports text formatting options such as bold and italics, and automatically wraps text within labels. + +```mermaid-example +%%{init: {"flowchart": {"htmlLabels": false}} }%% +flowchart LR +subgraph "One" + a("`The **cat** + in the hat`") -- "edge label" --> b{{"`The **dog** in the hog`"}} +end +subgraph "`**Two**`" + c("`The **cat** + in the hat`") -- "`Bold **edge label**`" --> d("The dog in the hog") +end +``` + +Formatting: + +- For bold text, use double asterisks \*\* before and after the text. +- For italics, use single asterisks \* before and after the text. +- With traditional strings, you needed to add
tags for text to wrap in nodes. However, markdown strings automatically wrap text when it becomes too long and allows you to start a new line by simply using a newline character instead of a
tag. + +This feature is applicable to node labels, edge labels, and subgraph labels. + ## Interaction It is possible to bind a click event to a node, the click can lead to either a javascript callback or to a link which will be opened in a new browser tab. **Note**: This functionality is disabled when using `securityLevel='strict'` and enabled when using `securityLevel='loose'`. diff --git a/packages/mermaid/src/docs/syntax/mindmap.md b/packages/mermaid/src/docs/syntax/mindmap.md index 1cb1f68d4..64a25821a 100644 --- a/packages/mermaid/src/docs/syntax/mindmap.md +++ b/packages/mermaid/src/docs/syntax/mindmap.md @@ -162,6 +162,25 @@ Root C ``` +## Markdown Strings + +The "Markdown Strings" feature enhances mind maps by offering a more versatile string type, which supports text formatting options such as bold and italics, and automatically wraps text within labels. + +```mermaid-example +mindmap + id1["`**Root** with +a second line +Unicode works too: 🤓`"] + id2["`The dog in **the** hog... a *very long text* that wraps to a new line`"] + id3[Regular labels still works] +``` + +Formatting: + +- For bold text, use double asterisks \*\* before and after the text. +- For italics, use single asterisks \* before and after the text. +- With traditional strings, you needed to add
tags for text to wrap in nodes. However, markdown strings automatically wrap text when it becomes too long and allows you to start a new line by simply using a newline character instead of a
tag. + ## Integrating with your library/website. Mindmap uses the experimental lazy loading & async rendering features which could change in the future. From version 9.4.0 this diagram is included in mermaid but use lazy loading in order to keep the size of mermaid down. This is important in order to be able to add additional diagrams going forward. From 815f4cab7343fb142631f6d84c27895ed8c539a2 Mon Sep 17 00:00:00 2001 From: Steph Date: Mon, 3 Apr 2023 10:48:59 -0700 Subject: [PATCH 12/21] add blog post --- docs/news/blog.md | 6 ++++++ packages/mermaid/src/docs/news/blog.md | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/docs/news/blog.md b/docs/news/blog.md index dc6f3f635..7c80b5481 100644 --- a/docs/news/blog.md +++ b/docs/news/blog.md @@ -6,6 +6,12 @@ # Blog +## [Automatic text wrapping in flowcharts is here!](https://wwww.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here) + +3 April 2023 · 3 mins + +Markdown Strings reduce the hassle # Starting from v10. + ## [Mermaid Chart officially launched with sharable diagram links and presentation mode](https://www.mermaidchart.com/blog/posts/mermaid-chart-officially-launched-with-sharable-diagram-links-and-presentation-mode/) 27 March 2023 · 2 mins diff --git a/packages/mermaid/src/docs/news/blog.md b/packages/mermaid/src/docs/news/blog.md index b835bbe35..aa2b3ea7b 100644 --- a/packages/mermaid/src/docs/news/blog.md +++ b/packages/mermaid/src/docs/news/blog.md @@ -1,5 +1,11 @@ # Blog +## [Automatic text wrapping in flowcharts is here!](https://wwww.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here) + +3 April 2023 · 3 mins + +Markdown Strings reduce the hassle # Starting from v10. + ## [Mermaid Chart officially launched with sharable diagram links and presentation mode](https://www.mermaidchart.com/blog/posts/mermaid-chart-officially-launched-with-sharable-diagram-links-and-presentation-mode/) 27 March 2023 · 2 mins From 2b9872d656cea6d083f518dd8c4bb5b5d5cdb055 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist Date: Tue, 4 Apr 2023 08:29:15 +0200 Subject: [PATCH 13/21] Some styling fixes for markdown strings --- cypress/platform/knsv2.html | 40 ++++++++++--------- packages/mermaid/package.json | 2 +- .../mermaid/src/diagrams/flowchart/styles.ts | 6 +-- 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 95f3c15bc..9c95c54c3 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -29,9 +29,9 @@ } .mermaid svg { /* font-size: 18px !important; */ - background-color: #eee; - background-image: radial-gradient(#fff 1%, transparent 11%), - radial-gradient(#fff 1%, transparent 11%); + background-color: #efefef; + background-image: radial-gradient(#fff 51%, transparent 91%), + radial-gradient(#fff 51%, transparent 91%); background-size: 20px 20px; background-position: 0 0, 10px 10px; background-repeat: repeat; @@ -58,20 +58,22 @@
-      %%{init: {"flowchart": {"htmlLabels": false}} }%%
-flowchart-elk LR
-b("`The dog in **the** hog(2)... a a a a *very long text* about it
-Word!
-Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. Another line with many, many words. `")
-
wrapped wraps to another line] + C["`A text that needs to be wrapped to another line`"]
+
+flowchart LR
+    C["`A text
+        that needs
+        to be wrapped
+        in another
+        way`"]
+  
 flowchart-elk LR
 b("The dog in the hog... a very
long text about it
Word!") -
-
-flowchart-elk LR
-b("The dog in the hog... a very
long text about it
Word!")
>
@@ -89,11 +91,11 @@ mindmap
     
 mindmap
-    id1["`**Root** with
-a second line
-Unicode works too: 🤓`"]
-      id2["`The dog in **the** hog... a *very long text* that wraps to a new line`"]
-      id3[Regular labels still works]
+    id1("`**Root**`"]
+      id2["`A formatted text... with **bold** and *italics*`"]
+      id3[Regular labels works as usual]
+      id4["`Emojis and unicode works too: 🤓
+      शान्तिः سلام  和平 `"]
 
     
@@ -293,7 +295,7 @@ mindmap
         // console.error('Mermaid error: ', err);
       };
       mermaid.initialize({
-        theme: 'forest',
+        // theme: 'forest',
         startOnLoad: true,
         logLevel: 0,
         flowchart: {
diff --git a/packages/mermaid/package.json b/packages/mermaid/package.json
index 82a641719..aba98aa22 100644
--- a/packages/mermaid/package.json
+++ b/packages/mermaid/package.json
@@ -1,6 +1,6 @@
 {
   "name": "mermaid",
-  "version": "10.0.2",
+  "version": "10.1.0-rc.1",
   "description": "Markdown-ish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",
   "type": "module",
   "module": "./dist/mermaid.core.mjs",
diff --git a/packages/mermaid/src/diagrams/flowchart/styles.ts b/packages/mermaid/src/diagrams/flowchart/styles.ts
index 86ffcb7ed..964505c2d 100644
--- a/packages/mermaid/src/diagrams/flowchart/styles.ts
+++ b/packages/mermaid/src/diagrams/flowchart/styles.ts
@@ -23,11 +23,11 @@ const getStyles = (options: FlowChartStyleOptions) =>
   .cluster-label text {
     fill: ${options.titleColor};
   }
-  .cluster-label span {
+  .cluster-label span,p {
     color: ${options.titleColor};
   }
 
-  .label text,span {
+  .label text,span,p {
     fill: ${options.nodeTextColor || options.textColor};
     color: ${options.nodeTextColor || options.textColor};
   }
@@ -92,7 +92,7 @@ const getStyles = (options: FlowChartStyleOptions) =>
     fill: ${options.titleColor};
   }
 
-  .cluster span {
+  .cluster span,p {
     color: ${options.titleColor};
   }
   /* .cluster div {

From 1841346ff6ad308a80893c629f76e78b50b7e59a Mon Sep 17 00:00:00 2001
From: Knut Sveidqvist 
Date: Tue, 4 Apr 2023 10:45:39 +0200
Subject: [PATCH 14/21] Fixing issues in mindmaps and class diagram notes after
 tests

---
 cypress/platform/knsv2.html                   | 24 +++++++++++++------
 packages/mermaid/src/dagre-wrapper/nodes.js   | 14 +++++++----
 .../src/diagrams/mindmap/mindmapRenderer.js   |  2 +-
 .../src/diagrams/mindmap/parser/mindmap.jison |  2 +-
 .../mermaid/src/diagrams/mindmap/svgDraw.js   |  3 ++-
 5 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
index 9c95c54c3..936d8423f 100644
--- a/cypress/platform/knsv2.html
+++ b/cypress/platform/knsv2.html
@@ -57,12 +57,12 @@
     
   
   
-    
+    
 flowchart LR
     A[A text that needs to be wrapped wraps to another line]
     B[A text that needs to be
wrapped wraps to another line] C["`A text that needs to be wrapped to another line`"]
-
+    
 flowchart LR
     C["`A text
         that needs
@@ -71,11 +71,21 @@ flowchart LR
         way`"]
   
-
-flowchart-elk LR
-b("The dog in the hog... a very
long text about it
Word!") -
+
+mindmap
+root
+  Child3(A node with an icon and with a long text that wraps to keep the node size in check)
+
+
+      %%{init: {"theme": "forest"} }%%
+mindmap
+    id1[**Start2**
end] + id2[**Start2**
end] + %% Another comment + id3[**Start2**
end] %% Comment + id4[**Start2**
end
the very end] +
 mindmap
     id1[`**Start2**
@@ -89,7 +99,7 @@ mindmap
       and another
       `]
     
-
+    
 mindmap
     id1("`**Root**`"]
       id2["`A formatted text... with **bold** and *italics*`"]
diff --git a/packages/mermaid/src/dagre-wrapper/nodes.js b/packages/mermaid/src/dagre-wrapper/nodes.js
index 3e71f500a..d5af81c1b 100644
--- a/packages/mermaid/src/dagre-wrapper/nodes.js
+++ b/packages/mermaid/src/dagre-wrapper/nodes.js
@@ -316,15 +316,19 @@ const rect = (parent, node) => {
   // add the rect
   const rect = shapeSvg.insert('rect', ':first-child');
 
-  const totalWidth = bbox.width + node.padding * 2;
-  const totalHeight = bbox.height + node.padding * 2;
+  // const totalWidth = bbox.width + node.padding * 2;
+  // const totalHeight = bbox.height + node.padding * 2;
+  const totalWidth = bbox.width + node.padding;
+  const totalHeight = bbox.height + node.padding;
   rect
     .attr('class', 'basic label-container')
     .attr('style', node.style)
     .attr('rx', node.rx)
     .attr('ry', node.ry)
-    .attr('x', -bbox.width / 2 - node.padding)
-    .attr('y', -bbox.height / 2 - node.padding)
+    // .attr('x', -bbox.width / 2 - node.padding)
+    // .attr('y', -bbox.height / 2 - node.padding)
+    .attr('x', -bbox.width / 2 - halfPadding)
+    .attr('y', -bbox.height / 2 - halfPadding)
     .attr('width', totalWidth)
     .attr('height', totalHeight);
 
@@ -351,7 +355,7 @@ const rect = (parent, node) => {
 const labelRect = (parent, node) => {
   const { shapeSvg } = labelHelper(parent, node, 'label', true);
 
-  log.info('Classes = ', node.classes);
+  log.trace('Classes = ', node.classes);
   // add the rect
   const rect = shapeSvg.insert('rect', ':first-child');
 
diff --git a/packages/mermaid/src/diagrams/mindmap/mindmapRenderer.js b/packages/mermaid/src/diagrams/mindmap/mindmapRenderer.js
index a2a4def59..86260e155 100644
--- a/packages/mermaid/src/diagrams/mindmap/mindmapRenderer.js
+++ b/packages/mermaid/src/diagrams/mindmap/mindmapRenderer.js
@@ -175,7 +175,7 @@ export const draw = async (text, id, version, diagObj) => {
   // Parse the graph definition
   diagObj.parser.parse(text);
 
-  log.debug('Renering mindmap diagram\n' + text, diagObj);
+  log.debug('Rendering mindmap diagram\n' + text, diagObj.parser);
 
   const securityLevel = getConfig().securityLevel;
   // Handle root and Document for when rendering in sandbox mode
diff --git a/packages/mermaid/src/diagrams/mindmap/parser/mindmap.jison b/packages/mermaid/src/diagrams/mindmap/parser/mindmap.jison
index 84a6191cf..9dd046a3d 100644
--- a/packages/mermaid/src/diagrams/mindmap/parser/mindmap.jison
+++ b/packages/mermaid/src/diagrams/mindmap/parser/mindmap.jison
@@ -18,7 +18,7 @@
 
 %%
 
-\s*\%\%.*          {yy.getLogger().trace('Found comment',yytext);}
+\s*\%\%.*          {yy.getLogger().trace('Found comment',yytext); return 'SPACELINE';}
 // \%\%[^\n]*\n                             /* skip comments */
 "mindmap"		       return 'MINDMAP';
 ":::"              { this.begin('CLASS'); }
diff --git a/packages/mermaid/src/diagrams/mindmap/svgDraw.js b/packages/mermaid/src/diagrams/mindmap/svgDraw.js
index 8b58c11a3..ab7dcc1e3 100644
--- a/packages/mermaid/src/diagrams/mindmap/svgDraw.js
+++ b/packages/mermaid/src/diagrams/mindmap/svgDraw.js
@@ -217,7 +217,8 @@ export const drawNode = function (elem, node, fullSection, conf) {
 
   // Create the wrapped text element
   const textElem = nodeElem.append('g');
-  const newEl = createText(textElem, node.descr, {
+  const description = node.descr.replace(/()/g, '\n');
+  const newEl = createText(textElem, description, {
     useHtmlLabels: htmlLabels,
     width: node.width,
     classes: 'mindmap-node-label',

From 1a56a18f9b0f8ec4bc95fa6cd4ac41e404bf1d98 Mon Sep 17 00:00:00 2001
From: Knut Sveidqvist 
Date: Tue, 4 Apr 2023 12:49:14 +0200
Subject: [PATCH 15/21] Fixing issues with centering of labels for subgraphs
 and handling of special characters in html strings

---
 cypress/platform/knsv2.html                   | 108 +++++++++++++++---
 .../mermaid/src/dagre-wrapper/clusters.js     |  19 ++-
 .../mermaid/src/dagre-wrapper/shapes/note.js  |   2 +-
 .../flowchart/elk/flowRenderer-elk.js         |   5 +-
 .../mermaid/src/rendering-util/createText.js  |  34 +++---
 .../rendering-util/handle-markdown-text.js    |   2 +
 6 files changed, 127 insertions(+), 43 deletions(-)

diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
index 936d8423f..5eaadffc4 100644
--- a/cypress/platform/knsv2.html
+++ b/cypress/platform/knsv2.html
@@ -57,6 +57,25 @@
     
   
   
+    
+flowchart RL
+    subgraph "`one`"
+      a1 -- l1 --> a2
+      a1 -- l2 --> a2
+    end
+    
+
+      %%{init: {"flowchart": {"htmlLabels":false}} }%%
+flowchart RL
+    subgraph "`one`"
+      a1 -- l1 --> a2
+      a1 -- l2 --> a2
+    end
+    
+
+flowchart
+id["`A root with a long text that wraps to keep the node size in check. A root with a long text that wraps to keep the node size in check`"]
 flowchart LR
     A[A text that needs to be wrapped wraps to another line]
@@ -71,13 +90,18 @@ flowchart LR
         way`"]
   
-
+    
+      classDiagram-v2
+        note "I love this diagram!\nDo you love it?"
+
+
 mindmap
 root
   Child3(A node with an icon and with a long text that wraps to keep the node size in check)
 
-
+    
       %%{init: {"theme": "forest"} }%%
 mindmap
     id1[**Start2**
end] @@ -88,16 +112,16 @@ mindmap
 mindmap
-    id1[`**Start2**
-    second line 😎 with long text that is wrapping to the next line`]
-      id2[`Child **with bold** text`]
-      id3[`Children of which some
-      is using *italic type of* text`]
+    id1["`**Start2**
+    second line 😎 with long text that is wrapping to the next line`"]
+      id2["`Child **with bold** text`"]
+      id3["`Children of which some
+      is using *italic type of* text`"]
       id4[Child]
-      id5[`Child
+      id5["`Child
       Row
       and another
-      `]
+      `"]
     
 mindmap
@@ -108,7 +132,7 @@ mindmap
       शान्तिः سلام  和平 `"]
 
     
-
+    
 %%{init: {"flowchart": {"defaultRenderer": "elk"}} }%%
 flowchart TB
   %% I could not figure out how to use double quotes in labels in Mermaid
@@ -124,7 +148,7 @@ flowchart TB
     rom --> core2
   end
 
-  subgraph amd[AMD Latte GPU]
+  subgraph amd["`**AMD** Latte GPU`"]
     mem[Memory & I/O Bridge]
     dram[DRAM Controller]
     edram[32 MB EDRAM MEM1]
@@ -163,8 +187,64 @@ flowchart TB
   rtc{{rtc}}
 
+
+%%{init: {"flowchart": {"defaultRenderer": "elk", "htmlLabels": false}} }%%
+flowchart TB
+  %% I could not figure out how to use double quotes in labels in Mermaid
+  subgraph ibm[IBM Espresso CPU]
+    core0[IBM PowerPC Broadway Core 0]
+    core1[IBM PowerPC Broadway Core 1]
+    core2[IBM PowerPC Broadway Core 2]
+
+    rom[16 KB ROM]
+
+    core0 --- core2
+
+    rom --> core2
+  end
+
+  subgraph amd["`**AMD** Latte GPU`"]
+    mem[Memory & I/O Bridge]
+    dram[DRAM Controller]
+    edram[32 MB EDRAM MEM1]
+    rom[512 B SEEPROM]
+
+    sata[SATA IF]
+    exi[EXI]
+
+    subgraph gx[GX]
+      sram[3 MB 1T-SRAM]
+    end
+
+    radeon[AMD Radeon R7xx GX2]
+
+    mem --- gx
+    mem --- radeon
+
+    rom --- mem
+
+    mem --- sata
+    mem --- exi
+
+    dram --- sata
+    dram --- exi
+  end
+
+  ddr3[2 GB DDR3 RAM MEM2]
+
+  mem --- ddr3
+  dram --- ddr3
+  edram --- ddr3
+
+  core1 --- mem
+
+  exi --- rtc
+  rtc{{rtc}}
+
+
-
+    
 flowchart TB
   %% I could not figure out how to use double quotes in labels in Mermaid
   subgraph ibm[IBM Espresso CPU]
@@ -220,7 +300,7 @@ flowchart TB
     >
     
  -
+    
       flowchart LR
   B1 --be be--x B2
   B1 --bo bo--o B3
@@ -311,7 +391,7 @@ mindmap
         flowchart: {
           // defaultRenderer: 'elk',
           useMaxWidth: false,
-          htmlLabels: false,
+          htmlLabels: true,
           // htmlLabels: true,
         },
         // htmlLabels: true,
diff --git a/packages/mermaid/src/dagre-wrapper/clusters.js b/packages/mermaid/src/dagre-wrapper/clusters.js
index 453fcb8f5..2b87b91a6 100644
--- a/packages/mermaid/src/dagre-wrapper/clusters.js
+++ b/packages/mermaid/src/dagre-wrapper/clusters.js
@@ -63,13 +63,20 @@ const rect = (parent, node) => {
     .attr('width', width)
     .attr('height', node.height + padding);
 
+  if (useHtmlLabels) {
+    label.attr(
+      'transform',
+      // This puts the labal on top of the box instead of inside it
+      'translate(' + (node.x - bbox.width / 2) + ', ' + (node.y - node.height / 2) + ')'
+    );
+  } else {
+    label.attr(
+      'transform',
+      // This puts the labal on top of the box instead of inside it
+      'translate(' + node.x + ', ' + (node.y - node.height / 2) + ')'
+    );
+  }
   // Center the label
-  label.attr(
-    'transform',
-    // This puts the labal on top of the box instead of inside it
-    // 'translate(' + (node.x - bbox.width / 2) + ', ' + (node.y - node.height / 2 - bbox.height) + ')'
-    'translate(' + node.x + ', ' + (node.y - node.height / 2) + ')'
-  );
 
   const rectBox = rect.node().getBBox();
   node.width = rectBox.width;
diff --git a/packages/mermaid/src/dagre-wrapper/shapes/note.js b/packages/mermaid/src/dagre-wrapper/shapes/note.js
index 6b693fdf6..c7ebb6c22 100644
--- a/packages/mermaid/src/dagre-wrapper/shapes/note.js
+++ b/packages/mermaid/src/dagre-wrapper/shapes/note.js
@@ -12,7 +12,7 @@ const note = (parent, node) => {
   rect
     .attr('rx', node.rx)
     .attr('ry', node.ry)
-    .attr('x', -bbox.width / 2 - halfPadding)
+    .attr('x', -halfPadding)
     .attr('y', -bbox.height / 2 - halfPadding)
     .attr('width', bbox.width + node.padding)
     .attr('height', bbox.height + node.padding);
diff --git a/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js b/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js
index 5849177b9..4748807d1 100644
--- a/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js
+++ b/packages/mermaid/src/diagrams/flowchart/elk/flowRenderer-elk.js
@@ -934,9 +934,12 @@ const drawNodes = (relX, relY, nodeArray, svg, subgraphsEl, diagObj, depth) => {
           .attr('width', node.width)
           .attr('height', node.height);
         const label = subgraphEl.insert('g').attr('class', 'label');
+        const labelCentering = getConfig().flowchart.htmlLabels ? node.labelData.width / 2 : 0;
         label.attr(
           'transform',
-          `translate(${node.labels[0].x + relX + node.x}, ${node.labels[0].y + relY + node.y})`
+          `translate(${node.labels[0].x + relX + node.x + labelCentering}, ${
+            node.labels[0].y + relY + node.y + 3
+          })`
         );
         label.node().appendChild(node.labelData.labelNode);
 
diff --git a/packages/mermaid/src/rendering-util/createText.js b/packages/mermaid/src/rendering-util/createText.js
index 1097cd0df..f20736f3a 100644
--- a/packages/mermaid/src/rendering-util/createText.js
+++ b/packages/mermaid/src/rendering-util/createText.js
@@ -152,26 +152,8 @@ function updateTextContentAndStyles(tspan, wrappedLine) {
       .attr('font-style', word.type === 'em' ? 'italic' : 'normal')
       .attr('class', 'text-inner-tspan')
       .attr('font-weight', word.type === 'strong' ? 'bold' : 'normal');
-    const special = [
-      '<',
-      '>',
-      '&',
-      '"',
-      "'",
-      '.',
-      ',',
-      ':',
-      ';',
-      '!',
-      '?',
-      '(',
-      ')',
-      '[',
-      ']',
-      '{',
-      '}',
-    ];
-    if (index !== 0 && special.includes(word.content)) {
+    const special = ['"', "'", '.', ',', ':', ';', '!', '?', '(', ')', '[', ']', '{', '}'];
+    if (index === 0) {
       innerTspan.text(word.content);
     } else {
       innerTspan.text(' ' + word.content);
@@ -225,7 +207,17 @@ export const createText = (
     return vertexNode;
   } else {
     const structuredText = markdownToLines(text);
-
+    const special = ['"', "'", '.', ',', ':', ';', '!', '?', '(', ')', '[', ']', '{', '}'];
+    let lastWord;
+    structuredText.forEach((line) => {
+      line.forEach((word) => {
+        if (special.includes(word.content) && lastWord) {
+          lastWord.content += word.content;
+          word.content = '';
+        }
+        lastWord = word;
+      });
+    });
     const svgLabel = createFormattedText(width, el, structuredText, addSvgBackground);
     return svgLabel;
   }
diff --git a/packages/mermaid/src/rendering-util/handle-markdown-text.js b/packages/mermaid/src/rendering-util/handle-markdown-text.js
index cd79623fe..93704b2fe 100644
--- a/packages/mermaid/src/rendering-util/handle-markdown-text.js
+++ b/packages/mermaid/src/rendering-util/handle-markdown-text.js
@@ -38,6 +38,8 @@ export function markdownToLines(markdown) {
           currentLine++;
           lines.push([]);
         }
+
+        // textLine.split(/ (?=[^!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]+)/).forEach((word) => {
         textLine.split(' ').forEach((word) => {
           if (word) {
             lines[currentLine].push({ content: word, type: parentType || 'normal' });

From fc1962c795025748724f76b7f216015ab7fde089 Mon Sep 17 00:00:00 2001
From: Knut Sveidqvist 
Date: Tue, 4 Apr 2023 14:36:05 +0200
Subject: [PATCH 16/21] Version set 10.1.0 and fix for label centering

---
 cypress/platform/knsv2.html                   | 33 ++++++++++++++-----
 .../mermaid/src/dagre-wrapper/shapes/note.js  |  7 +++-
 .../mermaid/src/dagre-wrapper/shapes/util.js  |  8 +++--
 .../src/diagrams/state/stateRenderer-v2.js    |  4 +++
 4 files changed, 40 insertions(+), 12 deletions(-)

diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
index 5eaadffc4..49fe075c3 100644
--- a/cypress/platform/knsv2.html
+++ b/cypress/platform/knsv2.html
@@ -58,6 +58,15 @@
   
   
     
+stateDiagram-v2
+    [*] --> Still
+    Still --> [*]
+    Still --> Moving
+    Moving --> Still
+    Moving --> Crash
+    Crash --> [*]    
+
 flowchart RL
     subgraph "`one`"
       a1 -- l1 --> a2
@@ -65,14 +74,13 @@ flowchart RL
     end
     
-      %%{init: {"flowchart": {"htmlLabels":false}} }%%
 flowchart RL
     subgraph "`one`"
       a1 -- l1 --> a2
       a1 -- l2 --> a2
     end
     
-
+    
 flowchart
 id["`A root with a long text that wraps to keep the node size in check. A root with a long text that wraps to keep the node size in check`"]
@@ -90,10 +98,17 @@ flowchart LR way`"]
-
+    
       classDiagram-v2
         note "I love this diagram!\nDo you love it?"
-
+
+    stateDiagram-v2
+    State1: The state with a note with minus - and plus + in it
+    note left of State1
+      Important information! You can write
+      notes with . and  in them.
+    end note    
 mindmap
@@ -187,7 +202,7 @@ flowchart TB
   rtc{{rtc}}
 
-
+    
 %%{init: {"flowchart": {"defaultRenderer": "elk", "htmlLabels": false}} }%%
 flowchart TB
   %% I could not figure out how to use double quotes in labels in Mermaid
@@ -244,7 +259,7 @@ flowchart TB
     >
 
     
-
+    
 flowchart TB
   %% I could not figure out how to use double quotes in labels in Mermaid
   subgraph ibm[IBM Espresso CPU]
@@ -300,7 +315,7 @@ flowchart TB
     >
     
  -
+    
       flowchart LR
   B1 --be be--x B2
   B1 --bo bo--o B3
@@ -391,10 +406,10 @@ mindmap
         flowchart: {
           // defaultRenderer: 'elk',
           useMaxWidth: false,
+          // htmlLabels: false,
           htmlLabels: true,
-          // htmlLabels: true,
         },
-        // htmlLabels: true,
+        // htmlLabels: false,
         gantt: {
           useMaxWidth: false,
         },
diff --git a/packages/mermaid/src/dagre-wrapper/shapes/note.js b/packages/mermaid/src/dagre-wrapper/shapes/note.js
index c7ebb6c22..a39450d54 100644
--- a/packages/mermaid/src/dagre-wrapper/shapes/note.js
+++ b/packages/mermaid/src/dagre-wrapper/shapes/note.js
@@ -1,8 +1,13 @@
 import { updateNodeBounds, labelHelper } from './util';
 import { log } from '../../logger';
+import { getConfig } from '../../config';
 import intersect from '../intersect/index.js';
 
 const note = (parent, node) => {
+  const useHtmlLabels = node.useHtmlLabels || getConfig().flowchart.htmlLabels;
+  if (!useHtmlLabels) {
+    node.centerLabel = true;
+  }
   const { shapeSvg, bbox, halfPadding } = labelHelper(parent, node, 'node ' + node.classes, true);
 
   log.info('Classes = ', node.classes);
@@ -12,7 +17,7 @@ const note = (parent, node) => {
   rect
     .attr('rx', node.rx)
     .attr('ry', node.ry)
-    .attr('x', -halfPadding)
+    .attr('x', -bbox.width / 2 - halfPadding)
     .attr('y', -bbox.height / 2 - halfPadding)
     .attr('width', bbox.width + node.padding)
     .attr('height', bbox.height + node.padding);
diff --git a/packages/mermaid/src/dagre-wrapper/shapes/util.js b/packages/mermaid/src/dagre-wrapper/shapes/util.js
index b5de2bd6b..1eeeebb72 100644
--- a/packages/mermaid/src/dagre-wrapper/shapes/util.js
+++ b/packages/mermaid/src/dagre-wrapper/shapes/util.js
@@ -6,6 +6,7 @@ import { select } from 'd3';
 import { evaluate, sanitizeText } from '../../diagrams/common/common';
 export const labelHelper = (parent, node, _classes, isNode) => {
   let classes;
+  const useHtmlLabels = node.useHtmlLabels || evaluate(getConfig().flowchart.htmlLabels);
   if (!_classes) {
     classes = 'node default';
   } else {
@@ -33,7 +34,7 @@ export const labelHelper = (parent, node, _classes, isNode) => {
   if (node.labelType === 'markdown') {
     // text = textNode;
     text = createText(label, sanitizeText(decodeEntities(labelText), getConfig()), {
-      useHtmlLabels: getConfig().flowchart.htmlLabels,
+      useHtmlLabels,
       width: node.width || getConfig().flowchart.wrappingWidth,
       classes: 'markdown-node-label',
     });
@@ -62,11 +63,14 @@ export const labelHelper = (parent, node, _classes, isNode) => {
   const halfPadding = node.padding / 2;
 
   // Center the label
-  if (getConfig().flowchart.htmlLabels) {
+  if (useHtmlLabels) {
     label.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')');
   } else {
     label.attr('transform', 'translate(' + 0 + ', ' + -bbox.height / 2 + ')');
   }
+  if (node.centerLabel) {
+    label.attr('transform', 'translate(' + -bbox.width / 2 + ', ' + -bbox.height / 2 + ')');
+  }
   label.insert('rect', ':first-child');
   return { shapeSvg, bbox, halfPadding, label };
 };
diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v2.js b/packages/mermaid/src/diagrams/state/stateRenderer-v2.js
index 8629f74db..c2b1a9b6d 100644
--- a/packages/mermaid/src/diagrams/state/stateRenderer-v2.js
+++ b/packages/mermaid/src/diagrams/state/stateRenderer-v2.js
@@ -232,6 +232,9 @@ const setupNode = (g, parent, parsedItem, diagramStates, diagramDb, altFlag) =>
       type: newNode.type,
       padding: 15, //getConfig().flowchart.padding
     };
+    // if (useHtmlLabels) {
+    nodeData.centerLabel = true;
+    // }
 
     if (parsedItem.note) {
       // Todo: set random id
@@ -240,6 +243,7 @@ const setupNode = (g, parent, parsedItem, diagramStates, diagramDb, altFlag) =>
         shape: SHAPE_NOTE,
         labelText: parsedItem.note.text,
         classes: CSS_DIAGRAM_NOTE,
+        // useHtmlLabels: false,
         style: '', // styles.style,
         id: itemId + NOTE_ID + '-' + graphItemCount,
         domId: stateDomId(itemId, graphItemCount, NOTE),

From 75adb8ae9007d18c1afe7904cd9990e2bf358831 Mon Sep 17 00:00:00 2001
From: Knut Sveidqvist 
Date: Tue, 4 Apr 2023 14:38:09 +0200
Subject: [PATCH 17/21] Updated package.json

---
 package.json                  | 2 +-
 packages/mermaid/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package.json b/package.json
index ca642e890..92b979d75 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "mermaid-monorepo",
   "private": true,
-  "version": "10.0.2",
+  "version": "10.1.0",
   "description": "Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",
   "type": "module",
   "packageManager": "pnpm@7.30.1",
diff --git a/packages/mermaid/package.json b/packages/mermaid/package.json
index aba98aa22..02edc874b 100644
--- a/packages/mermaid/package.json
+++ b/packages/mermaid/package.json
@@ -1,6 +1,6 @@
 {
   "name": "mermaid",
-  "version": "10.1.0-rc.1",
+  "version": "10.1.0",
   "description": "Markdown-ish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.",
   "type": "module",
   "module": "./dist/mermaid.core.mjs",

From 80df10067df73c8ccc9dbba7ad3180aa7a30c89a Mon Sep 17 00:00:00 2001
From: Knut Sveidqvist 
Date: Tue, 4 Apr 2023 15:39:23 +0200
Subject: [PATCH 18/21] Adding Mermaid Strings to news

---
 docs/news/announcements.md                      | 6 +++++-
 docs/news/blog.md                               | 6 ------
 packages/mermaid/src/docs/news/announcements.md | 6 +++++-
 packages/mermaid/src/docs/news/blog.md          | 6 ------
 4 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/docs/news/announcements.md b/docs/news/announcements.md
index 90b3b3556..7cc5d1d06 100644
--- a/docs/news/announcements.md
+++ b/docs/news/announcements.md
@@ -6,4 +6,8 @@
 
 # Announcements
 
-Stay tuned for some exciting announcements!
+## [Automatic text wrapping in flowcharts is here!](https://wwww.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here)
+
+3 April 2023 · 3 mins
+
+Markdown Strings reduce the hassle # Starting from v10.
diff --git a/docs/news/blog.md b/docs/news/blog.md
index 7c80b5481..dc6f3f635 100644
--- a/docs/news/blog.md
+++ b/docs/news/blog.md
@@ -6,12 +6,6 @@
 
 # Blog
 
-## [Automatic text wrapping in flowcharts is here!](https://wwww.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here)
-
-3 April 2023 · 3 mins
-
-Markdown Strings reduce the hassle # Starting from v10.
-
 ## [Mermaid Chart officially launched with sharable diagram links and presentation mode](https://www.mermaidchart.com/blog/posts/mermaid-chart-officially-launched-with-sharable-diagram-links-and-presentation-mode/)
 
 27 March 2023 · 2 mins
diff --git a/packages/mermaid/src/docs/news/announcements.md b/packages/mermaid/src/docs/news/announcements.md
index c6b6de570..1b1e9b78d 100644
--- a/packages/mermaid/src/docs/news/announcements.md
+++ b/packages/mermaid/src/docs/news/announcements.md
@@ -1,3 +1,7 @@
 # Announcements
 
-Stay tuned for some exciting announcements!
+## [Automatic text wrapping in flowcharts is here!](https://wwww.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here)
+
+3 April 2023 · 3 mins
+
+Markdown Strings reduce the hassle # Starting from v10.
diff --git a/packages/mermaid/src/docs/news/blog.md b/packages/mermaid/src/docs/news/blog.md
index aa2b3ea7b..b835bbe35 100644
--- a/packages/mermaid/src/docs/news/blog.md
+++ b/packages/mermaid/src/docs/news/blog.md
@@ -1,11 +1,5 @@
 # Blog
 
-## [Automatic text wrapping in flowcharts is here!](https://wwww.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here)
-
-3 April 2023 · 3 mins
-
-Markdown Strings reduce the hassle # Starting from v10.
-
 ## [Mermaid Chart officially launched with sharable diagram links and presentation mode](https://www.mermaidchart.com/blog/posts/mermaid-chart-officially-launched-with-sharable-diagram-links-and-presentation-mode/)
 
 27 March 2023 · 2 mins

From 756fc06c5d0321cb6a5557f5400f43b9e84b824d Mon Sep 17 00:00:00 2001
From: Knut Sveidqvist 
Date: Tue, 4 Apr 2023 15:43:33 +0200
Subject: [PATCH 19/21] 2w is anough, 4 is just too much

---
 docs/news/announcements.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/news/announcements.md b/docs/news/announcements.md
index 7cc5d1d06..112bde52c 100644
--- a/docs/news/announcements.md
+++ b/docs/news/announcements.md
@@ -6,7 +6,7 @@
 
 # Announcements
 
-## [Automatic text wrapping in flowcharts is here!](https://wwww.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here)
+## [Automatic text wrapping in flowcharts is here!](https://www.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here)
 
 3 April 2023 · 3 mins
 

From e96c8306d17144de94737a7d5481e4da6d71a568 Mon Sep 17 00:00:00 2001
From: knsv 
Date: Tue, 4 Apr 2023 13:46:55 +0000
Subject: [PATCH 20/21] Update docs

---
 docs/news/announcements.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/news/announcements.md b/docs/news/announcements.md
index 112bde52c..7cc5d1d06 100644
--- a/docs/news/announcements.md
+++ b/docs/news/announcements.md
@@ -6,7 +6,7 @@
 
 # Announcements
 
-## [Automatic text wrapping in flowcharts is here!](https://www.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here)
+## [Automatic text wrapping in flowcharts is here!](https://wwww.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here)
 
 3 April 2023 · 3 mins
 

From 8e6d16e6016c9c4709b5d1eaf1b5f7f45f88f2d7 Mon Sep 17 00:00:00 2001
From: Knut Sveidqvist 
Date: Tue, 4 Apr 2023 15:53:53 +0200
Subject: [PATCH 21/21] Update docs

---
 docs/news/announcements.md                      | 2 +-
 packages/mermaid/src/docs/news/announcements.md | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/news/announcements.md b/docs/news/announcements.md
index 7cc5d1d06..112bde52c 100644
--- a/docs/news/announcements.md
+++ b/docs/news/announcements.md
@@ -6,7 +6,7 @@
 
 # Announcements
 
-## [Automatic text wrapping in flowcharts is here!](https://wwww.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here)
+## [Automatic text wrapping in flowcharts is here!](https://www.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here)
 
 3 April 2023 · 3 mins
 
diff --git a/packages/mermaid/src/docs/news/announcements.md b/packages/mermaid/src/docs/news/announcements.md
index 1b1e9b78d..4dd07bf3b 100644
--- a/packages/mermaid/src/docs/news/announcements.md
+++ b/packages/mermaid/src/docs/news/announcements.md
@@ -1,6 +1,6 @@
 # Announcements
 
-## [Automatic text wrapping in flowcharts is here!](https://wwww.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here)
+## [Automatic text wrapping in flowcharts is here!](https://www.mermaidchart.com/blog/posts/automatic-text-wrapping-in-flowcharts-is-here)
 
 3 April 2023 · 3 mins