diff --git a/README.md b/README.md index 791ac115c4..781cee7e15 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,26 @@ + +| :mega: :mega: :mega: | +| :----: | +| * If you're upgrading from a version __< v8.2.0__, there are [non-backward-compatible changes](http://mermaid-js.github.io/mermaid/#/usage?id=to-enable-click-event-and-tags-in-nodes) related to security issues. Default behaviour of the library might have changed for your implementation.| + -# Mermaid +# 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) [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/Mermaid/mermaid) -[![Build Status](https://travis-ci.org/mermaid-js/mermaid.svg?branch=master)](https://travis-ci.org/mermaid-js/mermaid) -[![Coverage Status](https://coveralls.io/repos/github/knsv/mermaid/badge.svg?branch=master)](https://coveralls.io/github/knsv/mermaid?branch=master) -[![Join the chat at https://gitter.im/knsv/mermaid](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/knsv/mermaid?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +__mermaid is a Javascript based diagramming and charting tool. It generates diagrams flowcharts and more, using markdown-inspired text for ease and speed.__ -![banner](./img/header.png) -# What is mermaid? +Check out the list of [Integrations and Usages of Mermaid](https://github.com/mermaid-js/mermaid/blob/develop/docs/integrations.md) -It is a simple markdown-inspired, script language for diagramming and charting that can be deployed via Javascipt. +For more information and help in getting started, please view our [documentation](http://mermaid-js.github.io/mermaid/) and start simplifying yours. Alternatively, you can also play with our [live editor](https://mermaidjs.github.io/mermaid-live-editor/). + -The reasoning behind it's inception was a need for simplified documentation and frustration with heavy and time consuming tools for explaining code, like Visio. - -Thus mermaid was created to make the process of diagramming and charting, as simple and as close to markdown, as possible. - -Check out the list of [Integrations and Usages of Mermaid](./integrations.md) -For the uninitiated, you can also try out our [live editor](https://mermaid-js.github.io/mermaid-live-editor/) and look at our [documentation](https://mermaid-js.github.io/mermaid/#/n00b-overview) for a deeper understanding of the tool itself, more importantly don't forget to have fun. - -**Mermaid was nominated and won the JS Open Source Awards (2019) in the category "The most exciting use of technology"!!! Thanks to all involved, people committing pull requests, people answering questions and special thanks to Tyler Long who is helping me maintain the project.** +:trophy: **Mermaid was nominated and won the [JS Open Source Awards (2019)](https://osawards.com/javascript/#nominees) in the category "The most exciting use of technology"!!! Thanks to all involved, people committing pull requests, people answering questions and special thanks to Tyler Long who is helping me maintain the project.** ## New diagrams in 8.4 With version 8.4 class diagrams have got some new features, bug fixes and documentation. Another new feature in 8.4 is the new diagram type, state diagrams. -![Image show the two new diagram types](./img/new-diagrams.png) +![Image show the two new diagram types](.docs/img/new-diagrams.png) ## Special note regarding version 8.2 @@ -44,64 +41,82 @@ mermaidAPI.initialize({ }); ``` -**🖖 Keep a steady pulse: mermaid needs more Collaborators [#866](https://github.com/k3nsv/mermaid/issues/866)** - -## The following are examples of Diagrams that mermaid can make: - -### Flowchart - -``` -graph TD; - A-->B; - A-->C; - B-->D; - C-->D; -``` - -![Flowchart](./img/flow.png) - -### Sequence diagram - -``` +For more information and help in getting started, please view our [documentation](http://mermaid-js.github.io/mermaid/) and start simplifying yours. Play with our [live editor](https://mermaidjs.github.io/mermaid-live-editor/) or jump straight to the [installation and usage](http://mermaid-js.github.io/mermaid/#/usage). + + +__The following are some examples of the diagrams, charts and graphs that can be made using mermaid and the Markdown-inspired text specific to it. Click here jump into the [text syntax](https://mermaid-js.github.io/mermaid/#/n00b-syntaxReference).__ +
+ Flow + [docs - live editor] + | |
+graph TD +A[Hard] -->|Text| B(Round) +B --> C{Decision} +C -->|One| D[Result 1] +C -->|Two| E[Result 2] + |
+ + + | +
+ Sequence + [docs - live editor] + | |
sequenceDiagram - participant Alice - participant Bob - Alice->>John: Hello John, how are you? - loop Healthcheck - John->>John: Fight against hypochondria - end - Note right of John: Rational thoughts |
+ + + | +
+ Gantt + [docs - live editor] + | |
gantt -dateFormat YYYY-MM-DD -title Adding GANTT diagram to mermaid -excludes weekdays 2014-01-10 -section A section -Completed task :done, des1, 2014-01-06,2014-01-08 -Active task :active, des2, 2014-01-09, 3d -Future task : des3, after des2, 5d -Future task2 : des4, after des3, 5d -``` - -![Gantt diagram](./img/gantt.png) - -### Class diagram - :exclamation: experimental - -``` +section Section +Completed :done, des1, 2014-01-06,2014-01-08 +Active :active, des2, 2014-01-07, 3d +Parallel 1 : des3, after des1, 1d +Parallel 2 : des4, after des1, 1d +Parallel 3 : des5, after des3, 1d +Parallel 4 : des6, after des4, 1d + |
+ + + | +
+ Class + [docs - live editor] + | |
classDiagram -Class01 <|-- AveryLongClass : Cool -Class03 *-- Class04 -Class05 o-- Class06 -Class07 .. Class08 +Class01 <|-- AveryLongClass : Cool +<<interface>> Class01 Class09 --> C2 : Where am i? Class09 --* C3 Class09 --|> Class07 @@ -110,129 +125,84 @@ Class07 : Object[] elementData Class01 : size() Class01 : int chimp Class01 : int gorilla -Class08 <--> C2: Cool label -``` - -![Class diagram](./img/class.png) - -### Git graph - :exclamation: experimental - -``` -gitGraph: -options -{ - "nodeSpacing": 150, - "nodeRadius": 10 +class Class10 { + <<service>> + int id + size() } -end -commit -branch newbranch -checkout newbranch -commit -commit -checkout master -commit -commit -merge newbranch -``` - -![Git graph](./img/git.png) - -## Installation - -### CDN - -``` -https://unpkg.com/mermaid@ |
+ + + | +
+ State + [docs - live editor] + | |
+stateDiagram +[*] --> Still +Still --> [*] +Still --> Moving +Moving --> Still +Moving --> Crash +Crash --> [*] + |
+ + + | +
+ Pie + [docs - live editor] + | |
+pie +"Dogs" : 386 +"Cats" : 85 +"Rats" : 15 + |
+ + + | +
+ Git + [experimental - live editor] + | |
Coming soon! | +