Compare commits

..

1894 Commits

Author SHA1 Message Date
Knut Sveidqvist
0ac48a431a Merge pull request #1409 from mermaid-js/1408_mermaid_on_diet
1408 mermaid on diet
2020-05-13 19:32:56 +02:00
Knut Sveidqvist
7b15fefcaa #1408 Mocking new module in tests 2020-05-13 19:21:53 +02:00
Knut Sveidqvist
6d076284e8 #1408 Removing crypto-random-string and he 2020-05-13 19:14:18 +02:00
Knut Sveidqvist
d7d248fd04 Merge pull request #1388 from mermaid-js/1386_finetuning_rendering_engine
1386 finetuning rendering engine
2020-05-13 17:36:12 +02:00
Knut Sveidqvist
a636aa592b Merge pull request #1392 from hikerpig/feature/remove-lodash
Replace lodash with specific implementations
2020-05-13 17:34:37 +02:00
Knut Sveidqvist
1fc6603f41 Merge branch 'develop' into feature/remove-lodash 2020-05-13 17:34:26 +02:00
Knut Sveidqvist
d36a233cbf Merge pull request #1400 from markotibold/patch-1
Fix a typo; d is close to s.
2020-05-13 17:32:32 +02:00
Knut Sveidqvist
2a11f42318 Merge pull request #1401 from spopida/feature/1390_avoid_wildcard_d3_imports
Do explicit imports for d3 instead of wildcards
2020-05-13 17:31:10 +02:00
GDFaber
e23383be41 Merge pull request #1407 from zakhenry/patch-1
docs(classDiagram): typo
2020-05-13 16:46:21 +02:00
Zak Henry
36a47febc2 docs(classDiagram): typo 2020-05-13 14:57:51 +01:00
Adrian Hall
053a86c0d4 Do explicit imports for d3 instead of wildcards 2020-05-11 07:10:04 +01:00
Marko Tibold
3ded1b6c6e Fix a typo; d is close to s. 2020-05-11 07:53:47 +02:00
hikerpig
28ea68fe7f Replace lodash with specific implementations, #1389 2020-05-07 21:35:34 +08:00
Knut Sveidqvist
6203c27244 #1386 Updated docs 2020-05-06 18:58:26 +02:00
Knut Sveidqvist
57fb800c77 Merge branch 'develop' into 1386_finetuning_rendering_engine 2020-05-06 18:51:55 +02:00
Knut Sveidqvist
9a3ec31191 #1386 Adding support for click events and links 2020-05-06 18:51:12 +02:00
Knut Sveidqvist
8ef3aee7e7 Merge pull request #1384 from mapio/patch-1
Updated the mkdocs-mermaid-plugin link
2020-05-06 17:40:10 +02:00
Knut Sveidqvist
a20e6086cc #1386 Adding subroutine support for new rendering engine 2020-05-03 21:52:44 +02:00
Knut Sveidqvist
66fa8a7595 Merge branch 'develop' into 1386_finetuning_rendering_engine 2020-05-03 13:31:46 +02:00
Knut Sveidqvist
a8f9e3f0b0 #1386 Adding some docs and adjusted sizing for state diagrams 2020-05-03 13:31:09 +02:00
Massimo Santini
215905213b Updated the mkdocs-mermaid-plugin link
It appears that https://github.com/sebastienwarin/mkdocs-mermaid-plugin has been more recently updated and is more feature rich (allowing for options to override the mermaid rendering defaults).
2020-05-02 02:15:47 +02:00
Knut Sveidqvist
f8865c1413 Merge pull request #1383 from mermaid-js/1382_hiearchy_fix
#1382 Fix for lost parentage for nodes in deep structure
2020-05-01 19:32:37 +02:00
Knut Sveidqvist
67aed51742 #1382 Fix for lost parentage for nodes in deep structure 2020-05-01 19:18:07 +02:00
Knut Sveidqvist
2be2b10e59 #1334 Adding docs for user journey to side nav 2020-05-01 16:04:44 +02:00
Knut Sveidqvist
ed5e194b8e Merge branch 'master' into develop 2020-05-01 15:58:52 +02:00
Knut Sveidqvist
a6b4cb24b8 Tmo disabling of coveralls 2020-05-01 15:16:39 +02:00
Knut Sveidqvist
4276fc0b0b Merge pull request #1379 from spopida/bug/1362_NaN_rendering_ERD
Change ERD fontSize config to an integer to prevent NaN errors
2020-05-01 15:14:33 +02:00
Knut Sveidqvist
0d10957441 Merge pull request #1374 from russellgeraghty/feature/docs-fixes
Feature/docs fixes
2020-05-01 15:12:13 +02:00
Knut Sveidqvist
368720538c Merge branch 'develop' of github.com:mermaid-js/mermaid into develop 2020-05-01 15:10:50 +02:00
Adrian Hall
d068a460bd Change ERD fontSize config to an integer to prevent NaN errors 2020-04-30 15:55:14 +01:00
Russell Geraghty
346ff199c6 Updated doc link 2020-04-28 08:45:41 +01:00
Russell Geraghty
480a4a9d38 Match title to example 2020-04-28 08:42:43 +01:00
Russell Geraghty
77cfd0e1a6 Colours 2020-04-28 08:40:48 +01:00
Russell Geraghty
950af2e753 Tidy up documentation, correct rendering in test 2020-04-28 08:28:16 +01:00
Knut Sveidqvist
aa2845a730 Merge pull request #1373 from phschaer/patch-1
expanded documentation on date formats for gantt
2020-04-27 19:51:13 +02:00
Knut Sveidqvist
aedf066337 Disabling coveralls temporarilly 2020-04-27 19:50:49 +02:00
Philipp Schaer
b975cf3ed4 fixed typo in code block 2020-04-27 17:29:22 +02:00
Philipp Schaer
f2af5ce7eb updated documentation on date formatting for gantt
Rearragend the existing information and added new context information on the date formating process for Gantt charts. The former documentation was not clear on the difference between input and output formatting.
2020-04-27 17:27:03 +02:00
Knut Sveidqvist
fa612b731c Renaming some tests to diffrentiate the old implementation from the impl via the new rendering engine 2020-04-26 17:48:07 +02:00
Knut Sveidqvist
0933268e61 Merge pull request #1371 from jgreywolf/1234-RefactorClassDiagramScaling
1234 refactor class diagram scaling
2020-04-26 17:23:14 +02:00
Knut Sveidqvist
3aa5fc0cc2 Merge pull request #1365 from dany74q/feature/sequence-diagrams-improvements
Feature/sequence diagrams improvements
2020-04-26 17:21:55 +02:00
Knut Sveidqvist
397f57accb Merge pull request #1334 from russellgeraghty/feature/user-journey
Feature/user journey
2020-04-26 17:17:33 +02:00
Knut Sveidqvist
e3b1944e31 Merge pull request #1370 from mermaid-js/feature/1295_generic_rendering_engine
Feature/1295 generic rendering engine
2020-04-26 16:55:11 +02:00
Knut Sveidqvist
507582f40b #1295 Bugfix for descriptions 2020-04-26 16:01:17 +02:00
Justin Greywolf
08e015a951 1234-RefactorDiagramScaling
Changed implementation to ensure that viewport is aligned correctly, rather than increasing size
2020-04-26 06:10:18 -07:00
Justin Greywolf
ef17f4eacb 1274-adjust diagram viewbox 2020-04-26 05:51:03 -07:00
Justin Greywolf
3d185dc622 Merge pull request #20 from mermaid-js/develop
ll
2020-04-26 05:38:45 -07:00
Knut Sveidqvist
76b4b88e4b #1295 Alternating graph directions for subgraphs 2020-04-26 12:57:45 +02:00
Knut Sveidqvist
fd37edc53f #1295 Adding support for forks and joins 2020-04-26 10:07:25 +02:00
Knut Sveidqvist
5662c06a33 #1295 Adding support for multiline descriptions for states 2020-04-26 09:47:47 +02:00
Knut Sveidqvist
0aede618ec #1295 Adding support for multiline descriptions for states 2020-04-25 17:01:20 +02:00
Knut Sveidqvist
e52d4ce033 #1295 Removing invalid title for concurrency clusters 2020-04-25 14:18:23 +02:00
Knut Sveidqvist
b646672d3e #1295 Fix for statediagram labels 2020-04-25 14:12:35 +02:00
Knut Sveidqvist
a1a7d44fd7 #1295 for Multi line labels separated with \n 2020-04-25 14:12:04 +02:00
Knut Sveidqvist
25ea221a6a #1295 Rendering tests for stateDiagram v2 2020-04-25 14:11:05 +02:00
Danny Shemesh
38ee4f556e Added (& pretty-printed) sequence diagram docs
This commit adds documentation to new config variables that were
introduced as part of this PR, namely, the font settings for actors,
messages and notes.

I've also linted the markdown document.
2020-04-23 18:39:23 +03:00
Danny Shemesh
862f20ef20 Added cypress e2e tests for suggested improvements
This commits adds e2e tests for the suggested improvements.
I've went over the generated screenshots and they look good to me.
2020-04-23 18:31:22 +03:00
Danny Shemesh
5c902001b9 Merge branch 'develop' of github.com:mermaid-js/mermaid into develop 2020-04-23 17:08:25 +03:00
Danny Shemesh
5f6887b316 Sequence diagram fixes & improvements
This commit fixes some bugs, and I believe, improves upon the current
implementation.

In no particular order, it adds:

1. Control over note font size, family and alignment (now defaults to
center)
2. Dynamic actor resizing - actor's width will now scale if its
description is bigger than the static configured width
3. Dynamic actor margins - the margin between actors will now be
dynamically calculated by taking into account the width of connecting
messages or notes
4. Fixed a small visual annoyance where a loop arrow would intersect
with the text it loops on
5. Fixed a bug where if global config -> fontFamily wasn't defined, it
would override the actorFontFamily with an undefined
6. Removed some stale / commented out code
7. Added missing config variables to the global config object in mermaidAPI.js
8. Added messageFontSize, messageFontFamily to control message (non-note)
font settings
9. Memoized the actor widths in a pre-calculation that takes notes and
signals lengths into account
10. Removed redundant console.log lines
11. Extracted out actor width & margin calculation to getMaxMessageWidthPerActor, and
calculateActorMargins
2020-04-23 16:50:00 +03:00
Knut Sveidqvist
45b96bd568 Merge pull request #1364 from dany74q/feature/extract-line-break-regex
Feature/Extracted out the commonly used line break regex
2020-04-23 07:13:57 +02:00
Danny Shemesh
197d006860 Extracted out the commonly used line break regex
This commit extract the commonly used /br\s*\/?>/gi regex to common.js,
in order to keep the code more DRY.
2020-04-23 07:55:28 +03:00
Danny Shemesh
49f8aac6a9 Fixed outdated doc strings
This commit fixes some outdated docstrings, replacing the description
and @params where necessary.
2020-04-23 07:55:09 +03:00
Danny Shemesh
22dd50a047 Extracted out the commonly used line break regex
This commit extract the commonly used /br\s*\/?>/gi regex to common.js,
in order to keep the code more DRY.
2020-04-23 07:20:47 +03:00
Knut Sveidqvist
81d9b5afd6 #1295 Linting 2020-04-22 20:05:36 +02:00
Knut Sveidqvist
59f3d2a11e #1295 Fix for edges in subgraphs and handling of concurrent states in statediagram-v2 2020-04-22 20:03:41 +02:00
Adrian Hall
134a170a61 Update docs to include ER diagram descriptions 2020-04-17 14:24:44 +01:00
Adrian Hall
681f006ae1 Tiny tweaks to docs for ER diagram 2020-04-17 14:24:44 +01:00
Adrian Hall
36abfcc79b Escape the pipes in the syntax table 2020-04-17 14:24:44 +01:00
Russell Geraghty
249a14f84a Merge remote-tracking branch 'upstream/develop' into feature/user-journey 2020-04-17 07:30:53 +01:00
Knut Sveidqvist
10fdc45dea Merge pull request #1356 from mermaid-js/feature/1295_generic_rendering_engine
Feature/1295 generic rendering engine
2020-04-16 20:16:37 +02:00
Knut Sveidqvist
e8e7b419b5 #1295 Lint fixes 2020-04-16 19:57:56 +02:00
Knut Sveidqvist
955fc58773 Merge pull request #1351 from adutton/patch-1
Show source code in later examples
2020-04-16 19:50:53 +02:00
Knut Sveidqvist
2da3d83420 Merge pull request #1355 from spopida/develop
Update docs to include ER diagram descriptions
2020-04-16 19:50:05 +02:00
Knut Sveidqvist
c3f2e8dde1 #1295 Render fix for flowchart, correct marker handling and some cleanup 2020-04-16 19:44:11 +02:00
Adrian Hall
4e4c80b7fa Update docs to include ER diagram descriptions 2020-04-16 12:19:04 +01:00
GDFaber
3e776c8c41 Merge pull request #1353 from TomWright/mermaid-server
Add HTTP Server implementation to related projects.
2020-04-15 22:10:52 +02:00
Tom Wright
7c82e4b6c1 Add mermaid-server to integrations.md 2020-04-15 21:00:47 +01:00
Tom Wright
12d26d5a3d Add HTTP Server implementation to related projects. 2020-04-15 19:29:17 +01:00
Aaron Dutton
d228769b1b Show source code in later examples
The first few examples on the page show source code but the later ones didn't
2020-04-14 15:15:10 -07:00
Russell Geraghty
433f88b459 Merge remote-tracking branch 'upstream/develop' into feature/user-journey 2020-04-13 20:08:20 +01:00
Knut Sveidqvist
704d56d193 #1295 Updates mermaid-graphlib 2020-04-13 16:25:10 +02:00
Knut Sveidqvist
5f4da6e0bc Merge branch 'develop' into feature/1295_generic_rendering_engine 2020-04-11 18:53:47 +02:00
Knut Sveidqvist
0ce89d53d7 Adding ERD diagram section to the docs 2020-04-11 18:50:57 +02:00
Knut Sveidqvist
5bdffd7d20 Merge branch 'master' into develop 2020-04-11 18:10:53 +02:00
Knut Sveidqvist
5996920249 Merge branch 'release/8.5.0' 2020-04-11 18:03:42 +02:00
Knut Sveidqvist
f0119085e4 Updating mermaid to version 8.5.0 2020-04-11 18:02:05 +02:00
Knut Sveidqvist
22e17172dd #1295 Recursive rendering, draft 2020-04-11 17:16:01 +02:00
Knut Sveidqvist
6ec731e263 Merge pull request #1345 from GDFaber/feature/1343_add_flowchart_subroutine_shape
Add flowchart subroutine node shape
2020-04-11 14:12:20 +02:00
Knut Sveidqvist
7cd8b6f938 Merge pull request #1336 from GDFaber/feature/1290_hide_or_style_gantt_today_marker
#1290 Hide/style today marker in gantt diagram
2020-04-11 14:04:31 +02:00
Knut Sveidqvist
a4a19845d4 Merge pull request #1335 from GDFaber/bug/1271_fix_autonumber_position_for_multiline_texts
#1271 Fix autonumber positioning in sequence diagrams with multiline texts
2020-04-11 14:01:24 +02:00
Knut Sveidqvist
fffb0eafde Merge pull request #1332 from Soptq/stateRenderer
Add useMaxWidth to stateRenderer
2020-04-11 11:58:22 +02:00
GDFaber
10f60e2807 Merge pull request #1346 from spopida/develop
Fix docs for ER diagrams
2020-04-10 16:18:49 +02:00
Adrian Hall
3db27e6017 Tiny tweaks to docs for ER diagram 2020-04-10 11:47:29 +01:00
Adrian Hall
91b64798bb Escape the pipes in the syntax table 2020-04-10 11:40:39 +01:00
Knut Sveidqvist
8455db6fae #1295 Moving graph operations into mermaid-graplib and adding tests 2020-04-10 07:27:04 +02:00
Marc Faber
530648e937 Trigger tests once more 2020-04-10 00:28:33 +02:00
Marc Faber
7f67435cb9 #1343 Add flowchart subroutine node shape 2020-04-10 00:14:41 +02:00
Marc Faber
d8eba411ec Trigger tests once more 2020-04-05 02:29:41 +02:00
Marc Faber
dcfa903176 #1290 Hide/style today marker in gantt diagram 2020-04-05 01:59:18 +02:00
Marc Faber
fc70a8e145 #1271 Fix autonumber positioning in sequence diagrams with multiline texts 2020-04-04 21:53:31 +02:00
Russell Geraghty
e4a2d7dfb7 Updated API 2020-04-04 17:50:02 +01:00
Russell Geraghty
f081527731 User journey handler 2020-04-04 16:38:30 +01:00
GDFaber
9f8a0234aa Merge pull request #1333 from spopida/bug/1327_flowchart_cutoff
Prevent un-labelled edges that are left of the left-most vertex from being cut off the diagram
2020-04-04 05:54:32 +02:00
Knut Sveidqvist
857c860952 #1295 Lint fix 2020-04-02 19:50:21 +02:00
Knut Sveidqvist
cff68fc062 #1295 Better way of finding suitable child in cluster to point to 2020-04-02 19:48:28 +02:00
Knut Sveidqvist
365c741864 #1295 Fix for intersection calculation for edges to clusters and adding concurrency in stateDiagrams as clusters 2020-04-02 19:35:12 +02:00
Justin Greywolf
366f9db8a8 Merge pull request #19 from mermaid-js/develop
Merge into fork
2020-04-02 09:49:20 -07:00
Adrian Hall
9d5303c59d Prevent un-labelled edges that are left of the left-most vertex from being cut off the diagram 2020-04-02 15:29:12 +01:00
Soptq
c527392e21 Add useMaxWidth to stateRenderer 2020-04-01 15:12:45 +08:00
Knut Sveidqvist
933cc333cc #1295 Backwards compatability 2020-03-30 22:08:48 +02:00
Knut Sveidqvist
e72c3b2c86 #1295 Re-enabling state diagram tests 2020-03-30 21:40:14 +02:00
Knut Sveidqvist
231c849451 Merge pull request #1326 from mermaid-js/feature/1295_generic_rendering_engine
Feature/1295 generic rendering engine
2020-03-30 21:14:20 +02:00
Knut Sveidqvist
a5af248715 Merge branch 'develop' into feature/1295_generic_rendering_engine 2020-03-30 19:15:17 +02:00
Knut Sveidqvist
8fede48e7b Merge pull request #1324 from spopida/feature/1309_erDiagram_PlantUML
Feature/1309 er diagram plant uml
2020-03-30 19:11:53 +02:00
Knut Sveidqvist
d0492ec7bd Merge pull request #1323 from Pepper-Wood/bug/1294_nonfunctioning_callback_in_docs
Docs workaround for failing callback() section
2020-03-30 19:09:14 +02:00
Knut Sveidqvist
b5399202b6 Merge pull request #1307 from mermaid-js/dependabot/npm_and_yarn/acorn-5.7.4
Bump acorn from 5.7.3 to 5.7.4
2020-03-30 19:07:22 +02:00
Knut Sveidqvist
240077ffe8 #1295 Adding note support to state diagrams 2020-03-29 14:20:49 +02:00
Adrian Hall
eee9a1661f Merge branch 'develop' into feature/1309_erDiagram_PlantUML 2020-03-29 08:55:19 +01:00
Adrian Hall
9199546dca Alter ERD syntax for compatibility with PlantUML 2020-03-29 08:42:20 +01:00
Kathryn DiPippo
e0d97d44aa Docs workaround for failing callback() section 2020-03-29 00:55:14 -04:00
Knut Sveidqvist
5fbb69e7c5 #1295 Styling of composite states 2020-03-28 17:34:23 +01:00
Knut Sveidqvist
3a6aa8f820 #1295 Lint fix 2020-03-28 14:03:22 +01:00
Knut Sveidqvist
44ae5c86a7 #1295 Lint fix 2020-03-28 14:02:01 +01:00
Knut Sveidqvist
85f47e1693 #1295 Styling of start/end nodes, arrows and regular states 2020-03-28 13:59:41 +01:00
Knut Sveidqvist
9a96f8b155 Merge pull request #1315 from rmedaer/feature/multiline-sequence-message-alignment
Feature/Multiline sequence message alignment
2020-03-25 20:31:37 +01:00
Knut Sveidqvist
391dc06013 Merge branch 'develop' into feature/1295_generic_rendering_engine 2020-03-25 20:28:10 +01:00
Knut Sveidqvist
598b392878 #1295 Lint fixes 2020-03-25 20:26:53 +01:00
Knut Sveidqvist
9e75993658 Merge pull request #1314 from rmedaer/feature/multiline-sequence-message
Feature/Multiline sequence message
2020-03-25 20:22:31 +01:00
Knut Sveidqvist
159a3a3706 #1295 Start shape and handling of setting a unique start id per cluster level 2020-03-25 20:16:27 +01:00
Raphael Medaer
cbdb2e6e6f Align left/center/right multiline messages 2020-03-24 22:17:11 +01:00
Raphael Medaer
d409da2201 Multiline sequence message
This commit allow user to write multiline messages in sequence diagram.
For instance:

```
sequenceDiagram
	Alice->>+John: Hello John<br>How are you?<br>I mean...<br>Are you OK today?
	Alice->>+John: John, can you hear me?
	John-->>-Alice: Hi Alice, I can hear you!<br>Keep calm!<br>I'm there.
	John-->>-Alice: And I feel great!
```
2020-03-24 18:26:56 +01:00
Knut Sveidqvist
c7aa67b07a #1295 Lint fix 2020-03-22 23:06:32 +01:00
Knut Sveidqvist
5b302ae2e6 #1295 Applying new rendering engine for stateDiagrams 2020-03-22 21:45:14 +01:00
Knut Sveidqvist
df2925e51c #1295 Fix for edges form clusters 2020-03-22 16:08:57 +01:00
Knut Sveidqvist
02b19fed27 Merge branch 'develop' into feature/1295_generic_rendering_engine 2020-03-22 14:44:43 +01:00
Knut Sveidqvist
17f06564a2 #1295 Added the flowchart shapes 2020-03-18 22:08:19 +01:00
Knut Sveidqvist
6ddd394e33 Merge pull request #1308 from spopida/feature/117_er_diagram
Feature/117 er diagram
2020-03-18 20:32:12 +01:00
Adrian Hall
d3f78299e7 Add integration tests, basic docs, and fix multi-diagram bug 2020-03-18 16:53:26 +00:00
Adrian Hall
3e76b2374c Initial documentation for ER diagrams 2020-03-18 09:31:10 +00:00
Adrian Hall
a3b97f7c24 Remove roleB - only roleA is labelled 2020-03-17 10:16:19 +00:00
Adrian Hall
4f50e36e5b Tidy up for lint 2020-03-17 09:48:32 +00:00
Adrian Hall
a0bbbe1404 Merge branch 'develop' into feature/117_er_diagram 2020-03-17 09:28:10 +00:00
Adrian Hall
50f983871b Add labels to relationships (needs further tidy up) 2020-03-17 09:25:16 +00:00
Adrian Hall
2d3b02df6a Minor tidy up 2020-03-16 10:08:43 +00:00
Knut Sveidqvist
4010c89899 #1295 'arrow' renamed to 'arrow_point' 2020-03-16 08:02:32 +01:00
Knut Sveidqvist
215e930da4 #1295 Markers implmented, the gereric pattern and diagram specific for flowcharts. 2020-03-16 07:55:02 +01:00
Knut Sveidqvist
5b74d75011 #1295 Arrow head start 2020-03-14 18:13:34 +01:00
Knut Sveidqvist
9266eaef16 #1295 Small fix for import 2020-03-14 17:49:02 +01:00
Knut Sveidqvist
963a0ce6ef #1295 Edges between subgraphs 2020-03-14 17:38:35 +01:00
Knut Sveidqvist
5f5e453fb3 Small for for merge issue 2020-03-14 08:56:47 +01:00
Knut Sveidqvist
0cacd111df Merge branch 'develop' into feature/1295_generic_rendering_engine 2020-03-14 08:51:11 +01:00
Knut Sveidqvist
d86a7ccf3e Restoring docs README 2020-03-14 08:49:30 +01:00
Knut Sveidqvist
35ea4d1a00 Merge branch 'develop' into feature/1295_generic_rendering_engine 2020-03-14 08:44:49 +01:00
Knut Sveidqvist
10583610bd Lint fixes 2020-03-14 08:36:49 +01:00
Knut Sveidqvist
55816a09fe Merge pull request #1303 from NeilCuzon/develop
Gantt Documentation expanded.
2020-03-14 08:35:31 +01:00
Knut Sveidqvist
ad288be2ee 1295 Lint fixes 2020-03-14 08:24:45 +01:00
dependabot[bot]
c9071ff724 Bump acorn from 5.7.3 to 5.7.4
Bumps [acorn](https://github.com/acornjs/acorn) from 5.7.3 to 5.7.4.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/5.7.3...5.7.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-03-13 23:07:17 +00:00
Neil Cuzon
96b8dce982 Update README.md 2020-03-11 18:59:06 -07:00
Adrian Hall
1e498eccb6 Change rendering algorithm 2020-03-11 22:17:11 +00:00
Knut Sveidqvist
da048cbc7b 1295 Handling labels of clusters 2020-03-11 20:25:55 +01:00
Knut Sveidqvist
7bd5529bb7 1295 Support for subgraphs with wide labels 2020-03-11 19:52:57 +01:00
Knut Sveidqvist
1b64af143e #1295 Drawing edges between nodes 2020-03-11 17:36:30 +01:00
Neil Cuzon
d2685f2544 Update README.md 2020-03-10 19:42:11 -07:00
Neil Cuzon
83c6aef078 Update README.md 2020-03-10 19:26:26 -07:00
Neil Cuzon
a9570f7298 Update README.md 2020-03-10 19:24:55 -07:00
Neil Cuzon
71e0a788d1 Update mermaidAPI.md 2020-03-10 19:16:24 -07:00
Neil Cuzon
e6910d3c52 Update SUMMARY.md 2020-03-10 19:15:44 -07:00
Neil Cuzon
9a6e4ba77f Update README.md 2020-03-10 19:14:46 -07:00
Adrian Hall
bab4649a1e Use markers with rounded crows feet 2020-03-10 13:48:53 +00:00
NeilCuzon
5a763230e5 Revert "Revert "Revert "Revert "Revert "Update README.md"""""
This reverts commit 09e6804761.
2020-03-09 23:26:00 -07:00
NeilCuzon
09e6804761 Revert "Revert "Revert "Revert "Update README.md""""
This reverts commit a414aa27b6.
2020-03-09 23:25:55 -07:00
NeilCuzon
a414aa27b6 Revert "Revert "Revert "Update README.md"""
This reverts commit c598fd9ec4.
2020-03-09 23:25:28 -07:00
NeilCuzon
c598fd9ec4 Revert "Revert "Update README.md""
This reverts commit d28e3374c7.
2020-03-09 23:25:24 -07:00
NeilCuzon
a8eeb7f76a Revert "Revert "Delete README.md""
This reverts commit c3e9ae0ca0.
2020-03-09 23:25:19 -07:00
NeilCuzon
d28e3374c7 Revert "Update README.md"
This reverts commit 71cfec91af.
2020-03-09 23:23:44 -07:00
NeilCuzon
c3e9ae0ca0 Revert "Delete README.md"
This reverts commit b085222253.
2020-03-09 23:23:27 -07:00
Neil Cuzon
71cfec91af Update README.md 2020-03-09 23:02:14 -07:00
Neil Cuzon
b085222253 Delete README.md 2020-03-09 22:55:03 -07:00
Adrian Hall
29b6e00071 clean up for eslint 2020-03-09 12:36:43 +00:00
Adrian Hall
9aacc85a16 Working experimental version using markers 2020-03-08 22:22:33 +00:00
Knut Sveidqvist
aa32d454c9 #1295 First draft of generic renderer applied to flowcharts. 2020-03-08 09:49:41 +01:00
Neil Cuzon
d3b69abd87 Update gantt.md 2020-03-07 16:54:49 -08:00
Neil Cuzon
df88300e6e Update README.md 2020-03-07 16:50:39 -08:00
Neil Cuzon
e90ed7a853 Update gantt.md 2020-03-07 16:46:59 -08:00
Neil Cuzon
fdaf13bdc4 Update gantt.md 2020-03-07 16:26:22 -08:00
Neil Cuzon
d96d40e0b0 Update gantt.md 2020-03-07 16:23:51 -08:00
Neil Cuzon
5dae0c14d9 Add files via upload 2020-03-07 16:22:55 -08:00
Neil Cuzon
5cd54c4831 Update gantt.md 2020-03-07 16:21:07 -08:00
Neil Cuzon
4caa02474c Update gantt.md 2020-03-07 16:17:11 -08:00
Neil Cuzon
005defbb5c Add files via upload 2020-03-07 16:17:03 -08:00
Adrian Hall
061045016f Minor tidy up of prototype code 2020-03-07 11:05:56 +00:00
Neil Cuzon
997353ab71 Update gantt.md 2020-03-07 00:59:39 -08:00
Neil Cuzon
1570ed4610 Update mermaidAPI.md 2020-03-05 17:34:06 -08:00
Knut Sveidqvist
25e2d78311 #1295 Start renderer 2020-03-04 20:35:59 +01:00
Adrian Hall
1e2d014ac9 Basic rendering for ER diagrams 2020-03-03 21:44:18 +00:00
Neil Cuzon
a0b1d16e79 Update SUMMARY.md 2020-03-02 16:47:08 -08:00
Adrian Hall
6985391437 Minor clean up for eslint 2020-03-02 11:46:07 +00:00
Adrian Hall
e90f58a0a7 Merge branch 'develop' into feature/117_er_diagram 2020-03-02 10:48:32 +00:00
Adrian Hall
0555fca5d8 Initial parsing logic for ER diagrams 2020-03-02 10:03:55 +00:00
GDFaber
2a55e74e11 Merge pull request #1287 from mermaid-js/revert-1281-feature/1249_BlockComments
Revert "Multiline comments" - accidentally merged
2020-02-29 21:40:55 +01:00
GDFaber
94ace2348f Revert "Multiline comments" 2020-02-29 21:32:20 +01:00
GDFaber
2b58a2a176 Merge pull request #1286 from woehrl01/patch-1
Update README.md (fix broken image link)
2020-02-29 21:29:51 +01:00
Lukas Wöhrl
7bc82365c6 Update README.md 2020-02-29 20:55:20 +01:00
Knut Sveidqvist
de11dc43ab Merge pull request #1285 from mermaid-js/bug/1269_fix_label_background_on_safari
Bug/1269 fix label background on safari
2020-02-29 15:49:23 +01:00
Knut Sveidqvist
756927b6f8 #1269 Fix for build issue - lint 2020-02-29 15:39:21 +01:00
Neil Cuzon
5693c69457 Update README.md 2020-02-29 00:07:47 -08:00
Neil Cuzon
cda41a1506 Update README.md 2020-02-29 00:04:38 -08:00
Neil Cuzon
890298457a Update README.md 2020-02-29 00:03:42 -08:00
Justin Greywolf
ccfc7351e7 Merge pull request #18 from mermaid-js/develop
Merge
2020-02-28 09:52:44 -08:00
GDFaber
df6c5dd22e Merge pull request #1282 from joebordes/patch-1
add crm/erp category with corebos in the docs
2020-02-27 18:23:29 +01:00
erelling
60f23c838b Merge pull request #1281 from mermaid-js/feature/1249_BlockComments
Multiline comments
2020-02-27 15:19:15 +01:00
Knut Sveidqvist
dcd807c49b Merge pull request #1270 from NeilCuzon/develop
Edited n00b-GettingStarted.md and smaller edits to README.md and n00b-overview.md
2020-02-27 15:06:31 +01:00
Joe Bordes
575b921a15 add crm/erp category with corebos 2020-02-27 12:59:30 +01:00
Neil Cuzon
67473f07b1 Update n00b-gettingStarted.md 2020-02-27 01:07:25 -08:00
Neil Cuzon
3aa368b630 Update n00b-gettingStarted.md 2020-02-27 01:06:38 -08:00
Neil Cuzon
4e044d66b4 Update n00b-gettingStarted.md 2020-02-27 01:05:23 -08:00
Neil Cuzon
065a5d2a47 Update n00b-overview.md 2020-02-27 00:53:20 -08:00
Neil Cuzon
5103da09c5 Update README.md 2020-02-27 00:37:24 -08:00
Neil Cuzon
33ea1d44fb Merge branch 'develop' into develop 2020-02-27 00:32:17 -08:00
Erik Ellingsen
e62027b73c Multiline comments 2020-02-27 00:02:25 +01:00
erelling
26c43667aa Suggestion in comment 2020-02-26 23:10:18 +01:00
erelling
92fbc26852 Suggestion in comment 2020-02-26 23:09:04 +01:00
erelling
a4e488a1eb Suggestion from comment 2020-02-26 23:07:11 +01:00
Knut Sveidqvist
0ee9c69ddf #1269 Work around for inaccurate bounding box results in Safari. Fix for multiple lines 2020-02-26 20:53:08 +01:00
Knut Sveidqvist
dd5e6c18d5 #1269 Work around for inaccurate bounding box results in Safari. 2020-02-26 20:01:53 +01:00
Knut Sveidqvist
737e95c3f9 Merge pull request #1278 from jgreywolf/1264-UpdatedDocumentationFoUsages
1264-Update documentation
2020-02-26 17:45:40 +01:00
Justin Greywolf
4b064dc19f 1264-Update documentation
Reorder main readme.md file, add link to integrations - and add list of areas where mermaid is used
2020-02-25 13:11:08 -08:00
Knut Sveidqvist
f2e5c913d6 Merge pull request #1275 from ginomempin/docs/add-section-parallel-blocks-for-sequence-diagrams
Add section on showing parallel blocks for sequence diagrams
2020-02-25 19:27:44 +01:00
Knut Sveidqvist
8758bd57ca Merge pull request #1274 from GDFaber/bug/apply_default_class_to_flowchart_nodes
Fix applying default class to flowchart nodes
2020-02-25 19:20:52 +01:00
Knut Sveidqvist
73e31373a8 Merge pull request #1273 from mvandermade/patch-1
Removed GitBook, add howto contribute docs.
2020-02-25 19:17:53 +01:00
GDFaber
990e620dc7 Merge pull request #1268 from jgreywolf/1169-RefactorGetRowsFunctionality
1169 refactor get rows functionality
2020-02-25 19:14:22 +01:00
Marc Faber
9103e58314 Trigger tests once more 2020-02-25 19:01:33 +01:00
Neil Cuzon
a26fe71171 Update README.md 2020-02-24 11:19:50 -08:00
Neil Cuzon
7a44e46d6d Update n00b-overview.md 2020-02-23 23:16:13 -08:00
gino
b376e4da1f docs: Fix typo "possiebl" 2020-02-24 13:51:15 +09:00
gino
f8481f8d4c docs: Fix markdown lint MD012 and MD022
MD012 Multiple Consecutive Blanks
https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md012---multiple-consecutive-blank-lines

MD022 Headings should be surrounded by blank lines
https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md022---headings-should-be-surrounded-by-blank-lines
2020-02-24 13:49:18 +09:00
gino
54f55cc021 #425: Add documentation on using par for sequence diagrams
Support for `par` was already added here:
https://github.com/mermaid-js/mermaid/issues/425

But is not in the docs:
https://mermaid-js.github.io/mermaid/#/sequenceDiagram
2020-02-24 13:41:47 +09:00
Marc Faber
a7a4f38d58 Trigger tests again 2020-02-24 01:43:21 +01:00
Marc Faber
d67e49400f #684 Fix applying default class to flowchart nodes 2020-02-24 01:31:39 +01:00
mvandermade
6789f2c1e3 Removed GitBook, add howto contribute docs.
Also added the online submission step-by-step via github.com.
2020-02-23 10:47:51 +01:00
NeilCuzon
e8a3ffcb41 Merge pull request #2 from NeilCuzon/NeilCuzon-patch-2
Updated noob-gettingStarted.md
2020-02-22 23:24:05 -08:00
NeilCuzon
9607c743a0 Updated noob-gettingStarted.md
updated documentation for noob-gettingStarted.md. 
-added a new screenshot and edited directions for copying markdown code from live editor
-made some alterations with the instructions in effort to make it more n00b friendly.
-added link to Atom-mermaid plugin
2020-02-22 23:20:50 -08:00
NeilCuzon
553b964ab8 Update n00b-gettingStarted.md 2020-02-22 23:11:51 -08:00
NeilCuzon
72ac408429 Update n00b-gettingStarted.md 2020-02-22 23:10:42 -08:00
NeilCuzon
8456905960 Update n00b-gettingStarted.md 2020-02-22 23:10:08 -08:00
NeilCuzon
13261c974a Update n00b-gettingStarted.md 2020-02-22 23:09:06 -08:00
NeilCuzon
eafabdce36 Update n00b-gettingStarted.md 2020-02-22 23:07:45 -08:00
NeilCuzon
d02a57744c Add files via upload 2020-02-22 23:04:33 -08:00
NeilCuzon
58374add90 Update n00b-gettingStarted.md 2020-02-22 23:03:42 -08:00
NeilCuzon
a52d501ba2 Update n00b-gettingStarted.md 2020-02-22 23:03:11 -08:00
NeilCuzon
702abbad6d Add files via upload 2020-02-22 23:01:35 -08:00
NeilCuzon
2d0edb5270 Update n00b-gettingStarted.md 2020-02-22 22:24:39 -08:00
NeilCuzon
7aab34b540 Update n00b-gettingStarted.md 2020-02-22 22:16:26 -08:00
NeilCuzon
d637a13f59 Update n00b-gettingStarted.md 2020-02-22 22:16:00 -08:00
NeilCuzon
17f99aeed8 Updated n00b-gettingStarted.md
this section had some outdated info regarding the live editor and its capabilities. 
-replaced and outdated screenshot
-edited the documentation to make it a little more n00b friendly. 
-added a link to the Atom mermaid plugin

-Neil
2020-02-22 19:21:37 -08:00
NeilCuzon
8729414da9 Merge pull request #1 from NeilCuzon/NeilCuzon-patch-1
Update README.md
2020-02-21 22:00:50 -08:00
NeilCuzon
cd8b7e5528 Update README.md
Hi, I love your program and how it reimagines the whole dynamic of creating diagrams and graphs, I also like the wit of the documentation, but I had some small trouble in initially figuring out what the application was about. 

I propose a few line changes to clarify the purpose of the application and an additional a link to the syntax section of docs to  hopefully decrease the friction and increase the interest in using the product.  
I changed:
-"__mermaid is a Javascript based diagramming and charting tool. It generates diagrams flowcharts and more, using markdown-inspired text for ease and speed.__"
and I added:
-"__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).__"


More power to you and your team.
-Neil
2020-02-21 21:11:21 -08:00
Justin Greywolf
6d74c5663f 1169- break out getRows
Moved getRows function from `state/stateRenderer.js` and `state/shapes.js` into `common/common.js`. Broke out section into small one line functions for replacing line breaks, then moved the `sanitize` function from `utils.js` to this new module as there is shared functionality
2020-02-21 13:49:05 -08:00
Justin Greywolf
5ccca5e329 Merge pull request #17 from mermaid-js/develop
Merge
2020-02-21 12:35:38 -08:00
Knut Sveidqvist
6c7b7b796e Docs updated to new version 2020-02-21 10:49:52 +01:00
Knut Sveidqvist
4ee3cea6ce Setting version to 8.4.8 2020-02-21 10:31:11 +01:00
Knut Sveidqvist
1c07e550bb Merge pull request #1267 from mermaid-js/bug/1261_removal_of_cosole.log-calls
Bug/1261 removal of console.log calls
2020-02-21 10:23:37 +01:00
Knut Sveidqvist
50c71ebb01 #1261 Removal of emojis making rendering tests give false warnings from time to time 2020-02-21 10:08:52 +01:00
Knut Sveidqvist
348d086c11 #1261 Tmp reversal of build.yml to get make release possible 2020-02-21 10:00:36 +01:00
Knut Sveidqvist
89c1853977 #1261 Removed calls to console.log 2020-02-21 09:50:04 +01:00
Knut Sveidqvist
3acff54837 Merge pull request #1260 from mermaid-js/chris579-patch-1
Build action fix
2020-02-17 17:13:25 +01:00
Christian Klemm
c7466f7a1a adj 2020-02-16 19:54:29 +01:00
Christian Klemm
6420ad9f69 Merge remote-tracking branch 'origin/chris579-patch-1' into chris579-patch-1 2020-02-16 19:47:55 +01:00
Christian Klemm
b30823d5ac mermaid upgrade 2020-02-16 19:47:14 +01:00
Christian Klemm
864472d648 Update build.yml 2020-02-16 19:41:52 +01:00
Christian Klemm
36b02ec008 adj 2020-02-16 19:32:10 +01:00
Knut Sveidqvist
aad080aa1b Merge pull request #1259 from mermaid-js/bug/1257_autonumbering
#1257 Adding the autonumber keyword + tests and docs
2020-02-16 17:13:59 +01:00
Christian Klemm
7b7a6e10f8 adj 2020-02-16 17:11:13 +01:00
Christian Klemm
aeccf92375 Update build.yml 2020-02-16 16:52:15 +01:00
Christian Klemm
f90d271739 Update build.yml 2020-02-16 16:40:43 +01:00
Christian Klemm
9c2fde940d Update build.yml 2020-02-16 16:35:59 +01:00
Christian Klemm
2b57cc6be8 Update build.yml 2020-02-16 16:31:37 +01:00
Christian Klemm
b62819e3fb Update build.yml 2020-02-16 16:26:29 +01:00
Christian Klemm
3eb5f2c65b Update build.yml 2020-02-16 16:10:47 +01:00
Christian Klemm
41be7f951c Update build.yml 2020-02-16 16:04:20 +01:00
Christian Klemm
7812fdb6ed Merge pull request #1258 from mermaid-js/actions-fix
Actions fix
2020-02-16 15:54:55 +01:00
Christian Klemm
4eeb2a0583 lockfile update 2020-02-16 15:46:45 +01:00
Knut Sveidqvist
3dd0c537ee Font update for e2e tests 2020-02-16 15:39:52 +01:00
Christian Klemm
e0aa42f695 Update package.json 2020-02-16 15:39:20 +01:00
Christian Klemm
5dddf2f757 Update build.yml 2020-02-16 15:38:52 +01:00
Knut Sveidqvist
f8137ea7c1 #1257 Adding the autonumber keyword + tests and docs 2020-02-16 15:26:08 +01:00
Knut Sveidqvist
cf6f1a083e Upgarding version in docs 2020-02-16 14:19:27 +01:00
Knut Sveidqvist
f9cfeacc67 Version bump 2020-02-16 13:56:37 +01:00
Knut Sveidqvist
98229a47b2 Renabling build for node 10 2020-02-16 12:46:23 +01:00
Knut Sveidqvist
530ace1507 Disabling e2e tests in github actions 2020-02-16 12:39:05 +01:00
Knut Sveidqvist
792c657ff2 Modified build.yml 2020-02-16 09:42:57 +01:00
Knut Sveidqvist
5aa07439a8 Modified build.yml 2020-02-16 09:40:35 +01:00
Knut Sveidqvist
bf2862f164 Updated packages 2020-02-16 09:30:08 +01:00
Knut Sveidqvist
d9ef227435 Updated packages, trying to fix e2e tests in build 2020-02-16 09:17:17 +01:00
Knut Sveidqvist
324c845dc4 Disabling Static tests action due to issues with cypress 2020-02-16 09:06:05 +01:00
Knut Sveidqvist
5d0c44e84b Adding @babel/preset-env inorder to help build action 2020-02-16 08:54:17 +01:00
GDFaber
01a71c3dbb Merge pull request #1254 from xbojch/patch-1
Typos
2020-02-15 23:54:05 +01:00
Bojan Bedrac
b018f026e3 Typo
- fixes a typo
2020-02-13 15:51:00 +01:00
Knut Sveidqvist
0a38e3557d Merge pull request #1248 from DCsunset/bug/1247_ssr_error
Bug/1247 Fix "window is not defined" with ssr
2020-02-11 07:02:50 +01:00
DCsunset
6f450272b8 #1247 fix "window is not defined" with ssr 2020-02-06 20:26:09 -08:00
Knut Sveidqvist
7e01f9be6e Merge pull request #1245 from mermaid-js/feature/1224_styling_of_subgraphs
Feature/1224 styling of subgraphs
2020-02-05 20:06:22 +01:00
Knut Sveidqvist
00d2a1fe9f Merge branch 'develop' of github.com:mermaid-js/mermaid into develop 2020-02-05 19:42:13 +01:00
Knut Sveidqvist
18d0d435c6 Merge pull request #1241 from jgreywolf/1240-ClassDiagramRefactor
1240 class diagram refactor
2020-02-05 19:42:01 +01:00
Knut Sveidqvist
f298c154e2 Merge branch 'develop' of github.com:mermaid-js/mermaid into develop 2020-02-05 19:40:18 +01:00
Knut Sveidqvist
822df37f8c #1224 Possibility to style text color of nodes and subgraphs as well as apply classes to subgraphs 2020-02-05 19:39:50 +01:00
Knut Sveidqvist
73cac95255 Merge pull request #1238 from GDFaber/feature/962_flowchart_line_label_color_from_linkstyle
Set text color for flowchart link labels according to linkStyle definitions
2020-02-05 19:36:12 +01:00
Marc Faber
a0e7789d50 #962 added color setting for default link style 2020-02-04 22:07:10 +01:00
Justin Greywolf
c825b37cc6 1240-refactor for class renderer
prep for future functionality work
2020-02-03 16:04:59 -08:00
Marc Faber
2dd4aa31e5 #962 moved "style from array" function to utils.js, added unit test 2020-02-04 00:24:50 +01:00
Marc Faber
c95adfaf74 #962 Set text color for flowchart link labels according to linkStyle definitions 2020-02-02 22:59:59 +01:00
Justin Greywolf
9da8ea5967 Merge pull request #16 from mermaid-js/develop
Merge from parent
2020-01-30 10:20:14 -08:00
Knut Sveidqvist
4d5ecc5518 Merge pull request #1203 from jgreywolf/1179-SupportGenericTypesForMembers
1179 support generic types for members
2020-01-29 21:08:41 +01:00
Knut Sveidqvist
963a0fcd77 Merge branch 'develop' into 1179-SupportGenericTypesForMembers 2020-01-29 21:08:31 +01:00
Ashish Jain
fbd8dfa5be Merge pull request #1230 from mermaid-js/bug/1223_multiple_transitions_in_statediagram
Bug/1223 multiple transitions in statediagram
2020-01-29 21:02:14 +01:00
Knut Sveidqvist
c43f791b29 #1223 Removing/updating some logging, adding current.html to .gitignore 2020-01-29 20:44:15 +01:00
Ashish Jain
39b873cd5f Merge pull request #1229 from mermaid-js/bug/1217_fix_for_keyword_as_in_stateDiagram
#1217 Better matching of words beginning with as as matching token
2020-01-29 20:24:28 +01:00
Knut Sveidqvist
ec90537181 #1223 Adding support for multiple transitions to a node from another node 2020-01-29 20:01:21 +01:00
Knut Sveidqvist
4709195a1d #1223 Adding support for multiple transitions to a node from another node 2020-01-29 19:57:59 +01:00
Knut Sveidqvist
0082c23a90 #1217 Better matchingof words beginning with as as matching token AS in stateDiagram's state definition. 2020-01-29 19:05:51 +01:00
Knut Sveidqvist
c7b559f449 Update todo.md 2020-01-27 20:28:43 +01:00
Knut Sveidqvist
d571c7e08e Merge pull request #1225 from jgreywolf/1058-ClassDiagramScaling
1058 class diagram scaling
2020-01-27 20:14:39 +01:00
Knut Sveidqvist
b6f0b25f24 Merge pull request #1222 from GDFaber/bug/1218_fix_link_click_events
Fix anchor and script support in link click events
2020-01-27 20:13:07 +01:00
Knut Sveidqvist
5ea6bd5980 Merge branch 'develop' into bug/1218_fix_link_click_events 2020-01-27 20:06:00 +01:00
Knut Sveidqvist
ea29b67c5c Merge pull request #1221 from mermaid-js/bug/1216_dodging_huge_diagrams
#1216 Fix for issue when mermaid freezes the browser tab due to large…
2020-01-27 20:01:54 +01:00
Knut Sveidqvist
1f851bc04c Merge pull request #1219 from GDFaber/feature/487_flowchart_node_text_color_from_style
#487 Set text color for flowchart nodes according to style definitions
2020-01-27 20:01:19 +01:00
Justin Greywolf
0921007d92 1058-Set diagram dimensions appropriately
Make sure height and width are set so that all of the diagram is displayed
2020-01-27 10:27:05 -08:00
Justin Greywolf
4a2e0bfa00 Merge branch 'develop' into 1179-SupportGenericTypesForMembers 2020-01-27 09:44:12 -08:00
Justin Greywolf
8ebc587fb5 Merge pull request #15 from mermaid-js/develop
Merge from parent
2020-01-27 09:43:46 -08:00
Marc Faber
c7b46f4fba #1218 Fix anchor and script support in link click events 2020-01-26 16:56:42 +01:00
Knut Sveidqvist
4ad354a561 #1216 Fix for issue when mermaid freezes the browser tab due to large diagrams 2020-01-25 13:35:11 +01:00
Justin Greywolf
587592449a 1179 Add ability to use generics for members
Created new class to handle parsing of members with regex to handle determining type of member and the different elements within.  Also moved addTSpan in drawClass method to this new file.  Finally, I added a "catch all" section in case something fails in the regex to make sure everything gets formatted correctly.

Added more tests and documentation

updating gitignore

Tired of constantly having to ignore files and stash/pop when switching between branches
2020-01-24 16:01:04 -08:00
Justin Greywolf
425b071a50 Merge pull request #14 from mermaid-js/develop
merge from
2020-01-24 15:58:42 -08:00
Marc Faber
4dd72e6793 Trigger tests again 2020-01-24 01:42:46 +01:00
Marc Faber
d2d4a24229 #487 Set text color for flowchart nodes according to style definitions 2020-01-24 01:24:47 +01:00
Knut Sveidqvist
4805394e61 New version in the docs 2020-01-22 19:22:37 +01:00
Knut Sveidqvist
5cbd723f8d Merge branch 'release/8.4.6' 2020-01-22 19:07:20 +01:00
Knut Sveidqvist
28153656d7 Updated docs with info on chaining of nodes and using ::: to attach a class 2020-01-22 18:52:16 +01:00
Knut Sveidqvist
d2eaf16751 Updating version to 8.4.6 2020-01-22 18:33:33 +01:00
Knut Sveidqvist
e0d98b2e14 Merge pull request #1214 from GDFaber/bug/1212_apply_classDef_to_flowchart_nodes_with_links
Fix styling of flowchart nodes with links when class definitions are assigned
2020-01-22 17:59:53 +01:00
Marc Faber
c38f053294 #1212 Class definition is not applied to flowchart nodes with links 2020-01-19 18:10:14 +01:00
Knut Sveidqvist
921d274579 Merge pull request #1208 from mermaid-js/feature/Issue-1206_Parsing_Crashing_Browser_In_Class_Diagram
Feature/issue 1206 parsing crashing browser in class diagram
2020-01-15 20:55:21 +01:00
Ashish Jain
c9f95a1866 Merge pull request #1207 from mermaid-js/bug/1205_activations_error
#1205 Adding parsing exception for then an inactive participant is inactivated
2020-01-15 20:48:36 +01:00
Ashish Jain
99469f8404 #1206 Added test case to verify parsing fails to allow EOF until first '{' is closed 2020-01-15 20:34:41 +01:00
Ashish Jain
417d2c0336 #1206 Added test case to verify parsing fails to allow another '{' until first one is closed 2020-01-15 20:33:23 +01:00
Ashish Jain
2a3de1a090 #1206 Updated the classDiagram JISON to not allow EOF or another '{' until first one is closed 2020-01-15 20:29:13 +01:00
Knut Sveidqvist
d9318c5af3 #1205 Adding parsing exception for then an inactive participant is inactivated 2020-01-15 20:27:31 +01:00
Justin Greywolf
0e02cf5c86 Merge pull request #1195 from fgrandel/bug/1193_allow_multiple_relations
fix(#1193): render multiple relations
2020-01-15 09:29:02 -08:00
Knut Sveidqvist
45277affe8 Merge pull request #1204 from GDFaber/bug/1196_keep_flowchart_label_text_when_style_is_applied
Keep flowchart node label text (if already defined) when a style is applied
2020-01-15 18:27:48 +01:00
Knut Sveidqvist
c564a843fa Merge pull request #1202 from GDFaber/bug/1200_unify_regex_for_br_tags
Unify regex for finding <br> tags throughout mermaid
2020-01-15 16:53:06 +01:00
Knut Sveidqvist
efa810da91 Merge pull request #1199 from GDFaber/bug/fix_mermaidAPI_configuration_example_in_the_docs
Fix mermaidAPI configuration example in the docs
2020-01-15 16:50:11 +01:00
Knut Sveidqvist
c0e1c90497 Merge pull request #1198 from GDFaber/bug/add_docs_and_defaults_for_node_spacing
Add docs and default values for node spacing in mermaidAPI
2020-01-15 16:48:58 +01:00
Marc Faber
b1bfdec473 #1196 Keep flowchart node label text (if already defined) when a style is applied 2020-01-14 23:37:30 +01:00
Justin Greywolf
244f423baf Merge pull request #1194 from fgrandel/bug/1192_relation_cut_off
fix(#1192): relation got cut off
2020-01-14 09:35:00 -08:00
Justin Greywolf
8897b32cd3 Merge pull request #13 from mermaid-js/develop
sync
2020-01-13 16:01:40 -08:00
Marc Faber
5493fadc9e #1200 Unify regex for finding <br> tags throughout mermaid 2020-01-13 22:04:47 +01:00
Knut Sveidqvist
eade3d0a2d Merge pull request #1178 from jgreywolf/1119-SpecifyMethodReturnTypeInClassDiagram
1119 specify method return type in class diagram
2020-01-13 19:55:47 +01:00
Marc Faber
36f9eca33e Example 2 is not shown in mermaidAPI configuration section of the docs 2020-01-12 14:38:57 +01:00
Marc Faber
4dd90e56b1 Add docs and default values for node spacing in mermaidAPI 2020-01-12 14:09:24 +01:00
Knut Sveidqvist
5e7484a12d Update mermaidAPI.md 2020-01-12 01:04:15 -08:00
Knut Sveidqvist
fdbc44e41b Update mermaidAPI.md 2020-01-12 01:03:46 -08:00
Knut Sveidqvist
e0d16dcb22 Version 8.4.5 2020-01-11 10:07:41 +01:00
Knut Sveidqvist
0a5ee0634f Merge branch 'master' of github.com:mermaid-js/mermaid
# Conflicts:
#	docs/classDiagram.md
2020-01-11 09:47:51 +01:00
Justin Greywolf
fa1331ffd5 Fix after removing other code 2020-01-10 10:24:04 -08:00
Justin Greywolf
57b5b9a7a6 Added conditional to fallback to old style 2020-01-10 09:50:21 -08:00
Justin Greywolf
58fbfc3c38 1119 Support method return types
Small refactor to split out logic for determining method display text and style. Updated documentation
Used regex to parse method statements in class diagrams to extract discrete elements to set display appropriately. Added tests and updated docs
2020-01-10 09:50:21 -08:00
Justin Greywolf
0af5e0b795 Address code style issues 2020-01-10 09:50:21 -08:00
Justin Greywolf
d7771eb4b6 1119 Add ability to define return type for methods
Updated ClassRenderer to check for `[]` to indicate return type for method. Small refactor to split out logic for determining method display text and style. Updated documentation
2020-01-10 09:50:21 -08:00
Justin Greywolf
fc0902c290 Merge pull request #12 from mermaid-js/develop
sync
2020-01-10 09:47:16 -08:00
Florian Grandel
75890f88fa fix(#1193): render multiple relations 2020-01-09 17:00:34 +01:00
Florian Grandel
9a6b07e1e1 fix(#1192): relation got cut off 2020-01-09 16:24:47 +01:00
Knut Sveidqvist
ce02d1dc98 Merge pull request #1190 from mermaid-js/Issue-1092_Mangled_Multiple_Class_Diagrams
#1092 Fix for mangling of multiple classDiagrams
2020-01-08 21:05:42 +01:00
Knut Sveidqvist
7760e63b47 Merge pull request #1189 from GDFaber/maintenance/1182_flowchart_remove_newDagreD3
Maintenance/Remove "newDagreD3" switch from the flowchart renderer
2020-01-08 20:56:54 +01:00
Christian Klemm
a483f2466f added artifact to build action 2020-01-08 20:52:39 +01:00
Ashish Jain
48c345a403 #1092 Fix for mangling of multiple classDiagrams 2020-01-08 20:48:57 +01:00
Marc Faber
82b79aa332 Trigger tests once more 2020-01-08 20:42:58 +01:00
Marc Faber
ffbf9f265f #1182: remove "newDagreD3" switch from the flowchart renderer 2020-01-08 20:27:33 +01:00
Knut Sveidqvist
144f65c459 Merge pull request #1176 from GDFaber/feature/1152_flowchart_node_spacing
Feature/Add node spacing to flowchart configuration
2020-01-08 18:16:03 +01:00
Ashish Jain
18204586e1 Merge pull request #1188 from GDFaber/feature/743_gantt_multiline_section_titles
Feature/Handle multiline section titles in gantt diagrams
2020-01-08 18:06:29 +01:00
Marc Faber
1f3c970e7a Trigger tests once more 2020-01-08 14:03:16 +01:00
Marc Faber
1cfd93640c #743 handle multiline section titles in gantt diagrams 2020-01-08 13:50:58 +01:00
Marc Faber
553ea4971f Trigger tests one more time 2020-01-07 01:24:24 +01:00
Justin Greywolf
ac8b01a94c Merge pull request #11 from mermaid-js/develop
sync
2020-01-06 10:08:43 -08:00
Marc Faber
b3934c9788 #1152 add node spacing to flowchart configuration 2020-01-05 22:03:53 +01:00
Knut Sveidqvist
37ae863443 Merge pull request #1170 from jgreywolf/1064-ClickEventInClassDiagram
1064 click event in class diagram
2020-01-05 12:07:34 +01:00
Knut Sveidqvist
f57356006d Merge pull request #1171 from mermaid-js/feature/Issue-1146_Dashed_Line_For_Class_Diagram
Feature/issue 1146 dashed line for class diagram
2020-01-05 12:02:36 +01:00
Justin Greywolf
591a104c80 1064 Class diagram interactivity docs
Updated documentation for Class Diagram with details for interactivity
2020-01-03 10:14:07 -08:00
Justin Greywolf
38097c9095 code style 2020-01-02 11:27:56 -08:00
Justin Greywolf
7f31e624ca Addressing code style issues 2020-01-02 11:24:06 -08:00
Justin Greywolf
e6fbfcb1e8 1064 Adding tooltip and function calls to click evens in class diagrams 2020-01-02 11:06:29 -08:00
Justin Greywolf
00687f21cd Merge pull request #10 from mermaid-js/develop
sync fork
2020-01-02 11:05:54 -08:00
Ashish Jain
96fc0d043e #1146 Added cypress test for dash line (dependecy) rendering 2020-01-02 19:57:11 +01:00
Ashish Jain
190353785e #1146 Added jest test for dash line (dependecy) parsing 2020-01-02 19:51:25 +01:00
Ashish Jain
f54adb4a3e #1146 Updated classDiagram documentation with new relation types 2020-01-02 19:35:22 +01:00
Ashish Jain
f2a5d92398 #1146 Added stroke-dasharray style for Dependency relation 2020-01-02 19:29:17 +01:00
Ashish Jain
b14c768fa2 #1146 Fix for dashed line (Dependency) support for classDiagram 2020-01-02 19:25:31 +01:00
Ashish Jain
851d2f2d91 Merge pull request #1168 from mermaid-js/feature/834_linking_to_multiple_nodes
#834 Using & as a separator for the multiple nodes
2020-01-02 19:13:22 +01:00
Knut Sveidqvist
4e6aad5115 #834 Using & as a separator for the multiple nodes 2020-01-02 18:52:50 +01:00
Knut Sveidqvist
7bd1408de0 Merge pull request #1165 from jgreywolf/1064-ClickEventInClassDiagram
1064 click event in class diagram
2020-01-02 08:10:48 -08:00
Justin Greywolf
d63eb396e1 Fix code style issues 2020-01-02 07:59:36 -08:00
Knut Sveidqvist
465e99ab5d Merge pull request #1167 from mermaid-js/feature/921_adding_interaction_tests
Adding interaction tests for gantt callbacks with arguments
2020-01-01 03:41:14 -08:00
Knut Sveidqvist
33916cfbd3 Adding interaction tests for gantt callbacks with arguments 2020-01-01 12:03:29 -08:00
Knut Sveidqvist
a1626927cc Merge pull request #1136 from keenanjt33/feature/921_callback_params
Gantt: Add support for callback with parameters
2020-01-01 00:29:00 -08:00
Knut Sveidqvist
75e2abe242 Merge pull request #1166 from GDFaber/feature/flowchart_add_cylindric_shape
#1154 Flow diagram DB shape request
2020-01-01 00:24:56 -08:00
Knut Sveidqvist
2db8075e3f Merge pull request #1163 from GDFaber/bug/891_make_link_clickable_on_the_entire_node
Bug/Clicking on a link only works directly on the node text
2019-12-31 07:58:47 -08:00
Knut Sveidqvist
413876644c Merge pull request #1162 from sdankel/bug/1060_date_infinite_loop
Fix infinite loop caused by date iteration
2019-12-31 07:57:16 -08:00
Knut Sveidqvist
d5e9f2e23e Merge pull request #1156 from gene1wood/extend_br_tag_regex
Extend the `br` tag regex
2019-12-31 07:56:21 -08:00
Marc Faber
bc59d015e6 #1154 Flow diagram DB shape request 2019-12-31 16:30:03 +01:00
Justin Greywolf
2decf94ad0 1064- Add click functionality to class diagrams
modified interaction functionality from flowcharts to work with class diagrams
2019-12-30 17:27:20 -08:00
Justin Greywolf
b52744ae18 Merge pull request #9 from mermaid-js/develop
update fork
2019-12-30 17:26:40 -08:00
Knut Sveidqvist
6cbbf0af2f Merge pull request #1159 from DavertMik/develop
Check tests on PR
2019-12-29 08:47:08 +01:00
Christian Klemm
5d7ef149aa Merge pull request #1161 from wfnuser/fix/typos-in-flowDb
Error typos in flowDb
2019-12-26 16:26:02 +01:00
Marc Faber
7ce0974767 #891 Clicking on a link only works directly on the node text 2019-12-26 15:38:53 +01:00
Sophie Dankel
7b12c7a07d Fix infinite loop caused by date iteration 2019-12-24 19:01:29 -08:00
Christian Klemm
728e3fd2f0 Added task list to pull request template 2019-12-24 23:37:18 +01:00
wfnuser
4eedeebd46 other/typos in flowDb 2019-12-24 16:14:42 +08:00
Michael Bodnarchuk
85fb12155b Create checks.yml (#1)
* Create checks.yml

* Update checks.yml
2019-12-24 00:08:38 +02:00
Justin Greywolf
f99daa696e Merge pull request #8 from mermaid-js/develop
merge from base
2019-12-23 12:21:44 -08:00
Gene Wood
b4f9dd46a9 Add tests for <br \t> case
This adds tests for the case where
* multiple pieces of whitespace are used
* one of those whitespace characters is a tab
2019-12-23 08:52:15 -08:00
Nacho
ffe16f89bb Merge pull request #1157
Fix mispelling
2019-12-23 11:33:49 -05:00
Gene Wood
7604d92d5c Fix mispelling 2019-12-23 08:11:47 -08:00
Gene Wood
3abd77a1e6 Extend the br tag regex
This extends the `br` tag regex to accommodate an arbitrary amount of
any type of whitespace instead of a single space character, which holds
more closely to the HTML spec[1]

This extends the fix to #702 added in #1153

[1]: http://www.w3.org/TR/REC-xml/#sec-starttags
2019-12-23 08:02:11 -08:00
Knut Sveidqvist
d96b79a9ba Merge pull request #1153 from GDFaber/bug/702_br_tags_in_sequence_diagrams
Bug/702 br tags in sequence diagrams
2019-12-23 10:04:30 +01:00
Knut Sveidqvist
14bb888c21 Merge pull request #1151 from Progressive-Insurance/bug/git-graph-clear
Git graph not clearing
2019-12-23 10:03:16 +01:00
Knut Sveidqvist
c8f59ea1a7 Merge pull request #1140 from jdavis61/docs/1124_incorrect_include
Removed docs reference to mermaidAPI.js
2019-12-23 08:56:40 +01:00
Marc Faber
233520b797 #702 improve handling of different "br" tag notations for multiline texts in sequence diagrams 2019-12-21 20:39:32 +01:00
GDFaber
061d31af33 Merge pull request #6 from mermaid-js/develop
sync fork
2019-12-21 00:02:01 +01:00
Matthew Schott
ec742d3180 fix git graph not clearing 2019-12-20 14:48:36 -05:00
Nacho
1bc62cfba4 Merge pull request #1150 2019-12-19 13:45:21 -05:00
erinleck@gmail.com
028d9a2667 changes tick contrast for gantt chart 2019-12-19 09:52:46 -07:00
Knut Sveidqvist
d53e00ffe0 Change of broken docs 2019-12-18 19:43:35 +01:00
Knut Sveidqvist
b90fcc1b71 test commit 2019-12-18 19:40:50 +01:00
Knut Sveidqvist
a4e7305d52 #834 Adding unit tests and rendering tests 2019-12-18 19:13:56 +01:00
Knut Sveidqvist
a3378f8d03 Merge pull request #1149 from mermaid-js/other/1143_utilze_browser_console_object_better
#1143 Adding support in grammar for multiple nodes in dependency decl…
2019-12-18 18:41:45 +01:00
Knut Sveidqvist
5716d163ec Merge branch 'develop' into other/1143_utilze_browser_console_object_better 2019-12-18 18:41:14 +01:00
Knut Sveidqvist
42ef035241 #834 Using space as separator, simplfifying the grammar some more, reomving some logging 2019-12-18 18:36:34 +01:00
Knut Sveidqvist
b6157195b3 Merge pull request #1148 from mermaid-js/other/1142_simplify_flowshart_grammar
#1142 Simplified arrows/edges in the grammar
2019-12-18 18:12:55 +01:00
GDFaber
b8ee68034d Merge pull request #5 from mermaid-js/develop
fork sync
2019-12-16 17:18:15 +01:00
Knut Sveidqvist
6598b1b10d #1143 Adding support in grammar for multiple nodes in dependency declarations 2019-12-15 18:10:52 +01:00
Knut Sveidqvist
4ff4058244 #1142 Simplified arrows/edges in the grammar 2019-12-15 13:34:35 +01:00
Knut Sveidqvist
dddd5af830 Merge pull request #1144 from mermaid-js/other/1143_utilze_browser_console_object_better
#1143 Fixing up the color output of the logger
2019-12-15 10:09:27 +01:00
Knut Sveidqvist
26fac9507e #1143 Fixing up the color putput of the logger 2019-12-15 09:50:24 +01:00
GDFaber
1f1c9698ce Merge pull request #4 from mermaid-js/develop
sync my fork
2019-12-15 02:18:38 +01:00
GitHub actions
56f7459617 Release 8.4.4 2019-12-14 08:50:41 +00:00
GitHub actions
86604b5de1 Bump version 8.4.4 2019-12-14 08:50:41 +00:00
Knut Sveidqvist
0544dbe891 Merge branch 'master' into develop 2019-12-14 09:27:38 +01:00
Knut Sveidqvist
6365cea0b2 Upgrading docs to 8.4.4 2019-12-14 09:26:21 +01:00
Knut Sveidqvist
7fef13346e Bumping version to 8.4.4 2019-12-14 09:00:53 +01:00
Knut Sveidqvist
81216e6ece Merge branch 'release/8.4.4' 2019-12-14 08:52:40 +01:00
James Davis
1d0b305332 Readded call to mermaidAPI in docs 2019-12-12 22:25:07 -05:00
James Davis
c10ccc011f Removed reference to mermaidAPI.js 2019-12-12 07:47:36 -05:00
Christian Klemm
3fe7995060 Merge pull request #1137 from mermaid-js/master
Master sync
2019-12-12 01:30:51 +01:00
Knut Sveidqvist
c441d04e8a Merge branch 'itprdev-issue-552' into develop 2019-12-11 21:31:33 +01:00
Knut Sveidqvist
52d84a99ac #552 Adding docs 2019-12-11 21:28:07 +01:00
Knut Sveidqvist
fcf20215a6 #552 Adding rendering test 2019-12-11 21:12:48 +01:00
Knut Sveidqvist
aa2f9622f8 Merge branch 'issue-552' of https://github.com/itprdev/mermaid into itprdev-issue-552 2019-12-11 21:10:11 +01:00
Knut Sveidqvist
1811318dea #1088 Adding rendering tests 2019-12-11 20:17:51 +01:00
Knut Sveidqvist
5eb50cb2b6 Merge pull request #1132 from GDFaber/develop_Bugfixes_linkStyle_910_1088
Flow: Bugfixes for link style
2019-12-11 20:04:32 +01:00
Knut Sveidqvist
f6ef6ff7db Merge pull request #1130 from GDFaber/develop
Flow: Add stadium shape for nodes
2019-12-11 19:48:47 +01:00
Knut Sveidqvist
2f33a80e1e Merge pull request #1131 from jgreywolf/1104(b)-SupportForAbstractMethodInClassDiagram
Class: Support for abstract methods
2019-12-11 19:43:32 +01:00
Justin Greywolf
363d49b655 Renumber render tests 2019-12-11 10:34:51 -08:00
Justin Greywolf
de8c6d5572 Merge branch 'develop' into 1104(b)-SupportForAbstractMethodInClassDiagram 2019-12-11 10:31:27 -08:00
Justin Greywolf
9406bda93d Merge pull request #7 from mermaid-js/develop
update fork
2019-12-11 10:24:17 -08:00
Knut Sveidqvist
d17a447a5f Merge pull request #1128 from mermaid-js/bug/1123_Upgrade_serialize-javascript
#1127 Ugrading of webpack and adding newer terser-webpack-plugin
2019-12-11 19:18:45 +01:00
Knut Sveidqvist
5b4e95484e Merge pull request #1120 from jgreywolf/1063-GenericTypeSupportInClassDiagrams
Class: Generic type support
2019-12-11 19:09:19 +01:00
Knut Sveidqvist
bebea41e19 Merge pull request #1121 from mermaid-js/pr_template
Add pull request template
2019-12-11 19:04:29 +01:00
Keenan Tullis
442474fc44 Merge branch 'develop' of https://github.com/mermaid-js/mermaid into feature/921_callback_params 2019-12-10 19:13:02 -05:00
Keenan Tullis
0d9112a4c1 Adds basic documentation for interaction with gantt 2019-12-10 19:04:42 -05:00
Keenan Tullis
d504e00e18 Adds simple tests for parsing callbacks wrt args 2019-12-10 18:27:06 -05:00
Justin Greywolf
74c8e7fad9 another style fix 2019-12-10 15:21:25 -08:00
Justin Greywolf
4b781d3827 remove extra space 2019-12-10 15:18:26 -08:00
Justin Greywolf
9fbcc5c32d Code style fix 2019-12-10 15:12:37 -08:00
Keenan Tullis
c7ec8190fb Gantt callback: default to node id as callback arg 2019-12-10 15:25:28 -05:00
Christian Klemm
b73a6d84ee Set release drafter sorting direction 2019-12-10 20:52:00 +01:00
Justin Greywolf
2eaa7f1ab6 Generic Type support for classes
Fixed typos after refactor
2019-12-10 11:39:25 -08:00
Marc Faber
608445e64f #910 set correct position and style for edge labels when using linkStyle, #1088 handle multiline texts in edge labels when using linkStyle 2019-12-10 03:51:37 +01:00
Marc Faber
1f4be77662 Revert "#910 set correct position and style for edge labels when using linkStyle, #1088 handle multiline texts in edge labels when using linkStyle" - Sorry, forgot to push to a new branch.
This reverts commit 0deae4abf9.
2019-12-10 03:48:12 +01:00
Marc Faber
0deae4abf9 #910 set correct position and style for edge labels when using linkStyle, #1088 handle multiline texts in edge labels when using linkStyle 2019-12-10 03:34:40 +01:00
Justin Greywolf
5b2f9351c7 Add support for abstract methods
Added logic to allow rendering of a method name with italics or underline based on modifier at beginning of name to set css style
2019-12-09 18:13:06 -08:00
Justin Greywolf
6fdf30357c 1104-Add support to designate a method as abstract
Added logic to allow rendering of a method name with italics or underline based on modifier at beginning of name to set css style
2019-12-09 17:41:26 -08:00
Justin Greywolf
cf5d7478fc Merge pull request #6 from mermaid-js/develop
Merge
2019-12-09 11:42:26 -08:00
Marc Faber
9a0df5afb0 #723 Add stadium shape for flowchart nodes 2019-12-08 16:51:47 +01:00
GDFaber
813b2fcb38 Merge pull request #3 from mermaid-js/develop
sync develop branch
2019-12-08 16:43:28 +01:00
Christian Klemm
08cbc0f187 Merge pull request #1129 from mermaid-js/master
Master sync
2019-12-08 13:14:32 +01:00
Knut Sveidqvist
d8251c8f79 Merge pull request #1126 from mermaid-js/bug/935_styling_of_dotted_think_links
#935 Fix for stylink of links. Default theme colors are picked up and…
2019-12-08 10:51:28 +01:00
Knut Sveidqvist
5ea70baa6f #1127 Ugrading of webpack and adding newer terser-webpack-plugin 2019-12-08 10:42:41 +01:00
Knut Sveidqvist
d23ce9fb63 #935 Fix for stylink of links. Default theme colors are picked up and styling via themeCSS works 2019-12-08 10:10:03 +01:00
Knut Sveidqvist
ddf8016a0c Merge pull request #1125 from mermaid-js/bug/903_flochart_escaping_in_non_html_mode
Bug/903 flowchart escaping in non html mode
2019-12-08 09:57:48 +01:00
Knut Sveidqvist
ab191abd5a #903 Fix for broken build 2019-12-07 15:06:44 +01:00
Knut Sveidqvist
c2e5e94b37 #903 Allowing >,< and = characters in svg. Updating xss tests to handle both htmlLabels and non htmlLabels 2019-12-07 12:19:45 +01:00
Justin Greywolf
6a9b251be1 Fix code style errors 2019-12-06 20:35:22 -08:00
Christian Klemm
6b5185abfb Create pull_request_template.md 2019-12-06 21:41:16 +01:00
Justin Greywolf
2a41280076 Add support for Generic class definitions
Added support in parser to translate characters surrounded by `~` into generic type definition ie: `Class01~T~` would turn into `Class01<T>`
2019-12-05 12:59:22 -08:00
Justin Greywolf
91d986970b Merge pull request #5 from mermaid-js/develop
Develop
2019-12-05 12:58:48 -08:00
Christian Klemm
b4192bba7a Added skip changelog label to release drafter 2019-12-04 19:35:25 +01:00
Knut Sveidqvist
9fe0aa0604 Merge pull request #1116 from mermaid-js/bug/1110_state_diagram_rendering_composit_state
Bug/1110 state diagram rendering composit state
2019-12-04 19:15:06 +01:00
Knut Sveidqvist
fc528749f8 Merge pull request #1114 from mermaid-js/feature/1112_revert_offical_dagre_d3
Feature/1112 Revert to offical dagre d3
2019-12-04 19:14:35 +01:00
Knut Sveidqvist
5c71a3c85b #1110 Fix for transparent rect under edge title, was misaligned 2019-12-04 18:20:28 +01:00
Knut Sveidqvist
94e768dd01 #1110 Cleanup and removal of loggings 2019-12-04 18:04:56 +01:00
Knut Sveidqvist
0fb91d6bcc #1110 Fixing height issue 2019-12-03 23:38:51 +01:00
Knut Sveidqvist
02854881b4 #1110 Zoom in a bit 2019-12-03 22:48:55 +01:00
Christian Klemm
4254781391 Adjusted imports 2019-12-03 22:09:43 +01:00
Christian Klemm
31f4f4096e upgraded packages 2019-12-03 22:05:39 +01:00
Christian Klemm
e95e016378 switched to official dagre d3 2019-12-03 21:59:28 +01:00
Knut Sveidqvist
c337c9128c Merge branch 'master' into bug/1110_state_diagram_rendering_composit_state 2019-12-03 21:04:18 +01:00
Knut Sveidqvist
5a38562bfc #1110 Handling case with concurrency lines 2019-12-03 20:59:17 +01:00
Justin Greywolf
a3dd0e5f7d Merge pull request #4 from mermaid-js/develop
Merge from main
2019-12-02 16:00:32 -08:00
Knut Sveidqvist
fcd1e106a5 #1110 Handling case when title is less wide then subgraph 2019-12-02 21:22:22 +01:00
Knut Sveidqvist
346328156a #1110 Adding tests for this case and some calcuations for width 2019-12-02 21:10:37 +01:00
Christian Klemm
3239f99ea8 Set develop branch for release drafter 2019-12-02 14:48:16 +01:00
Christian Klemm
93c32d3f29 Set develop branch for release drafter 2019-12-02 14:47:34 +01:00
Christian Klemm
98449dac3f Set develop branch for release drafter 2019-12-02 14:43:55 +01:00
Knut Sveidqvist
32b60edda7 Merge branch 'develop' 2019-12-01 13:36:04 +01:00
Knut Sveidqvist
823c95bd9c Updated mermaid version 2019-12-01 13:34:43 +01:00
Knut Sveidqvist
e99d872f2b Create FUNDING.yml 2019-12-01 09:15:56 +01:00
Knut Sveidqvist
de8f8b02dc Merge branch 'master' into develop 2019-12-01 07:54:02 +01:00
Knut Sveidqvist
eec45dfff9 Merge branch 'release/8.4.3' 2019-12-01 07:52:44 +01:00
Knut Sveidqvist
cce86c8e96 Merge pull request #1107 from chris579/feature/1106_release_management
Feature/1106 Release management
2019-12-01 07:34:59 +01:00
Christian Klemm
aabdc47c38 small fixes 2019-12-01 01:06:00 +01:00
Knut Sveidqvist
cb07a729e5 Merge pull request #1098 from mermaid-js/feature/1053_documentation-update
Feature/1053 documentation update
2019-12-01 00:42:41 +01:00
Knut Sveidqvist
df10f7fbe7 Merge pull request #1103 from penenkel/patch-2
Bug/1030 Adjust babel config to account for IE11
2019-12-01 00:42:02 +01:00
Knut Sveidqvist
71c531240f Merge pull request #1089 from jgreywolf/1073-CommentsInClassDiagrams
Bug/1073 Comments in class diagrams
2019-12-01 00:39:33 +01:00
Christian Klemm
1e83207dac small fixes 2019-12-01 00:39:09 +01:00
Christian Klemm
3311fcdc8e Reenable yarn install 2019-12-01 00:21:12 +01:00
Christian Klemm
f368be925f Removed release branch deletion 2019-12-01 00:18:49 +01:00
Christian Klemm
075c57ca06 Check out branches 2019-12-01 00:03:06 +01:00
Christian Klemm
49fc80d506 Prepare git for push 2019-11-30 23:54:42 +01:00
Christian Klemm
74fc2fcfa9 Release tag fixes 2019-11-30 23:49:04 +01:00
Christian Klemm
7cc427e28d Disable yarn install 2019-11-30 23:36:13 +01:00
Christian Klemm
87c571412c version fix 2019-11-30 23:35:39 +01:00
Christian Klemm
ab093b2cde Remove v from release tag 2019-11-30 23:28:48 +01:00
Christian Klemm
bbc4ede768 Added first workflows 2019-11-30 23:23:09 +01:00
penenkel
64c20dc528 Bug/1030 Adjust babel config to account for IE11
An attempt at adding IE11 compatibility (`ie >= 11`) while preserving the current requirements (`current node`) and following browserlist [best practices](https://github.com/browserslist/browserslist#best-practices) (`defaults`).
2019-11-29 23:06:49 +01:00
Knut Sveidqvist
50ea9bda89 Removed loggin 2019-11-28 11:41:54 -05:00
Nacho
2cf8c4e37a Absolute URIs in readme images 2019-11-28 11:41:54 -05:00
Knut Sveidqvist
fe4719f656 Added analytics for docs 2019-11-28 11:41:54 -05:00
James A. Bednar
1d43b7b316 Fixed typos 2019-11-28 11:41:54 -05:00
Itprdev
78e4fead49 Feature request 552. Gnatt chart task with multiple dependencies 2019-11-28 16:53:33 +02:00
Nacho
02d5143ff2 Merge pull request #1095 from mermaid-js/fixes/readme-uris
Absolute URIs in readme images
2019-11-28 08:28:12 -05:00
Erik Ellingsen
d9c92b2c6d syntax error 2019-11-28 13:22:02 +01:00
Erik Ellingsen
27ac9bbaf3 polish 2019-11-28 13:14:29 +01:00
Erik Ellingsen
11cdd393f2 Knuts comments 2019-11-28 13:13:26 +01:00
Erik Ellingsen
1ca8578035 polish 2019-11-28 13:07:14 +01:00
Erik Ellingsen
2516718882 Clarification 2019-11-28 13:06:16 +01:00
Erik Ellingsen
5283314c4f Polish 2019-11-28 13:03:58 +01:00
Erik Ellingsen
dcae8da0d1 Better header 2019-11-28 13:01:24 +01:00
Erik Ellingsen
34f2a1a02f polish 2019-11-28 13:00:12 +01:00
Erik Ellingsen
ee5a68a23c Better intro 2019-11-28 12:59:34 +01:00
Erik Ellingsen
6c706ccd9f Diagram references 2019-11-28 12:57:55 +01:00
Erik Ellingsen
94106f5825 Added syntax reference link 2019-11-28 12:53:33 +01:00
Erik Ellingsen
72ab2b8011 Added coming soon 2019-11-28 12:44:37 +01:00
Erik Ellingsen
8978ab5917 Links added 2019-11-28 12:43:55 +01:00
Erik Ellingsen
94577316f9 Drafting advanced usage 2019-11-28 12:38:42 +01:00
Erik Ellingsen
91650fb052 Script bug and clarifications 2019-11-28 12:34:26 +01:00
Knut Sveidqvist
e9aa037230 Removed loggin 2019-11-27 20:15:21 +01:00
Nacho
871e6f691c Absolute URIs in readme images 2019-11-27 14:12:34 -05:00
Knut Sveidqvist
fe60836a89 Added analytics for docs 2019-11-27 20:08:54 +01:00
Knut Sveidqvist
bea2e73b82 #1065 Updated dependency of dagre-d3 to unofficial release 2019-11-27 19:09:14 +01:00
Nacho
481e55e8da Merge pull request #1090 from jgreywolf/1074-CommentsDocumentation
Bug/1074 Comments documentation
2019-11-27 11:23:50 -05:00
Justin Greywolf
d26a67297a Updated documentation with comment syntax 2019-11-26 15:34:52 -08:00
Justin Greywolf
753bd7e1d9 Update class diagrams to handle comments
updated regex in parser to correctly handle comments in class diagrams.  Also updated flowchart parser to remove unused elements for comments, as well as modifying the regex to match
2019-11-26 11:23:07 -08:00
Justin Greywolf
b57492c1c6 Initial checkin 2019-11-26 11:22:21 -08:00
Justin Greywolf
4ff5c3b455 Merge pull request #3 from mermaid-js/develop
Develop
2019-11-26 11:20:20 -08:00
Knut Sveidqvist
f62c47a757 Updating version to 8.4.3 2019-11-23 13:10:27 +01:00
Knut Sveidqvist
a85bb0d86f Merge pull request #1086 from chris579/bug/1085_coveralls_build_fix
Bug/1085 Coveralls not working for GitHub builds
2019-11-21 20:58:49 +01:00
Knut Sveidqvist
5736d523dd Merge pull request #1081 from jgreywolf/Bug1061-CannotMarkMembersAsProtectedInClassDiagram
Bug/1061 Cannot mark members as protected in class diagram
2019-11-21 20:54:15 +01:00
Justin Greywolf
5004b5723d Added separate render test 2019-11-21 11:17:53 -08:00
Knut Sveidqvist
ad2802d8e8 Merge pull request #1084 from mermaid-js/bug/1078_handling_of_arrowMarkerAbsolute
Bug/1078 handling of arrow marker absolute
2019-11-20 21:50:50 +01:00
Christian Klemm
3fedd452a5 added parallel build support 2019-11-20 21:18:19 +01:00
Christian Klemm
292bc3c4e5 Switched to coveralls action 2019-11-20 21:11:48 +01:00
Knut Sveidqvist
512ba8e733 Merge pull request #1077 from mermaid-js/bug/1076_remove_jest_packages
Bug/1076 Remove jest packages
2019-11-20 19:42:55 +01:00
Knut Sveidqvist
9a87ff684d Removed logging 2019-11-20 19:33:42 +01:00
Knut Sveidqvist
f79fc21bfc Merge branch 'develop' into bug/1078_handling_of_arrowMarkerAbsolute 2019-11-20 19:22:10 +01:00
Knut Sveidqvist
ffddd58b6b Merge branch 'develop' of github.com:knsv/mermaid into develop 2019-11-20 19:21:34 +01:00
Knut Sveidqvist
087e5eaa32 #1055 Fix for tests 2019-11-20 19:21:19 +01:00
Knut Sveidqvist
cbd27831df #1078 Lint fixes 2019-11-20 19:14:32 +01:00
Knut Sveidqvist
f6028b63b6 #1078 Using the configuration of the arrowMarkerAbsolute 2019-11-20 19:06:46 +01:00
Justin Greywolf
a60e01db97 Corrected typo in test 2019-11-19 13:02:08 -08:00
Justin Greywolf
68c2ea38c9 Bug1061-CannotMarkMembersAsProtectedInClassDiagram
Using # to indicate protected status of a member or method causing parser error when not used inside class declaration brackets {}.  Removed '#' from `LABEL` regex
2019-11-19 12:49:59 -08:00
Justin Greywolf
3469cfca2f Merge pull request #2 from mermaid-js/develop
Develop
2019-11-19 12:49:39 -08:00
Christian Klemm
afd189d24c removed packages 2019-11-19 21:02:56 +01:00
Knut Sveidqvist
06cb09c267 Merge pull request #1049 from mermaid-js/feature/1048_build_workflows
Feature/1048 Build workflows
2019-11-19 19:45:27 +01:00
Nacho
e461b57a48 Merge pull request #1075 from jbednar/master
Fixed typos
2019-11-19 08:33:22 -05:00
James A. Bednar
eca9d49575 Fixed typos 2019-11-18 09:32:39 -06:00
Nacho
15a37a5062 Merge pull request #1070 from GDFaber/develop
Bug/1062 Parallelogram shaped nodes are not in documentation
2019-11-18 08:41:24 -05:00
Christian Klemm
3f8f9eb92c remove debugging 2019-11-17 22:20:53 +01:00
Christian Klemm
33de2bda9e cypress cache folder fix 2019-11-17 22:13:02 +01:00
Christian Klemm
94d913fbab debug 2019-11-17 22:04:50 +01:00
Christian Klemm
beb1fcc176 debug 2019-11-17 21:58:53 +01:00
Christian Klemm
1e1a6e3a2d debug 2019-11-17 21:54:15 +01:00
Christian Klemm
6e7c21e439 debug 2019-11-17 21:47:05 +01:00
Christian Klemm
cfe9aaf639 adjusts 2019-11-17 21:41:55 +01:00
Christian Klemm
69e701befb adjusts 2019-11-17 21:27:30 +01:00
Christian Klemm
5174a085b7 test path pattern adjust 2019-11-17 21:21:25 +01:00
Christian Klemm
15fab69eca cache adjusts 2019-11-17 21:03:08 +01:00
Christian Klemm
20b103a0fb cache adjusts 2019-11-17 21:00:55 +01:00
Christian Klemm
8ebe7ee81a cache adjusts 2019-11-17 20:57:55 +01:00
Marc Faber
1d747f664b #1062 added parallelogram nodes to documentation 2019-11-17 17:37:30 +01:00
GDFaber
dbf5988c28 Merge pull request #2 from mermaid-js/develop
sync fork
2019-11-17 17:14:49 +01:00
Christian Klemm
31ab0e4b7d Clear cache 2019-11-12 22:15:49 +01:00
Christian Klemm
35ea7083bb fix cypress cache 2019-11-12 22:12:53 +01:00
Christian Klemm
bf90e8bf44 switched caching method 2019-11-12 22:10:16 +01:00
Christian Klemm
b1305644f4 fixed cypress cache folder 2019-11-12 22:04:47 +01:00
Christian Klemm
34707a057b temp delete cache 2019-11-12 21:58:05 +01:00
Christian Klemm
f5e90252f1 force reinstalling packages 2019-11-12 21:52:50 +01:00
Christian Klemm
e75acf69aa Adjusted cache location 2019-11-12 21:43:11 +01:00
Christian Klemm
3ad3fc2622 Cache adjusts 2019-11-12 21:24:35 +01:00
Christian Klemm
a59468d6c1 Caching adjusts 2019-11-12 21:20:05 +01:00
Christian Klemm
86e63b1614 Add caching 2019-11-12 21:14:42 +01:00
Knut Sveidqvist
3f8f9f6711 #1055 Better selectors 2019-11-08 20:15:48 +01:00
Knut Sveidqvist
d01f494277 Merge branch 'master' into develop 2019-11-08 19:32:54 +01:00
Knut Sveidqvist
4db525c6a9 #1050 Merge of PR 2019-11-08 11:42:26 +01:00
Erik Ellingsen
8b5f8b0cb4 grammar 2019-11-08 10:36:41 +01:00
Erik Ellingsen
d0c9b5e98f grammar 2019-11-08 10:35:38 +01:00
Knut Sveidqvist
e313625ccb Fixing the conflict 2019-11-08 08:54:48 +01:00
erelling
7dead548f3 Update n00b-gettingStarted.md 2019-11-08 01:59:44 +01:00
erelling
8db46ff762 Update n00b-overview.md 2019-11-08 01:57:18 +01:00
erelling
93f54a997a Update n00b-gettingStarted.md 2019-11-08 01:53:58 +01:00
erelling
1353491952 Update n00b-gettingStarted.md 2019-11-08 01:47:34 +01:00
erelling
00802ffe7a Update n00b-gettingStarted.md 2019-11-08 01:45:29 +01:00
erelling
78e556aaf7 Update n00b-gettingStarted.md 2019-11-08 01:44:12 +01:00
erelling
e34988d65a Update n00b-gettingStarted.md 2019-11-08 01:32:09 +01:00
erelling
07f5c7c89c Update n00b-gettingStarted.md 2019-11-08 01:31:21 +01:00
erelling
7319d8941a Update n00b-gettingStarted.md 2019-11-08 01:25:41 +01:00
erelling
3d7933135b Update n00b-gettingStarted.md 2019-11-08 01:23:33 +01:00
erelling
a778472461 Update n00b-gettingStarted.md 2019-11-08 01:21:50 +01:00
erelling
cbe2a7446d Update n00b-gettingStarted.md 2019-11-08 01:17:21 +01:00
erelling
8251dc5cd1 Update n00b-gettingStarted.md 2019-11-08 01:16:16 +01:00
erelling
5a4103a248 Update n00b-gettingStarted.md 2019-11-08 01:15:41 +01:00
erelling
d7996f5c1a Update n00b-gettingStarted.md 2019-11-08 01:14:38 +01:00
erelling
db4229f033 Update n00b-gettingStarted.md 2019-11-08 01:13:14 +01:00
erelling
e103664963 Update n00b-gettingStarted.md 2019-11-08 01:12:14 +01:00
erelling
fbf3936ddc Update n00b-overview.md 2019-11-08 01:11:07 +01:00
erelling
62d03f1976 Update n00b-overview.md 2019-11-08 01:10:24 +01:00
erelling
f3ea159c6b Update n00b-overview.md 2019-11-08 01:08:14 +01:00
erelling
3c99294a3a Update n00b-overview.md 2019-11-08 01:06:57 +01:00
erelling
7a2a8cffbb Update n00b-overview.md 2019-11-08 01:06:20 +01:00
erelling
6d90f87b2f Update n00b-overview.md 2019-11-08 01:04:21 +01:00
erelling
f506d24a82 Update n00b-overview.md 2019-11-08 01:01:37 +01:00
Erik Ellingsen
ddb0d23ca7 grammar 2019-11-08 00:04:53 +01:00
Erik Ellingsen
763be9bb95 better instruction 2019-11-07 23:52:47 +01:00
Erik Ellingsen
77109144e7 grammar 2019-11-07 23:47:34 +01:00
Erik Ellingsen
840e7bd985 clarification 2019-11-07 23:47:08 +01:00
Erik Ellingsen
a6c12f4b25 clarification 2019-11-07 23:46:30 +01:00
Erik Ellingsen
e8e9a4d07b simplification 2019-11-07 23:45:23 +01:00
Erik Ellingsen
ba00182ce4 Clarification 2019-11-07 23:44:47 +01:00
Erik Ellingsen
2ad78ee3b8 grammar 2019-11-07 23:42:56 +01:00
Erik Ellingsen
4995d59499 Knuts comments 2019-11-07 23:42:07 +01:00
Erik Ellingsen
d58ef7aa36 Removed redundant heading 2019-11-07 23:40:13 +01:00
Erik Ellingsen
dc59632fb3 Polishing 2019-11-07 23:37:46 +01:00
Erik Ellingsen
1542e15a1b Introduction and getting started howtos 2019-11-07 23:15:53 +01:00
Ashish Jain
5b5be40dd5 Fixing the binding function error 2019-11-07 22:09:34 +01:00
Knut Sveidqvist
1ecf0f4c23 Updated version 2019-11-07 21:16:43 +01:00
Knut Sveidqvist
fa7d1ac554 #1023 Fix for interaction tests 2019-11-07 19:42:09 +01:00
Knut Sveidqvist
48ce7a9b78 #1023 Fix for tests 2019-11-07 19:19:44 +01:00
Knut Sveidqvist
09bf54f9af #1038 Updated prefix for the internal dom id 2019-11-07 19:14:06 +01:00
Erik Ellingsen
43b9bcdb0b version update 2019-11-07 18:39:57 +01:00
knsv
a3017b8456 Merge branch 'release/8.4.1' 2019-11-06 10:52:10 -08:00
MATSUDA Takashi
aac915b285 #1044 fix: Multiple class diagrams are not rendered correctly 2019-11-05 18:00:52 +09:00
MATSUDA Takashi
7208f045c1 add test for multiple class diagram 2019-11-05 17:54:52 +09:00
MATSUDA Takashi
f7a3c42da1 e2e support multiple diagram 2019-11-05 17:54:52 +09:00
Christian Klemm
4d1c53eb1e added percy token 2019-11-03 19:40:15 +01:00
Christian Klemm
7bcc9b19ac fixed vars 2019-11-03 18:30:01 +01:00
Christian Klemm
7cfc729679 added coveralls vars 2019-11-03 18:28:27 +01:00
Christian Klemm
1f8480f0af Added npm badge (#1047) 2019-11-03 16:18:43 +01:00
Christian Klemm
ec3b68ad28 Added build workflow 2019-11-03 15:20:10 +01:00
Nacho
3674e27e0f Reworked readme (#1045) 2019-11-01 13:38:00 -04:00
Knut Sveidqvist
e4486420ce Update some path changes after repo move 2019-10-30 20:21:35 +01:00
Knut Sveidqvist
fe64cc697b Updated version 2019-10-30 20:01:54 +01:00
Knut Sveidqvist
97177dffd6 Updated coveralls badge 2019-10-30 19:54:47 +01:00
Knut Sveidqvist
061a02dddc Merge branch 'develop' of github.com:knsv/mermaid into develop 2019-10-30 19:48:43 +01:00
Knut Sveidqvist
1f72c3e720 Updating the repo path after migration to mermaid-js 2019-10-30 19:48:37 +01:00
Knut Sveidqvist
8270469652 Update README.md 2019-10-30 19:44:53 +01:00
Knut Sveidqvist
5e6590a0f7 Fix of travis badge for new org 2019-10-30 19:40:02 +01:00
Knut Sveidqvist
06dfd13927 Merge pull request #1041 from mermaid-js/maintainence_pie
Maintainance pie
2019-10-30 19:34:19 +01:00
ashishjain0512
486cc92f2e Merge pull request #1039 from lf-novelt/master
Support for underscore in classDiagrams class names
2019-10-30 19:01:11 +01:00
Ashish Jain
e8d649b152 Updated documentation for Pie Chart 2019-10-30 18:32:07 +01:00
Ashish Jain
e96bd14d21 Updated Examples for Pie Chart 2019-10-30 18:30:14 +01:00
Ashish Jain
e4a2d2a290 Updated Jest test cases for Pie diagram 2019-10-30 18:29:26 +01:00
Louis Frament
d8d5d0fa61 update classDiagram documentation:
fix typos and describe naming convention
2019-10-29 17:50:19 +01:00
Louis Frament
e010a03dd5 package-lock version update 2019-10-29 17:39:39 +01:00
Louis Frament
427aea73e7 test pass with underscore in a class name 2019-10-29 17:39:15 +01:00
Louis Frament
c4436b7a1e ALPHA pattern now include underscore 2019-10-29 17:20:25 +01:00
Knut Sveidqvist
d098051047 Merge pull request #1035 from knsv/bug/1033_state_diagram_new_lines_in_notes
Bug/1033 state diagram new lines in notes
2019-10-28 06:56:33 +01:00
Knut Sveidqvist
034a7c424d #1033 Better handling of multiline notes 2019-10-27 17:16:29 +01:00
Knut Sveidqvist
b113436055 #1033 Fix for diagram bounds and viewbox 2019-10-27 16:58:32 +01:00
Knut Sveidqvist
e550d974da Merge pull request #1032 from knsv/bug/1031_stricter_code_checks
Fix for Bug/1031 stricter code checks
2019-10-27 15:33:48 +01:00
Knut Sveidqvist
bc34ef4b66 Merge pull request #1028 from knsv/Issue-1027_Pie-Chart-Legends
#1027  Updated Pie chart to render percentages and labels separately …
2019-10-27 15:26:54 +01:00
Knut Sveidqvist
a5cc1e804b #1031 Adding stricter code checks 2019-10-27 15:24:56 +01:00
Knut Sveidqvist
aac51979cc Merge branch 'develop' of github.com:knsv/mermaid into develop 2019-10-24 19:47:14 +02:00
Knut Sveidqvist
8f8638fb7c #1029 Linting fixes 2019-10-24 19:46:42 +02:00
Knut Sveidqvist
d1c74070ab #1029 Fix for issues after switching to master branch of dagre-d3 2019-10-24 19:33:13 +02:00
Nacho
ee01d09af5 Merge pull request #1008
Added e2e tests to prepublish task
2019-10-24 08:52:05 -04:00
Nacho
caaf4e3e40 Merge pull request #1010
Delete package-lock.json
2019-10-24 08:49:41 -04:00
Nacho
34037e58e5 Added package-lock to gitignore 2019-10-24 08:48:55 -04:00
Knut Sveidqvist
66152b42ae #1023 New line in transition labels, basic support 2019-10-23 21:16:59 +02:00
Ashish Jain
76c8737485 #1027 Updated Pie chart to render percentages and labels separately as legends 2019-10-23 21:00:33 +02:00
Knut Sveidqvist
4a1eb55127 #1022 Fix for long names for state diagrams 2019-10-23 19:22:36 +02:00
Knut Sveidqvist
c87637c6f4 #1024 Removal of leftover loggings 2019-10-23 18:47:41 +02:00
Knut Sveidqvist
364b81a1b9 Merge pull request #1018 from pravi/switch-to-dagre-d3
Use dagre-d3 master branch (for d3v5)
2019-10-23 18:38:45 +02:00
Nacho
d4c8cf66ef Merge pull request #1025
Spelling, markdown lint cleanup
2019-10-23 09:21:30 -04:00
Doug Hill
08762bc066 Spelling, markdown lint cleanup
Fixed spelling errors. Applied some markdown lint standards.
2019-10-22 20:10:35 -10:00
Nacho
0add11a257 Merge pull request #1021 from knsv/master
Keeping development branch up to date
2019-10-21 13:45:47 -04:00
Pirate Praveen
ca5e60b38b Use dagre-d3 master branch (for d3v5) 2019-10-21 22:46:20 +05:30
Knut Sveidqvist
0e7876536d Highlighting state diagrams and class diagrams in the readme 2019-10-21 22:46:19 +05:30
Nacho
be61a03a98 Removed gitter and added slack badge 2019-10-21 22:46:19 +05:30
abeaton
50c707ba51 Fix typos in CONTRIBUTING.md 2019-10-21 22:46:18 +05:30
Sakis bal
2a2fd7a8b1 Small gramatical mistake 2019-10-21 22:46:18 +05:30
Kolja Markwardt
ad126c838e reference the CONTRIBUTING.md in README 2019-10-21 22:46:18 +05:30
Knut Sveidqvist
cafc18a78f Highlighting state diagrams and class diagrams in the readme 2019-10-21 12:38:01 -04:00
Nacho
ffca12a8b0 Removed gitter and added slack badge 2019-10-21 12:38:01 -04:00
abeaton
137f57ad9c Fix typos in CONTRIBUTING.md 2019-10-21 12:38:01 -04:00
Sakis bal
153b3322a6 Small gramatical mistake 2019-10-21 12:38:01 -04:00
Kolja Markwardt
575535bdbd reference the CONTRIBUTING.md in README 2019-10-21 12:38:01 -04:00
Knut Sveidqvist
61a3802494 Highlighting state diagrams and class diagrams in the readme 2019-10-19 17:45:56 +02:00
knsv
0157f665a3 Merge branch 'release/8.4.0' 2019-10-19 07:59:04 -07:00
Knut Sveidqvist
d366605d91 Merge branch 'release/8.4.0' of github.com:knsv/mermaid into release/8.4.0 2019-10-19 16:19:56 +02:00
Knut Sveidqvist
fd5bcad5d6 Fixes after verification, version upgrade 2019-10-19 14:44:54 +02:00
Knut Sveidqvist
7adb80b35b Fixes after verification, font-family set to label of transitions in statediagram 2019-10-19 14:43:26 +02:00
Knut Sveidqvist
dc88e7a2c2 Fixes after verification, documentation of stateDiagram 2019-10-19 14:42:34 +02:00
Nacho
dd68a7151f Removed gitter and added slack badge 2019-10-18 09:57:51 -04:00
Nacho
bf2497ea3e Merge pull request #1014
Fix typos in CONTRIBUTING.md
2019-10-18 09:46:36 -04:00
abeaton
202c889246 Fix typos in CONTRIBUTING.md 2019-10-18 09:41:51 -04:00
Knut Sveidqvist
ec0e93bd6f Merge pull request #1012 from knsv/develop
Moving resolution for #1001 to the release branch for proper prerelease publish
2019-10-17 19:43:31 +02:00
Knut Sveidqvist
def9bef988 Merge pull request #1002 from knsv/feature/1001_alpha_releases_for_release_branches
Feature/1001 preview releases for release branches
2019-10-17 19:31:56 +02:00
Christian Klemm
c3db9032f3 Delete package-lock.json 2019-10-16 23:53:19 +02:00
Christian Klemm
016dc17d94 clean up branch 2019-10-16 22:16:25 +02:00
Christian Klemm
8e1672568a added preview builds to readme 2019-10-16 22:09:33 +02:00
Christian Klemm
42b8ac1235 Added e2e tests to prepublish task 2019-10-16 22:00:57 +02:00
Christian Klemm
2348f9d785 finished ci 2019-10-16 21:57:35 +02:00
Christian Klemm
04f86ef130 testing 2019-10-16 21:50:06 +02:00
Nacho
f436086aae Merge pull request #1004
Small gramatical mistake
2019-10-16 08:32:08 -04:00
Sakis bal
1b813d371d Small gramatical mistake 2019-10-16 10:08:24 +03:00
Knut Sveidqvist
8f49d96c3a Merge pull request #1000 from edekadigital/doc-contributing
reference the CONTRIBUTING.md in README
2019-10-16 08:48:02 +02:00
Christian Klemm
49f5b8d150 testing 2019-10-16 03:42:37 +02:00
Christian Klemm
f0bbb063dd testing 2019-10-16 03:34:22 +02:00
Christian Klemm
d95a9469ac testing 2019-10-16 03:23:22 +02:00
Christian Klemm
6e088d17fd testing 2019-10-16 03:15:33 +02:00
Christian Klemm
42aeafc907 testing 2019-10-16 02:54:11 +02:00
Christian Klemm
3073b6559c testing 2019-10-16 02:44:22 +02:00
Christian Klemm
af57da8e6b testing 2019-10-16 02:40:09 +02:00
Christian Klemm
56e9abfc92 testing 2019-10-15 23:28:16 +02:00
Christian Klemm
61b4c6d3ac testing 2019-10-15 23:24:13 +02:00
Christian Klemm
7e6b43236a testing 2019-10-15 23:19:05 +02:00
Christian Klemm
6a33ac05a3 workflow adjusts 2019-10-15 23:18:26 +02:00
Christian Klemm
5f1246280c Added alpha release build ci 2019-10-15 22:43:36 +02:00
Kolja Markwardt
ecef0c78d2 reference the CONTRIBUTING.md in README 2019-10-15 22:22:01 +02:00
Knut Sveidqvist
0ce42e6185 Merge pull request #994 from edekadigital/bug-478
#478 API crashes on 2nd render() call
2019-10-15 19:40:29 +02:00
Knut Sveidqvist
3709d9d5c8 Merge pull request #996 from edekadigital/bug-783
#783 Hard to customize font-size for gantt charts
2019-10-15 19:38:20 +02:00
Knut Sveidqvist
e65f916ba5 Merge pull request #992 from edekadigital/enhancement-958
#958 Cannot center-justify text in nodes
2019-10-15 18:54:28 +02:00
Knut Sveidqvist
f9c8ce1ac7 Merge branch 'master' into develop 2019-10-15 18:50:11 +02:00
Knut Sveidqvist
b881e5c69c Merge pull request #991 from christopherkade/feature/divided-flow-tests
#906 Divided flow unit tests
2019-10-15 18:43:39 +02:00
Knut Sveidqvist
51a89c80aa Merge pull request #985 from knsv/bug/984_bracket_syntax_properties_reversed_order
bug/984 Class diagram: properties with bracket syntax are reversed in order
2019-10-15 18:39:20 +02:00
Knut Sveidqvist
97a5f408d2 Merge pull request #978 from aledileo/bugfix/node12
Updates node-sass to 4.12 and regenerates lockfiles
2019-10-15 18:38:47 +02:00
Knut Sveidqvist
2f00d7d145 Merge branch 'master' of github.com:knsv/mermaid 2019-10-15 18:36:55 +02:00
Kolja Markwardt
d743838716 #478 API crashes on 2nd render() call
- add e2e test for (re)rendering by api
2019-10-15 17:36:02 +02:00
Kolja Markwardt
069b4854f8 #478 API crashes on 2nd render() call
- remove element from DOM before rendering to avoid conflicts in case of rerendering
2019-10-15 17:36:02 +02:00
Kolja Markwardt
f089c45115 #958 Cannot center-justify text in nodes
- changed fit() to it() to reactivate test
2019-10-15 16:02:11 +02:00
Kolja Markwardt
90fe015d68 #958 Cannot center-justify text in nodes
- assign text-align style to text node to allow aligning of node text
2019-10-15 16:02:11 +02:00
Kolja Markwardt
96c86fd4b2 #783 Hard to customize font-size for gantt charts
- deselect theme style if font-size is set on the taskText element (e.g. via gantt-config)
2019-10-15 15:59:36 +02:00
Nacho
d921c36cd4 Merge pull request #998
Added missing code snippets for trapezoid nodes in flow chart documentation
2019-10-15 09:59:24 -04:00
Paweł Gajda
4a552069cf Added missing code snippets for trapezoid nodes in flow chart 2019-10-15 15:45:04 +02:00
Nacho
74c171b6d1 Merge pull request #997 from knsv/master 2019-10-15 09:17:46 -04:00
Ashish Jain
1ae1313edd #993 Added mermaid documentation for class diagram-minor fixes 2019-10-15 00:32:21 +02:00
Ashish Jain
5949d01821 #993 Added mermaid documentation for class diagram-minor fixes 2019-10-15 00:05:49 +02:00
Ashish Jain
3cdb0ae4c8 #993 Added mermaid documentation for class diagram 2019-10-14 22:59:26 +02:00
christopherkade
89b6ccf47d #906 Divided flow unit tests 2019-10-14 16:17:43 +02:00
Knut Sveidqvist
047ce2949a #989 Added font styling classes to diagrams lacking then 2019-10-13 19:16:35 +02:00
Knut Sveidqvist
53bdfee057 #989 Font configuration 2019-10-12 16:53:21 +02:00
Knut Sveidqvist
2da55993e0 Test of font-settings for correct image snapshots 2019-10-12 09:16:33 +02:00
Knut Sveidqvist
a258eda035 #945 Setting up stylesheet, classes and colors 2019-10-11 18:12:24 +02:00
Knut Sveidqvist
7c125cf9d6 #945 Moving hardcoded sizes etc to config 2019-10-11 15:39:50 +02:00
Nacho
2af76230f7 Merge pull request #987
Grammar/spelling changes to the "Usage" docs
2019-10-11 09:21:39 -04:00
Knut Sveidqvist
bdb530f831 Adding more info about documentation and moving the contributing file to its proper place 2019-10-11 08:17:47 +02:00
Knut Sveidqvist
7a7c09493c Adding more info about documentation and moving the contributing file to its proper place 2019-10-11 08:17:39 +02:00
Knut Sveidqvist
f3d588eca5 Adding contributing information 2019-10-11 08:10:54 +02:00
Knut Sveidqvist
031c0b7b21 #945 Increasing size, handling forks and joins in multiple directions 2019-10-10 20:55:27 +02:00
Knut Sveidqvist
ce017ecd40 Merge branch 'master' of github.com:knsv/mermaid 2019-10-10 17:57:39 +02:00
Knut Sveidqvist
85e58faa78 #945 White background and forks in composite mode 2019-10-10 17:57:29 +02:00
Steven Engler
808ed11e91 Grammar/spelling changes to the "Usage" docs 2019-10-09 15:43:54 -04:00
Ashish Jain
f8f52c4587 Fix for viewport in classDiagram and stateDiagram renndering 2019-10-09 21:15:17 +02:00
Knut Sveidqvist
54e6e2f66e #945 Some bug fixes and draft docs 2019-10-09 20:05:24 +02:00
Knut Sveidqvist
fe1e09f06b Merge branch 'feature/945_state_diagrams' 2019-10-09 18:16:32 +02:00
Knut Sveidqvist
cd646c0e42 Updated yarn.lockl 2019-10-09 18:16:23 +02:00
Knut Sveidqvist
f180510fbb Merge pull request #983 from knsv/feature/Issue-949_Add_cardinality_support
Feature/issue 949 add cardinality support
2019-10-08 23:06:17 +02:00
Christian Klemm
687e74de9b fixed members order 2019-10-08 22:59:59 +02:00
Knut Sveidqvist
65f91dd051 Merge branch 'master' of github.com:knsv/mermaid 2019-10-08 22:56:56 +02:00
Knut Sveidqvist
a8a4616cab #916 Docs for chaining of links 2019-10-08 22:56:50 +02:00
Ashish Jain
aaac86fd9d #949 Added cypress test case for class diagram cardinality support 2019-10-08 21:46:03 +02:00
Ashish Jain
35ddf9235f #949 Added rendering of cardinality for class diagrams 2019-10-08 21:43:58 +02:00
Knut Sveidqvist
554189908d Merge pull request #970 from mearns/issue-530-hexagon
Add hex shape for flow charts
2019-10-08 21:43:10 +02:00
Ashish Jain
54dbbd154c #949 Added utility function for calculating cardinality position 2019-10-08 21:42:49 +02:00
Knut Sveidqvist
a9224015e0 Merge pull request #964 from volkanunsal/master
Add useMaxWidth to flowRenderer
2019-10-08 21:33:50 +02:00
Eduardas Michelsonas
1cba50266e #755 Linting fixes + merge 2019-10-08 14:25:29 +02:00
edumicse
341456cc25 Merge pull request #981 from knsv/feature/755_handling_br_in_sequence_diagram
Feature/755 handling br in sequence diagram
2019-10-08 14:19:36 +02:00
edumicse
ae7852d9b9 Merge branch 'master' into feature/755_handling_br_in_sequence_diagram 2019-10-08 14:18:55 +02:00
ashishjain0512
4ce523f33b Merge pull request #973 from chris579/feature/963_class_annotations
Class diagram: annotations support
2019-10-08 12:56:49 +02:00
Ashish Jain
6b4a8325ae Merge branch 'feature/963_class_annotations' of https://github.com/chris579/mermaid into develop 2019-10-08 12:49:52 +02:00
Knut Sveidqvist
6d3044bddd Merge pull request #974 from vikyaiyer/Issue-893
added css path to styling in documentation
2019-10-07 10:13:15 +02:00
Alejandro Di Leo
0678f61ce9 Updates node-sass to 4.12 and regenerates lockfiles 2019-10-06 13:15:36 -03:00
Knut Sveidqvist
ebede9b910 #945 Log removal 2019-10-06 16:06:15 +02:00
Knut Sveidqvist
b12791d3e0 #945 Divider lines for concurrency, full width when in a composit state 2019-10-06 15:53:34 +02:00
Knut Sveidqvist
ce0b0fa0c8 #945 Divider lines for concurrency 2019-10-06 15:44:31 +02:00
Knut Sveidqvist
dce09586cd #945 Support for forks and joins 2019-10-06 14:11:17 +02:00
Knut Sveidqvist
4f1186a610 #945 Support for notes, better width and handling of +/- 2019-10-06 11:35:46 +02:00
Knut Sveidqvist
1cb52a602a #945 Support for notes 2019-10-06 10:52:37 +02:00
Knut Sveidqvist
c482083d82 Update README.md 2019-10-06 09:03:56 +02:00
Knut Sveidqvist
d9dda88164 Replaced info about linting 2019-10-06 09:02:07 +02:00
Brian Mearns
c9fe948b90 #530 Finished basic unit tests for flow shapes 2019-10-05 13:48:20 -04:00
Brian Mearns
cc731fe3c4 #530 Pull shape functions out to shorten functions 2019-10-05 09:38:03 -04:00
Christian Klemm
40b7262c19 exchanged class readme image 2019-10-05 12:46:28 +02:00
Christian Klemm
9da61ad562 added some documentation 2019-10-05 12:38:29 +02:00
Knut Sveidqvist
3b731282e3 #945Renabling support for descriptions 2019-10-05 12:15:14 +02:00
Knut Sveidqvist
cfc14ade2a #945 Some more cleanup focusing on stateDb 2019-10-05 10:02:58 +02:00
Knut Sveidqvist
d4306e61c2 #945 Some cleanup 2019-10-05 09:02:20 +02:00
Vignesh Aiyer
3afa6e2350 Update sequenceDiagram.md 2019-10-05 11:15:12 +05:30
Vignesh
8bbb0448dc added css path to styling in documentation 2019-10-05 10:52:23 +05:30
Brian Mearns
dcbcbf40a0 #530 Started adding some tests around how flowchart shapes are rendered in SVG 2019-10-04 22:38:27 -04:00
Brian Mearns
9a0a5ca804 #530 Add some unit tests for flowRenderer.addVertices 2019-10-04 22:03:20 -04:00
Brian Mearns
20b2866631 #530 Further encapsulation of common code 2019-10-04 21:21:00 -04:00
Christian Klemm
92eec664b1 test fix 2019-10-05 00:57:58 +02:00
Christian Klemm
723fe84383 added diagram escaping for e2e tests 2019-10-05 00:39:07 +02:00
Christian Klemm
3ca9347361 test fix 2019-10-05 00:05:47 +02:00
Christian Klemm
704d36a7eb adjusted integration test 2019-10-04 23:58:06 +02:00
Christian Klemm
612df99c34 added tests + alt syntax 2019-10-04 23:49:58 +02:00
Christian Klemm
912e850db4 added grammar 2019-10-04 21:49:02 +02:00
Christian Klemm
96735dd543 Added rendering for annotations 2019-10-04 21:09:49 +02:00
Knut Sveidqvist
65cbfbdb40 #945 Tweaking 2019-10-03 19:54:07 +02:00
Knut Sveidqvist
7865fd4f02 #945 Rendering of composite state in a box 2019-10-03 19:08:15 +02:00
Nacho
801f001098 Merge pull request #972
Removed reference to mermaid.min.css in usage docs #797
2019-10-03 10:18:25 -04:00
Rick Ulrich
7e92257c3c Removed reference to mermaid.min.css in usage docs #797 2019-10-03 09:13:12 -05:00
Nacho
7d4777a8bf Merge pull request #971
Revert "Removed reference to mermaid.min.css in usage docs #797"
2019-10-03 09:35:44 -04:00
Nacho
e7428afb3e Revert "Removed reference to mermaid.min.css in usage docs #797" 2019-10-03 09:35:22 -04:00
Nacho
51b7c90dae Merge pull request #969
Removed reference to mermaid.min.css in usage docs #797
2019-10-03 09:31:59 -04:00
Brian Mearns
c9f84ccae5 #530 Testing Coverage 2019-10-03 06:41:36 -04:00
Brian Mearns
01fd54dd6f #530 Encapsulate some redudant flow shape code 2019-10-02 22:51:12 -04:00
Brian Mearns
e1446ce38a #530 Add unit test for hex nodes 2019-10-02 22:44:56 -04:00
Brian Mearns
1920e9f758 #530 Add hexagon to flow docs 2019-10-02 22:38:41 -04:00
Brian Mearns
550f91aa68 #530 Better shaping of hexagon
The "corner" triangles are a fixed ratio to the height,
so the triangles will always be mathemtically similar.
2019-10-02 22:36:02 -04:00
Brian Mearns
57921e3f52 #530 Add Hex example to index.html 2019-10-02 22:31:41 -04:00
Brian Mearns
b300a4decb #530 Fit hexagon to width and height
The hexagon shape in flow chart now fits
the width and height independently, so it can better fit
large content without taking up too much space.
2019-10-02 22:23:30 -04:00
Brian Mearns
51e902cd36 Added the hex shape to the renderer, and support for it in the flow parser.
Need to work on properly sizing it.
2019-10-02 22:11:02 -04:00
Harrison Ulrich
ea359c0037 Removed reference to mermaid.min.css in usage docs #797 2019-10-02 15:04:58 -05:00
Knut Sveidqvist
f9f8785aef #945 Recursive object from parsing and stateDb 2019-10-02 19:32:13 +02:00
Knut Sveidqvist
0abeaa4dc2 Merge branch 'feature/945_state_diagrams' into develop 2019-10-02 19:17:38 +02:00
Nacho
18f35ac213 Merge pull request #968
Fixes #848
2019-10-02 09:54:34 -04:00
Brian Mearns
9ca077b3dc Add some test coverage for getBranchesAsObjArray 2019-10-01 22:29:07 -04:00
Brian Mearns
351dd3728e #848 - Add Unit Test 2019-10-01 22:03:43 -04:00
Brian Mearns
054901cb79 Fixes #848 - Use more secure PRNG
Math.random() is not cryptogaphically secure, but the crypto-random-string
package provides what is needed with a cryptographically secure pseudo-random
number generator.
2019-10-01 21:29:42 -04:00
Nacho
4f29f7c3a7 Automatically lock/unlock issues on close/reopen 2019-10-01 11:02:26 -04:00
Nacho
f149f090a6 Merge pull request #965
Corrected docs
2019-10-01 08:51:24 -04:00
Nacho
d113364f82 Merge pull request #966
Optimize images
2019-10-01 08:38:02 -04:00
Arnaud ZHENG
d499cce371 remove old files 2019-10-01 10:49:55 +02:00
Arnaud ZHENG
5d7dbd701f remove old files 2019-10-01 10:48:37 +02:00
Arnaud ZHENG
8345134d2a Merge branch 'master' of github.com:knsv/mermaid 2019-10-01 10:47:03 +02:00
Gianfrancø Palumbo
55f9cba0f9 docs: small improvement to flowchart.md 2019-09-30 21:59:10 +03:00
Knut Sveidqvist
94afcfb6f9 #945 Rendering of state descriptions 2019-09-29 15:50:43 +02:00
Volkan Unsal
682faa4f9d Add useMaxWidth to flowRenderer 2019-09-29 09:31:41 -04:00
Knut Sveidqvist
3cffd1e3ed #945 Rendering of labels and new label positioning algorithm 2019-09-28 13:31:10 +02:00
Nacho
0730f73f73 Merge pull request #960
Update gantt.md
2019-09-27 13:21:28 -04:00
lilisha100
dffe20b76c Update gantt.md 2019-09-27 10:15:03 -07:00
lilisha100
e7161fcca6 Update gantt.md 2019-09-27 09:52:22 -07:00
lilisha100
3bf873b99f Update gantt.md 2019-09-27 09:27:53 -07:00
Nacho
f49bae6622 Merge pull request #957 from GDFaber/master
Flowchart parsing issue with CRLF #894
2019-09-27 09:12:19 -04:00
Marc Faber
095233e6cf Flowchart parsing issue with CRLF #894 2019-09-27 01:05:25 +02:00
Nacho
490d42fce1 Merge pull request #956
Created issue template for questions
2019-09-26 11:44:50 -04:00
Nacho
11d2db08fa Created issue template for questions 2019-09-26 11:42:33 -04:00
Knut Sveidqvist
13baa43081 #945 Rendering from diagram data 2019-09-25 21:29:32 +02:00
Knut Sveidqvist
fad76ad534 #945 Rendering of start & end node 2019-09-25 21:01:21 +02:00
Nacho
1c3ddcd120 Merge pull request #954
Create github/action for triage labelling
2019-09-25 11:18:09 -04:00
Nacho
2ccdeec550 Create github/action for triage labelling 2019-09-25 11:14:52 -04:00
Nacho
3164f99b3b Merge pull request #953
Reverted to stalebot instead of github actions/stale
2019-09-25 11:01:23 -04:00
Nacho
1bceae12dd Added config for stalebot 2019-09-25 10:53:08 -04:00
Nacho
b2c60135f5 Deleted github action for stale 2019-09-25 10:52:30 -04:00
Nacho
0dddf3c50c Merge pull request #952
Updated issue templates
2019-09-25 10:06:46 -04:00
Nacho
b4badf6e7f Update issue templates 2019-09-25 09:55:18 -04:00
Nacho
9c69afeddd Merge pull request #951
Corrected typo in mermaidAPI.md
2019-09-24 12:53:16 -04:00
Nacho
e8835429fd Merge branch 'master' into master 2019-09-24 12:47:46 -04:00
0xflotus
029a84159e Update mermaidAPI.md 2019-09-24 18:47:38 +02:00
Knut Sveidqvist
ba01e3778a Tets change to see if it triggers 2019-09-24 09:38:16 +02:00
Nacho
6cfd4e6422 Switching stalebot to github/action (#950)
* Added configuration for github action stale
* Deleted stalebot configuration
2019-09-23 11:29:02 -04:00
Nacho
bb372751f7 Reverted test settings 2019-09-23 10:30:23 -04:00
Nacho
3fdf2c7e32 Updated cron expresion for test 2019-09-23 10:22:19 -04:00
Nacho
9f4ca63603 Deleted stalebot configuration 2019-09-23 10:21:04 -04:00
Nacho
4bdf772130 Added stale pr/issue workflow for test 2019-09-23 10:20:02 -04:00
Nacho
6110640fc2 Merge pull request #940
Use https in githu urls
2019-09-23 09:44:20 -04:00
nothingismagick
6c243488fa revert to http 2019-09-23 12:06:22 +02:00
nothingismagick
4f218435e3 revert to http 2019-09-23 12:05:13 +02:00
nothingismagick
7ca13fd163 revert to http 2019-09-23 12:04:39 +02:00
knsv
2306534248 #945 Handling of dimples state definitions 2019-09-22 03:30:36 -07:00
knsv
2f0248e6d5 #945 Handling of note statements 2019-09-22 02:38:04 -07:00
knsv
3a8564de92 #945 Handling of fork statements 2019-09-21 23:19:03 -07:00
knsv
1aa8b9b804 #945 Handling recursive logn descriptions for states with quotes 2019-09-21 11:31:09 -07:00
knsv
921d5464a1 #945 Handling recursive logn descriptions for states with quotes 2019-09-21 09:12:02 -07:00
knsv
9993b90a20 #945 Handling recursive state statements 2019-09-21 08:54:18 -07:00
knsv
6f054519e7 #945 Handling simple state statements 2019-09-21 08:50:32 -07:00
knsv
51bf4a4c5c #945 Parsing happy case and scale/hide statements 2019-09-21 08:19:55 -07:00
knsv
046b83582d Local docs to use 8.3.1 2019-09-19 15:10:49 -07:00
knsv
be2e467583 Release 8.3.1. Reseting the flow parser between parsings 2019-09-19 15:00:21 -07:00
Knut Sveidqvist
b1d137770c Merge pull request #942 from knsv/bugfix_941
Bugfix 941
2019-09-19 23:19:32 +02:00
knsv
40c7cab1da Merge branch 'master' into HEAD 2019-09-19 13:59:03 -07:00
knsv
f39e120952 #941 Fix for issue with directions iin flowchart 2019-09-19 13:56:41 -07:00
Daniel Thompson-Yvetot
f30f607b0c feat(https): use https in SVGs 2019-09-19 20:53:42 +02:00
Nacho
e40e1da292 Merge pull request #939
Fix accidental paste and code style in readme
2019-09-19 09:00:58 -04:00
Philipp A
1783ef501d Fix accidental paste and code style in readme 2019-09-19 09:45:13 +02:00
knsv
b4ec22ecea Local docs to use 8.3.0 2019-09-18 22:49:33 -07:00
knsv
0200fef389 Release 8.3.0 2019-09-18 22:19:48 -07:00
knsv
d8397f146b #937 Handling direction keywords in node ids 2019-09-18 12:56:24 -07:00
Knut Sveidqvist
244be86207 E2e test of interaction in graphs 2019-09-18 19:42:19 +02:00
Knut Sveidqvist
c26135780d Adding build to travis steps 2019-09-18 19:01:58 +02:00
Knut Sveidqvist
4411a26002 Cleanup, removed old e2e in favour of cypress 2019-09-18 18:37:53 +02:00
Knut Sveidqvist
21622f575b Updating cypress tests 2019-09-18 18:25:06 +02:00
Knut Sveidqvist
23e6df04d4 Merge pull request #929 from knsv/dependabot/npm_and_yarn/eslint-utils-1.4.2
chore(deps): bump eslint-utils from 1.3.1 to 1.4.2
2019-09-18 18:08:09 +02:00
Knut Sveidqvist
bf403dfc62 Merge pull request #933 from Dunning-Kruger/features/close-stale-issues
Close stale issues
2019-09-18 18:06:57 +02:00
Knut Sveidqvist
c3f48b5a13 Merge pull request #936 from janverb/fix-configuration-defaults-htmllabels-value
Correctly document htmlLabels as true by default
2019-09-18 13:51:16 +02:00
Jan Verbeek
e192454f54 Correctly document htmlLabels as true by default
The "mermaidAPI configuration defaults" section in the documentation
listed `htmlLabels` as `false`, but the real default is `true`, as
seen in the code and elsewhere in the documentation.
2019-09-18 13:05:08 +02:00
Ignacio Orlandoni
a55573be94 Update stale.yml
Stalebot now closes inactive stale issues.
2019-09-13 14:15:49 -04:00
dependabot[bot]
0e548f63f9 chore(deps): bump eslint-utils from 1.3.1 to 1.4.2
Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils) from 1.3.1 to 1.4.2.
- [Release notes](https://github.com/mysticatea/eslint-utils/releases)
- [Commits](https://github.com/mysticatea/eslint-utils/compare/v1.3.1...v1.4.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-12 20:20:09 +00:00
Knut Sveidqvist
4d1a34661e Merge pull request #932 from knsv/i931_code_standard
I931 code standard
2019-09-12 22:18:46 +02:00
knsv
7e5802e799 #931 Last code standard fixes 2019-09-12 12:59:13 -07:00
knsv
0e8164d805 #931 Compliacne with code standard 2019-09-12 12:58:57 -07:00
knsv
f9b30bdb43 #931 Reformatting for compliacne with code standard 2019-09-12 12:58:32 -07:00
knsv
34de31195f #931 Aligning with code standard 2019-09-12 12:58:04 -07:00
knsv
cf05a8d8fa #931 Updating code to align witn new code standard 2019-09-12 12:57:36 -07:00
knsv
a2e3f3d900 #931 Reformatting code for gitGraph 2019-09-12 12:56:54 -07:00
knsv
0890ba0fdd #931 replacing linter 2019-09-12 12:56:20 -07:00
knsv
d2f082b2e2 #931 Replacing linter 2019-09-12 12:55:56 -07:00
knsv
e67b8c86d6 #931 Aligning code standard 2019-09-12 12:55:31 -07:00
knsv
e14922f15c #931 Aligning code standard 2019-09-12 12:55:20 -07:00
knsv
ad5669b523 #931 Aligning code standard 2019-09-12 12:55:10 -07:00
knsv
f2a6ba80b5 #931 Aligning code standard 2019-09-12 12:54:59 -07:00
knsv
b3dac15d57 Merge branch 'master' into i931_code_standard 2019-09-12 12:51:41 -07:00
Knut Sveidqvist
def4ca699a #931 added conf and libraries 2019-09-12 21:03:49 +02:00
knsv
f98fa82134 Adding percy badge 2019-09-11 13:57:53 -07:00
Knut Sveidqvist
ff44671ae5 Merge pull request #928 from knsv/feature/Issue-22_Pie-Chart-Feature
#22 Basic Pie Chart
2019-09-11 21:50:42 +02:00
Ashish Jain
398d66bda9 #22 Update SCSS for pie chart specific title class 2019-09-11 21:39:39 +02:00
Ashish Jain
eb9ac1bbe5 #22 Updated yarn.lock 2019-09-11 21:29:31 +02:00
Ashish Jain
42fc23cff2 #22 Basic Pie Chart 2019-09-11 21:20:28 +02:00
Knut Sveidqvist
78cae3dce7 Finding the missing cypress binary 2019-09-11 20:23:41 +02:00
Knut Sveidqvist
beed86ff37 Update for accessing missing binary 2019-09-11 20:20:15 +02:00
Knut Sveidqvist
ec7324e12e Restore documention written in autoigenerated file 2019-09-11 20:03:22 +02:00
Knut Sveidqvist
d097b673bb #927 enabling the e2e tests 2019-09-11 19:23:08 +02:00
Knut Sveidqvist
7eea957a3b #927 Upgrading node 2019-09-11 19:18:55 +02:00
Knut Sveidqvist
4dda6b8a81 #927 Updated yarn.lock 2019-09-11 19:16:15 +02:00
Knut Sveidqvist
5fd5a65283 #927 reverted changes 2019-09-11 19:04:30 +02:00
Knut Sveidqvist
ca0513396d Investigation of build issues 2019-09-11 18:59:44 +02:00
Knut Sveidqvist
9f87ab4941 #927 Adding support for cypress and Percy 2019-09-11 18:53:05 +02:00
knsv
e37f5a6eb2 #926 Applying the color styling on the label instead of the node 2019-09-08 02:56:06 -07:00
knsv
ece40cdc54 #926 E2e test for issue 2019-09-08 00:33:56 -07:00
knsv
65561b22c5 #926 Adding e2e tools for replicating issues 2019-09-08 00:33:38 -07:00
knsv
21aa8c5f15 #922 Fix for click binding on nodes with ids starting with a number 2019-09-03 11:31:47 -07:00
knsv
f4bafacc62 Release 8.2.6 2019-09-01 04:16:09 -07:00
knsv
2cb54293f8 Lint fixes 2019-09-01 02:18:00 -07:00
knsv
5610185050 #918 Removed som logging 2019-09-01 00:45:24 -07:00
knsv
699bd61045 #918 Fix for issue with nodes starting with a number in a subgraph 2019-09-01 00:44:48 -07:00
Knut Sveidqvist
27d0b934a1 Merge pull request #917 from knsv/dependabot/npm_and_yarn/mixin-deep-1.3.2
chore(deps): bump mixin-deep from 1.3.1 to 1.3.2
2019-08-29 17:16:43 +02:00
Knut Sveidqvist
0f1b704385 Merge pull request #912 from knsv/dependabot/npm_and_yarn/eslint-utils-1.4.2
chore(deps): bump eslint-utils from 1.3.1 to 1.4.2
2019-08-29 17:16:28 +02:00
Knut Sveidqvist
7d0c1d2594 Merge pull request #909 from davidpendraykalibrate/patch-1
Fix typos in README
2019-08-29 17:15:24 +02:00
dependabot[bot]
43cff9e1a3 chore(deps): bump mixin-deep from 1.3.1 to 1.3.2
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-08-29 02:30:07 +00:00
erelling
f5ddf869e4 Link and clarification 2019-08-28 22:01:19 +02:00
erelling
185db4c112 Update mermaidAPI.md 2019-08-28 21:57:10 +02:00
erelling
07e3815b74 Update mermaidAPI.md 2019-08-28 21:56:27 +02:00
erelling
187ddfd80c Clarification 2019-08-28 21:55:35 +02:00
erelling
d3f7923bc6 Formatting, defaults example 2019-08-28 21:50:44 +02:00
erelling
e52db94c1a Formatting 2019-08-28 21:26:38 +02:00
erelling
e50959c1fe Formatting 2019-08-28 21:14:07 +02:00
erelling
bab75625cb Configuration example 2 2019-08-28 21:13:38 +02:00
erelling
f0b039ad10 Security level, update for new syntax 2019-08-28 21:08:27 +02:00
erelling
5c8dc7ab07 Better formatting 2019-08-28 21:03:23 +02:00
erelling
de2b5390cb Syntax clarification and full example 2019-08-28 20:59:28 +02:00
Knut Sveidqvist
d89ceb2125 Merge branch 'master' of github.com:knsv/mermaid 2019-08-28 20:25:59 +02:00
Knut Sveidqvist
c43d58d3c9 #916 Allow chaining of vertice in flowcharts 2019-08-28 20:25:54 +02:00
Eduardas Michelsonas
c6efddee87 #755 lint fixes 2019-08-28 20:13:37 +02:00
Eduardas Michelsonas
f6377e6125 #755 2019-08-28 20:09:45 +02:00
Eduardas Michelsonas
357c47910a Test commit 2019-08-28 18:53:49 +02:00
Knut Sveidqvist
4ae48f4284 #915 Reviving the possibility to use underscore in text in vertices 2019-08-28 17:34:57 +02:00
knsv
a48a306fe8 #914 Fix for issue identifying node wehen the id of the node starts with a digit 2019-08-27 12:16:11 -07:00
dependabot[bot]
a3c1928fc0 chore(deps): bump eslint-utils from 1.3.1 to 1.4.2
Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils) from 1.3.1 to 1.4.2.
- [Release notes](https://github.com/mysticatea/eslint-utils/releases)
- [Commits](https://github.com/mysticatea/eslint-utils/compare/v1.3.1...v1.4.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-08-26 18:25:33 +00:00
knsv
34d3b85227 Release 8.2.5 2019-08-26 11:23:54 -07:00
Knut Sveidqvist
06a91d8564 #835 Backwords compatible syntax for associating classes with nodes/vertices 2019-08-26 20:10:44 +02:00
knsv
e1f0367631 Release 8.2.4 2019-08-25 06:31:58 -07:00
David Pendray
dbcd4f635e Fix typos in README 2019-08-22 11:53:26 +01:00
Knut Sveidqvist
a3142aad69 Adding some test pages 2019-08-20 20:07:12 +02:00
Knut Sveidqvist
980749536b Fix for issue with bindFunctions being called when there are none. 2019-08-20 18:42:19 +02:00
Knut Sveidqvist
5dbddfb6a1 Merge pull request #908 from knsv/bug/subgraphs_number_in_id_and_space_in_titles_895_and_900
Bug/subgraphs number in id and space in titles 895 and 900
2019-08-16 13:02:30 +02:00
Knut Sveidqvist
c4d2be7a0d Merge branch 'master' into bug/subgraphs_number_in_id_and_space_in_titles_895_and_900 2019-08-16 12:52:17 +02:00
Knut Sveidqvist
ef51f543a3 Fix for test 2019-08-16 12:42:42 +02:00
Knut Sveidqvist
4eda2aa36d #900 Handling ids starting with a number and styling for other nodes as well 2019-08-16 12:38:34 +02:00
Knut Sveidqvist
a35892da4f Fix for issue #895 2019-08-15 08:57:49 +02:00
Knut Sveidqvist
23b567e11b #900 Fix for subgraph ids starting with a number 2019-08-14 20:00:06 +02:00
Ashish Jain
abdbf2cb8a Bug fix handling non-click graphs 2019-08-14 19:25:52 +02:00
Ashish Jain
ca97ac11e1 Fix for failing yarn dev on Standard syntax check for mermaidAPI.js 2019-08-14 18:33:10 +02:00
Nacho
8f0a7f56e2 Merge pull request #904 from lakario/master
Typo in Readme
2019-08-14 09:47:03 -04:00
Nacho
0a61971d29 Merge pull request #905 from i-am-the-slime/fix-typo
Fix typo
2019-08-14 09:45:08 -04:00
knsv
7b335fb62e #901 Fixed the issue with multiple calls to bind the click functions. Also sanitized the tooltips so that no tags are allowed in them for (#847). 2019-08-11 03:26:44 -07:00
knsv
a6f21c2b91 Re-enabling all tests 2019-08-08 01:19:14 -07:00
Mark Eibes
e74378a8ac Fix typo 2019-08-08 08:42:03 +02:00
Nathan Taylor
ec67ee946a Typo in Readme
Fixed a typo in readme
2019-08-07 12:07:23 -07:00
knsv
c5e8a52205 t push origin masterMerge branch 'sagea-sagea/jison-webpack' 2019-08-04 00:11:28 -07:00
Alexander Sage
78dd0e6ddc remove dev code 2019-08-03 15:10:53 -07:00
Alexander Sage
cfea52f570 chore: integrate jison into webpack build 2019-08-03 15:05:43 -07:00
Knut Sveidqvist
2d88982729 Merge pull request #898 from sagea/rect-documentation
chore: Documentation for rect
2019-08-01 22:32:57 -07:00
Alexander Sage
148a3c4cf7 chore: Documentation for rect 2019-07-30 22:24:48 -07:00
knsv
533b55bb68 Merge of feat: sequence diagram background rect #889 2019-07-25 12:04:01 -07:00
knsv
5b85fe9293 Merge branch 'sagea-sagea/sequencediagram-background-rect' 2019-07-25 12:00:57 -07:00
Knut Sveidqvist
1ac126fb7a Merge pull request #890 from knsv/feature/allow-class-directly-at-node-flow
#835 Feature/allow class directly at node flow
2019-07-25 01:12:05 -07:00
Alexander Sage
b5e3323a93 fix: workaround for function 25 line limit 2019-07-23 21:33:03 -07:00
Alexander Sage
8f6d148481 chore: added test for background rect dimensions 2019-07-23 21:28:48 -07:00
Alexander Sage
671a892b52 fix: removed it.only 2019-07-23 21:08:33 -07:00
Alexander Sage
5c25c5563a chore: Added e2e snapshot tests 2019-07-23 21:07:01 -07:00
Alexander Sage
8b05eeaa59 chore: Added unit tests around drawBackgroundRect and drawRect 2019-07-23 19:15:54 -07:00
Alexander Sage
1b001cf1e8 chore: Added unit tests around drawBackgroundRect and drawRect 2019-07-23 19:11:31 -07:00
ashishjain0512
855bad2f40 Added sequenceDiagram.js 2019-07-23 06:54:45 -07:00
ashishjain0512
b6d9407246 Added Jest test case for handling underscore in vertex name 2019-07-23 06:51:18 -07:00
ashishjain0512
957687ed39 Added Jest test for use-case A[text]-->B[test2].class 2019-07-23 06:49:44 -07:00
ashishjain0512
db86cfa7d9 Added Jest test case for use-case A[text].class-->B[test2] 2019-07-23 06:47:03 -07:00
ashishjain0512
afa95172b6 Added new Jest test case for usecase A[text].class 2019-07-23 06:45:35 -07:00
ashishjain0512
2e0843c226 Added Jest test case for 'should be possible to apply a class to a vertex directly' use-case 2019-07-23 06:41:45 -07:00
ashishjain0512
b312901705 Updated JISON for flow diagram to allow . class in vertex declaration 2019-07-23 06:37:28 -07:00
Ashish Jain
16028b51c7 Merge branch 'master' into feature/allow-class-directly-at-node-flow 2019-07-23 10:48:45 +02:00
Alexander Sage
c8091c61c0 feat: sequence diagram background rect 2019-07-22 22:47:49 -07:00
knsv
5d9018aeec Merge remote-tracking branch 'origin/master' 2019-07-22 05:23:17 -07:00
knsv
cf686c445c Standard fixes 2019-07-22 05:23:03 -07:00
knsv
0478e4217b Version bump 2019-07-22 02:20:29 -07:00
knsv
f11d1a6fa1 #847 Better sanitizing of urls 2019-07-22 02:18:09 -07:00
Knut Sveidqvist
9dc6668e8a Merge pull request #888 from stanhu/sh-fix-security-level-docs
Fix securityLevel documentation
2019-07-21 09:48:49 -07:00
Stan Hu
527aea9264 Fix securityLevel documentation
Instead of boolean values, only `strict` and `loose` should be
used.
2019-07-21 09:46:35 -07:00
Knut Sveidqvist
056f321ee6 Merge pull request #887 from stanhu/sh-fix-readme-typo
Fix typo: wich -> which
2019-07-21 09:29:07 -07:00
Knut Sveidqvist
e679556975 Merge pull request #886 from stanhu/sh-fix-flowchart-label
Fix text label colors for flow charts. Thanks for the fix!
2019-07-21 09:28:12 -07:00
Stan Hu
e9f4ac7425 Fix typo: wich -> which 2019-07-21 09:16:47 -07:00
Stan Hu
c6502fb03b Style the flow chart labels via SCSS 2019-07-21 08:51:44 -07:00
Stan Hu
83b7163844 Fix text label colors for flow charts
When htmlLabels is set to `false` and a background fill color is used
for a node, the text label will inherit the fill color, hiding the
actual text. To fix this, explicitly set the fill color to `#333`, the
same value used in `src/themes/flowchart.scss`.

Closes https://github.com/knsv/mermaid/issues/885
2019-07-21 08:25:33 -07:00
knsv
c33533082c #847 Handling of embedded javascript in links 2019-07-21 07:39:36 -07:00
knsv
5dd392127f Release docs 2019-07-21 02:23:23 -07:00
knsv
9c150eec4e Linting fixes 2019-07-21 02:14:49 -07:00
knsv
c25a3cf1c1 #731 Issue with clicks in flowcharts. Replacing d3 with document.querySelect and addEventListener 2019-07-21 02:12:54 -07:00
knsv
b9ad9ba674 #884 Merging configuration updates to previous condifguration. 2019-07-21 02:09:22 -07:00
Knut Sveidqvist
92ac7d7c24 Fixing labels in the new docsify documentation so that they does not get cut 2019-07-17 18:14:22 +02:00
knsv
8e27318eda #847 fix for case texts with multiple br tags, explanation in usage doc on how to avoid labels out of bounds. 2019-07-16 16:05:22 -07:00
knsv
976d16b0db Updated docs with working code examples 2019-07-16 12:13:40 -07:00
ashishjain0512
1cee9828b0 Added script for update e2e snapshots 2019-07-16 08:32:27 -07:00
Ashish Jain
2c7f00bac1 Merge branch 'master' into feature/allow-class-directly-at-node-flow 2019-07-15 12:37:18 +02:00
Knut Sveidqvist
484b24d097 Merge pull request #882 from IOrlandoni/fix/whitespace-in-participant
Trimming whitespace after participant id
2019-07-14 10:36:10 -07:00
IOrlandoni
e93cc85e9b Trimming whitespace after participant id 2019-07-14 11:51:20 -04:00
Knut Sveidqvist
615381f8e7 Merge pull request #879 from knsv/dependabot/npm_and_yarn/js-yaml-3.13.1
chore(deps): bump js-yaml from 3.12.0 to 3.13.1
2019-07-14 08:48:59 -07:00
Knut Sveidqvist
b01f7e1d54 Merge pull request #880 from knsv/dependabot/npm_and_yarn/fstream-1.0.12
chore(deps): bump fstream from 1.0.11 to 1.0.12
2019-07-14 08:48:15 -07:00
Knut Sveidqvist
f29e1e2ee0 Merge pull request #881 from knsv/dependabot/npm_and_yarn/atob-2.1.2
chore(deps): bump atob from 2.0.3 to 2.1.2
2019-07-14 08:47:56 -07:00
dependabot[bot]
ec4be237b5 chore(deps): bump atob from 2.0.3 to 2.1.2
Bumps [atob](https://github.com/coolaj86/node-browser-compat) from 2.0.3 to 2.1.2.
- [Release notes](https://github.com/coolaj86/node-browser-compat/releases)
- [Commits](https://github.com/coolaj86/node-browser-compat/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2019-07-14 13:50:12 +00:00
dependabot[bot]
6249c90bc9 chore(deps): bump fstream from 1.0.11 to 1.0.12
Bumps [fstream](https://github.com/npm/fstream) from 1.0.11 to 1.0.12.
- [Release notes](https://github.com/npm/fstream/releases)
- [Commits](https://github.com/npm/fstream/compare/v1.0.11...v1.0.12)

Signed-off-by: dependabot[bot] <support@github.com>
2019-07-14 13:50:06 +00:00
dependabot[bot]
69efac3634 chore(deps): bump js-yaml from 3.12.0 to 3.13.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.12.0 to 3.13.1.
- [Release notes](https://github.com/nodeca/js-yaml/releases)
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.12.0...3.13.1)

Signed-off-by: dependabot[bot] <support@github.com>
2019-07-14 13:49:54 +00:00
Knut Sveidqvist
77b68ec12e Merge pull request #878 from knsv/i847-cross-site-scripting
I847 cross site scripting
2019-07-14 06:47:42 -07:00
Knut Sveidqvist
c818dbb5a0 Setting default securityLevel to strict, updated docs in mermaidAPI 2019-07-14 06:07:27 -07:00
Knut Sveidqvist
9753578903 Removed filelog as it causes a security warning 2019-07-14 02:44:46 -07:00
Knut Sveidqvist
5abedab095 e2e test for stricter security in mermaid 2019-07-14 02:05:59 -07:00
Knut Sveidqvist
31576f8f55 #847 Removing </> in text 2019-07-13 22:50:53 -07:00
Knut Sveidqvist
31a2b2ca3c Merge pull request #877 from knsv/dependabot/npm_and_yarn/lodash.mergewith-4.6.2
Bump lodash.mergewith from 4.6.1 to 4.6.2
2019-07-13 15:45:26 +02:00
dependabot[bot]
27cc737fe1 Bump lodash.mergewith from 4.6.1 to 4.6.2
Bumps [lodash.mergewith](https://github.com/lodash/lodash) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2019-07-13 08:00:36 +00:00
Knut Sveidqvist
064700be36 Merge pull request #875 from knsv/dependabot/npm_and_yarn/lodash-4.17.13
Bump lodash from 4.17.11 to 4.17.13
2019-07-13 09:58:57 +02:00
Knut Sveidqvist
343277e387 Merge pull request #876 from knsv/docsify
Adding docs into core repo again
2019-07-13 09:36:41 +02:00
dependabot[bot]
363b878a24 Bump lodash from 4.17.11 to 4.17.13
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.13.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.13)

Signed-off-by: dependabot[bot] <support@github.com>
2019-07-13 07:04:21 +00:00
Knut Sveidqvist
69c7d31e69 Adding docs into core repo again 2019-07-12 20:40:54 +02:00
Knut Sveidqvist
e5bd0e6dc7 Merge pull request #874 from knsv/feature/update-stale-bot-config
feat(stale.yml): update issue label and bot comment
2019-07-12 18:07:57 +02:00
Knut Sveidqvist
3b41ba9dd9 Merge pull request #872 from knsv/feature/allow-inclusive-enddates
Feature/allow inclusive enddates
2019-07-12 18:05:21 +02:00
Jason Würtz
17b4c98db1 feat(stale.yml): update issue label and bot comment 2019-07-11 19:28:00 -03:00
Ashish Jain
04d55f60ea Test Commit 2019-07-10 17:46:08 +02:00
Knut Sveidqvist
86f430f61b Update issue templates 2019-07-08 07:38:05 +02:00
Jason Würtz
c6511ed829 test(ganttDb.spec): add simple tests for the durationToDate fn 2019-07-07 17:17:22 -03:00
Jason Würtz
047760ad4b chore(ganttDb): export durationToDate so it can be tested 2019-07-07 17:17:05 -03:00
Jason Würtz
b7c4b66b61 test(ganttDb.spec): fix missing initialization for clear test 2019-07-07 17:04:40 -03:00
Jason Würtz
67bb5ffa73 refactor(ganttDb.js): extract durationToDate function
codeclimate was complaining about the getEndDate function so I split it up
2019-07-07 17:01:45 -03:00
Jason Würtz
a671576578 feat(index.html): add example to display new behavior 2019-07-07 16:51:40 -03:00
Jason Würtz
1ee4b964e2 test(gantt.spec): add assertions to check that the parser didn't error 2019-07-07 16:41:07 -03:00
Jason Würtz
cb7d05bd53 chore(gantt.js): generate parser from jison 2019-07-07 16:28:53 -03:00
Jason Würtz
16f3338b3d feat(gantt.jison): update parser to accept a inclusive end date arg
if a line contains inclusiveEndDates then it will toggle the chart to use inclusive end dates
2019-07-07 16:28:31 -03:00
Jason Würtz
0a567a3ef9 test(ganttDb): update inclusive end date tests 2019-07-07 16:27:41 -03:00
Jason Würtz
660e0f3d8b refactor(ganttDb): separate out the inclusive end date toggle 2019-07-07 16:27:28 -03:00
Jason Würtz
ee766ec88e fix(ganttDb): change manual end time determination
now it just checks if a valid end time was provided and instead of the comparison that went on before.
This needed to be done in order to support manual end dates with inclusive set to true since they don't match anymore as the 'manually' supplied end date is increased by one
2019-07-06 12:28:56 -03:00
Jason Würtz
63096a5c26 feat(ganttDb.js): add 1 day to end dates if inclusive is set to true
This will essentially keep all old behavior the same while still allowing users to specify if they want inclusive end dates
2019-07-06 12:27:28 -03:00
Jason Würtz
b5b714861d test(ganttDb.spec): flip function design to specify inclusive instead 2019-07-06 12:26:32 -03:00
Jason Würtz
5c2d416a34 test(ganttDB.spec): fix typo 2019-07-06 12:25:57 -03:00
Jason Würtz
0515375cfa test(ganttDb.spec): clear function 2019-07-06 11:54:45 -03:00
Jason Würtz
6d20ccccd0 feat(ganttDb.js): add getters for excludes,sections and date format 2019-07-06 11:54:18 -03:00
Jason Würtz
6dce255393 fix(ganttDb.js): clear formats and excludes on clear 2019-07-06 11:30:13 -03:00
Jason Würtz
402d4bdee1 test(gantt.spec): add parser test for inclusive end dates 2019-07-06 11:29:50 -03:00
Jason Würtz
123fba5b07 test(ganttDb.spec): add test case for inclusive end dates 2019-07-06 11:29:10 -03:00
Knut Sveidqvist
f506c795d6 git push origin master Merge branch 'paulbland-sequence-numbers' 2019-06-30 16:15:21 +02:00
Knut Sveidqvist
5fd803d479 Fix merge changes for pr 722 and issue #782 2019-06-30 16:14:59 +02:00
Knut Sveidqvist
1241664d8d Merge branch 'master' of github.com:knsv/mermaid 2019-06-29 17:55:53 +02:00
Knut Sveidqvist
3e6efb663b #865 Updated Changelog 2019-06-29 17:55:47 +02:00
Knut Sveidqvist
cd907ff430 Update README.md 2019-06-29 16:15:53 +02:00
Knut Sveidqvist
724189e4ef Update README.md 2019-06-29 16:14:31 +02:00
Knut Sveidqvist
4bb0da0ce6 Merge of pull request #741 2019-06-29 10:41:44 +02:00
Knut Sveidqvist
666e587114 Merge branch 'adamwulf-flow/trapezoid' 2019-06-29 10:34:12 +02:00
Knut Sveidqvist
3e9e5acdab Fix of merge conflicts 2019-06-29 10:33:44 +02:00
Knut Sveidqvist
40d10ea741 #457 Added grammar for double directional arrows 2019-06-28 12:10:16 +02:00
Knut Sveidqvist
231aaedec8 Update for double arrows - regular 2019-06-28 11:26:20 +02:00
Knut Sveidqvist
d86a4b15c1 Adding stalebot for personal sanity 2019-06-28 09:24:30 +02:00
Adam Wulf
03abeacea4 Added parallelograms. 2019-06-25 23:15:43 -05:00
Adam Wulf
99169398b7 Simpler syntax for trapezoid nodes 2019-06-25 23:06:53 -05:00
Adam Wulf
24600355c8 Merge remote-tracking branch 'origin/master' into flow/trapezoid 2019-06-25 22:36:13 -05:00
Adam Wulf
db2a21cea1 updated flow parser 2019-06-25 22:30:28 -05:00
Knut Sveidqvist
95967151ae Release 8.1.0 2019-06-25 10:24:57 +02:00
Knut Sveidqvist
f2137e4cdd Merge pull request #861 from Arthaey/remove-console-log
Remove console.log in classDB.
2019-06-25 10:14:31 +02:00
Arthaey
bba6bb6255 Remove console.log in classDB. 2019-06-23 19:56:50 -07:00
Knut Sveidqvist
7d7bc9782b Merge pull request #795 from DanShai/fix-class-diagram
fix class diagram mermaid
2019-06-16 08:24:03 +02:00
Knut Sveidqvist
5667694652 info diagram to show version of mermaid, bugfixes for gantt chart 2019-06-15 14:29:26 +02:00
Knut Sveidqvist
4cb0b9174b Added info diagram to show the version pf mermaid, buig fixes for gannt diagrams 2019-06-15 14:28:13 +02:00
Knut Sveidqvist
7493031d11 Small doc change 2019-06-15 09:38:02 +02:00
Dan Shai
e64d2dcada fixed class diagram hopefuly no conflict 2019-06-14 17:29:40 +03:00
Dan Shai
f057bd1e89 fixed class diagram 2nd pr 2019-06-14 08:01:51 +03:00
Dan Shai
1e7e719dbf fixed class diagram 2nd pr 2019-06-14 07:37:16 +03:00
Dan Shai
5b6e9747b7 fixed class diagram 2nd pr 2019-06-14 01:22:46 +03:00
Knut Sveidqvist
803c12877c git push origin masterMerge branch 'ivan-danilov-linkStyle-list-support' 2019-06-11 08:35:59 -07:00
Knut Sveidqvist
db5be3c28a Resolving som conflicts from merge 2019-06-11 08:35:46 -07:00
Knut Sveidqvist
434a033411 Resolved an name change issue fom a merge 2019-06-11 08:22:55 -07:00
Knut Sveidqvist
fd2ee3e109 Merge branch 'jsyang-patch-1' 2019-06-11 08:20:35 -07:00
Knut Sveidqvist
0816591cf9 Resolved some merge conflicts 2019-06-11 08:20:12 -07:00
Knut Sveidqvist
836d02d0b9 Merge pull request #828 from stanhu/sh-fix-dotted-lines-flowchart
Fix dotted lines not appearing in flowcharts when HTML labels disabled
2019-06-11 17:13:51 +02:00
Knut Sveidqvist
b951d506d9 Merge pull request #832 from vaniship/master
fix draw function can only call once
2019-06-11 17:13:00 +02:00
Arnaud Zheng
ec5627a44c Merge pull request #1 from arnaud-zg/imgbot
[ImgBot] Optimize images
2019-06-10 13:33:40 +02:00
Knut Sveidqvist
333a13269c git push origin master
Merge branch 'abzicht-master'
2019-06-09 12:41:05 -07:00
Knut Sveidqvist
e0a70bd352 Merge of latest changesin to pr #804 2019-06-09 12:40:37 -07:00
Knut Sveidqvist
fe913ec10f Merge pull request #705 from Vrixyz/602-cardinality-not-showing
wip: class diagram  cardinality display
2019-06-09 11:22:03 -07:00
Knut Sveidqvist
50899b845d Merge branch 'gijswijs-gantt-milestones' 2019-06-09 10:55:58 -07:00
Knut Sveidqvist
3e6396cc4b Merged in recent updates 2019-06-09 10:53:46 -07:00
Knut Sveidqvist
a8d9b269ff Fixed reference in test file 2019-06-09 07:07:57 -07:00
Knut Sveidqvist
df7dc21893 Merge branch 'no-bloat' 2019-06-09 07:00:29 -07:00
Knut Sveidqvist
750c74eea7 Merge branch 'master' of github.com:knsv/mermaid 2019-06-09 06:51:41 -07:00
Knut Sveidqvist
2f7da8b577 Added test of usage via webpack to the e2e tests 2019-06-09 06:49:40 -07:00
ImgBotApp
5e52138861 [ImgBot] Optimize images
*Total -- 213.50kb -> 206.22kb (3.41%)

/dist/www/images/logo.png -- 3.29kb -> 1.21kb (63.29%)
/docs/site/images/logo.png -- 3.29kb -> 1.21kb (63.29%)
/docs/img/header.png -- 68.97kb -> 67.93kb (1.5%)
/docs/site/images/header.png -- 68.97kb -> 67.93kb (1.5%)
/dist/www/images/header.png -- 68.97kb -> 67.93kb (1.5%)
2019-06-08 15:55:06 +00:00
Knut Sveidqvist
e2dba9e9b8 Added job listing 2019-06-08 09:09:44 +02:00
Knut Sveidqvist
c79fcf7ad5 Update README.md 2019-06-07 15:23:24 +02:00
Knut Sveidqvist
c6abc43ca5 Merge pull request #851 from knsv/dependabot/npm_and_yarn/sshpk-1.16.1
Bump sshpk from 1.13.1 to 1.16.1
2019-06-04 21:04:00 +02:00
dependabot[bot]
2c1913af23 Bump sshpk from 1.13.1 to 1.16.1
Bumps [sshpk](https://github.com/joyent/node-sshpk) from 1.13.1 to 1.16.1.
- [Release notes](https://github.com/joyent/node-sshpk/releases)
- [Commits](https://github.com/joyent/node-sshpk/compare/v1.13.1...v1.16.1)
2019-06-04 19:01:24 +00:00
Fabio Spampinato
ed3d15501a Aligned “lodash” version with other dependencies, so that it gets deduplicated 2019-06-04 03:52:01 +02:00
Fabio Spampinato
fef85cf259 Importing only specific modules from "lodash" 2019-06-04 03:32:56 +02:00
Fabio Spampinato
00be016979 Avoiding publishing the “src” folder to NPM 2019-06-04 03:17:14 +02:00
Fabio Spampinato
9290aa2b61 Replaced “moment” with “moment-mini" 2019-06-04 03:14:35 +02:00
Knut Sveidqvist
977491ef8d Merge branch 'master' of github.com:knsv/mermaid 2019-06-01 19:21:59 +02:00
Knut Sveidqvist
86fcbf9c5e Added e2e tests and snapshot files 2019-06-01 19:21:15 +02:00
Knut Sveidqvist
e081e4c9c6 Fixed som dependencies 2019-05-31 14:59:23 +02:00
Knut Sveidqvist
357e738983 Adding image snapshots for graphs 2019-05-31 14:20:43 +02:00
Knut Sveidqvist
7242a98adb Moving jest config out of package.json to facilitate different jest configurations for unit tests and e2e tests 2019-05-30 19:31:41 +02:00
Knut Sveidqvist
6974892a11 Added jest, jest-puppeteer and jest-image-snapshot for e2e tests 2019-05-30 19:27:27 +02:00
Knut Sveidqvist
ee0cb8793f Merge pull request #791 from flying-sheep/svg-links
SVG link rendering
2019-05-28 23:18:39 +02:00
Knut Sveidqvist
0cfd3c7e02 Merge pull request #749 from monsterkrampe/issue-748-make-mermaid-class-diagrams-usable-in-stackedit
Make Class Diagrams usable in Stackedit and Live Editor
2019-05-28 22:32:36 +02:00
Knut Sveidqvist
23693bd57e Merge pull request #845 from Qix-/style-subgraph
Support styling of subgraphs
2019-05-28 22:22:45 +02:00
Knut Sveidqvist
d742211797 Merge pull request #837 from jnnnnn/master
fix dark theme loop labels not visible
2019-05-28 22:16:22 +02:00
Knut Sveidqvist
9191663a1a Merge pull request #792 from jopapo/master
Added exclude weekdays to definition
2019-05-28 22:12:18 +02:00
Knut Sveidqvist
b3dd2a4282 Merge pull request #810 from 0xflotus/patch-1
fixed diagrams
2019-05-28 22:01:58 +02:00
Josh Junon
f51596eb61 Support styling of subgraphs 2019-05-24 17:08:45 +02:00
Jonathan Newnham
c1d252afe0 fix dark theme loop labels not visible
* fix loop label text forced to black, ignoring styles
* fix styles that were being ignored
2019-05-14 11:23:37 +10:00
Vaniship
c3f03e4497 fix: fix draw function can only call once 2019-05-07 15:06:58 +08:00
Stan Hu
9e67de8a9f Fix dotted lines not appearing in flowcharts when HTML labels disabled
For some reason, `edgeData.style` was being overwritten when it
was already set earlier in the method.
2019-05-01 22:48:16 -07:00
Philipp A
6f09b14f44 Fix group labels 2019-04-26 11:01:21 +02:00
Philipp A
d78b33ca75 Fixed tests 2019-04-26 10:04:46 +02:00
jsyang
fa9cf2b345 Fix line styling (dashed / thick) when not using HTML labels option 2019-04-24 16:31:09 +01:00
Jim Yang
b2c833b879 Remove escape inside regex for StandardJS 2019-04-18 18:38:33 +01:00
Jim Yang
96516d6dd5 Fix issue with XML line breaks inside vertex labels
The regex needed to match the `<br>` or `<br/>` wasn't completely correct since some browsers (e.g. Chrome) attempt to turn `<br>` elements into their XHTML counter-parts: `<br/>`. This fixes the regex so both will match.
2019-04-18 10:46:52 +01:00
0xflotus
7071cd7381 fixed diagrams 2019-03-18 11:48:18 +01:00
abzicht
0a7b8840a4 Added css for clickable when task text is outside of task 2019-03-15 20:34:26 +01:00
abzicht
f272cff7f6 Adding minify capability 2019-03-10 18:23:11 +01:00
abzicht
6ede0f6166 Allowing brackets in taskTxt, adjusted index.html example to include brackets in task text 2019-03-10 14:07:33 +01:00
abzicht
c44ff8a70f Adding a gantt clickable example to the existing gantt diagram 2019-03-10 13:56:49 +01:00
abzicht
d2eb507e7d Adding styles for clickable tasks 2019-03-10 13:43:20 +01:00
abzicht
fa04e3de75 Adding jison processed js file because it seems that this is always committed to github 2019-03-10 13:42:43 +01:00
abzicht
63184d53c1 Argument processing now allows double quoted strings 2019-03-10 13:41:59 +01:00
abzicht
1dfff7ac0e Added documentation and implemented empty functionarguments 2019-03-10 13:41:02 +01:00
abzicht
6c84544521 Changed href to scan for the next double quoted word. This allows whitespace in links and resolves the issue with href ending with EOF 2019-03-10 11:49:16 +01:00
abzicht
91651ca6ce Fixed lint issues 2019-03-09 23:17:13 +01:00
abzicht
6fd790570a Removed <a> tag, moved id attribute to text section 2019-03-09 23:14:28 +01:00
abzicht
b322a964ca Code refactoring: Pushing functions is now to the funs list is now available in a separate function. Also, setLink no longer using the .link attribute and instead calls links directly via window.open 2019-03-09 23:13:53 +01:00
abzicht
20b35cbe13 Removed STR remains and fixed whitespace issue for 'call' which lead to undesired whitespace in function names 2019-03-09 22:42:27 +01:00
abzicht
d169641c99 Fixed lint issue 2019-03-09 22:19:08 +01:00
abzicht
856591d253 Removed STR as it is no longer required; made 'click' a state such that it returns the id that is specified after the keyword 2019-03-09 22:18:37 +01:00
abzicht
4587f5a73d Added 'clickable' class to all elements with interactivity. This allows css styling for clickable elements 2019-03-09 20:08:52 +01:00
abzicht
10057217cb Fixed issue which only passed the first char of functionargs to the function by splitting the functionargs by commas 2019-03-09 20:07:51 +01:00
abzicht
0c66e1b5b9 Added href support and improved callback argument handling 2019-03-09 12:11:56 +01:00
monsterkrampe
4800460e07 748: class diagram: allow linebreak after last statement; rerender correctly; allow unassociated classes 2019-03-09 09:54:28 +01:00
abzicht
67ee649d99 Added setLink and setClickEvent to gantt 2019-03-08 00:19:53 +01:00
abzicht
57b780a0d7 In render: added calling callback for gantt functions 2019-03-08 00:07:36 +01:00
abzicht
19d9dd6954 Fixed clickStatement to include ids 2019-03-07 22:31:38 +01:00
abzicht
e298351caa Added <a href> and callback functionality to gantt diagrams 2019-03-07 22:00:02 +01:00
ivan-danilov
752a12bda4 linkStyle now supports list of indexes with a few tests
For example:
linkStyle 0,1,2 interpolate basis stroke:#00f,stroke-width:2px;

Other variants of linkStyle syntax are also included
2019-02-21 22:06:11 +02:00
João Paulo Poffo
afeb3b53c9 Simplified methods 2019-02-12 17:52:18 -02:00
João Paulo Poffo
8ce658416b Simplify to codeclimate 2019-02-12 17:40:57 -02:00
João Paulo Poffo
6e846ac3e5 Defined a renderEndDate 2019-02-12 17:29:38 -02:00
Dan Shai
ec298185a3 fix class diagram mermaid 2019-02-12 10:27:05 +02:00
João Paulo Poffo
58df72984f Standard 2019-02-07 12:05:09 -02:00
João Paulo Poffo
5bfddcc444 Complexity 2019-02-07 11:27:01 -02:00
João Paulo Poffo
a99b31a61d Standard 2019-02-07 11:22:46 -02:00
João Paulo Poffo
8a8b7bd48c Fixed weekend between dates; Manual endtimes; Additional testing 2019-02-07 11:21:00 -02:00
João Paulo Poffo
1d04c7e1fe Standard JS 2019-02-06 17:25:39 -02:00
João Paulo Poffo
9f1c37ecb3 Codeclimate - Complexity 2019-02-06 17:24:20 -02:00
João Paulo Poffo
8e8651a0e1 Comments 2019-02-06 17:12:05 -02:00
João Paulo Poffo
a8e9f21035 Standard 2019-02-06 17:09:59 -02:00
João Paulo Poffo
997cdfffb4 Doc HTML 2019-02-06 17:00:51 -02:00
João Paulo Poffo
5a9c57ec0f Docs 2019-02-06 16:59:57 -02:00
João Paulo Poffo
418ac501aa Added excludes weekdays to gantt 2019-02-06 16:54:09 -02:00
Philipp A
12b58a17e1 SVG link rendering 2019-02-06 10:53:26 +01:00
Gijs van Dam
7ca9df9357 Refactor ganttDb tests 2019-02-04 11:33:24 +08:00
Gijs van Dam
f912f8582d Remove MomentJS dependency from Gantt Jest test cases
To reduce the dependencies of the Jest test cases, the moment dates in
both Jest test files are replaced with native javascript. Also the
physical file gantt.spec.js is moved to be in the same folder as
gantt.js
2019-02-04 10:21:58 +08:00
Gijs van Dam
a211b6d55d Use it.each in test cases to prevent code repetition 2019-02-01 17:04:43 +08:00
Gijs van Dam
c84c154603 Add tests for all possible task tags 2019-02-01 16:16:28 +08:00
Gijs van Dam
f903090e0f Refactor tag parsing of tags
The allowed tags are now a const at the top of the code.
Adding a tag there, automatically assigns the property to the
javascript object, if the tag is present in the data.
2019-02-01 14:21:25 +08:00
Gijs van Dam
901df242b7 Replace multiple returns with single return 2019-02-01 13:28:12 +08:00
Gijs van Dam
9dbb3767e2 Extract tag parsing in separate function 2019-02-01 13:27:42 +08:00
Gijs van Dam
5565d36ef2 Fix lint issues 2019-02-01 12:41:03 +08:00
Gijs van Dam
48f8c3f85a Add custom rendering of milestone tasks
If a task is a milestone, the rect shape will be square in the center of
the original width of the rectangular calculated if it weren't a
milestone. The placement of the label text is adjusted accordingly.
Both the rect and the text get a 'milestone' and 'milestoneText' class
accordingly.
The scss rotates the square and scales it a bit down, so that it's a
diamond, which appears to be the defacto standard for milestone icons.
The label text is put in italics.
The rotational transform is done in the scss, so that it's easy for
users to create their own milestone icon-style.
2019-02-01 12:34:55 +08:00
Gijs van Dam
a3eef7298e Add milestone to ganttDb 2019-01-31 15:33:35 +08:00
Tyler Long
7d3578b31a Merge pull request #721 from paulbland/right-angles
Add option for right angles
2018-12-18 14:04:19 +08:00
Tyler Long
2914d4975b Fix arrowhead style issue 2018-12-18 13:55:14 +08:00
Tyler Long
2a0fcd99e4 Merge pull request #720 from paulbland/add-activation-class
Add nested activation classes
2018-12-18 13:39:18 +08:00
Tyler Long
d7e0e4afc5 Fix code style issue 2018-12-18 13:32:36 +08:00
Tyler Long
de78bb5ffe Merge pull request #688 from imma90/master
add comments about CSS in config
2018-12-17 17:37:25 +08:00
Tyler Long
9ecee6b163 Generate jison files 2018-12-17 17:31:22 +08:00
Tyler Long
e25e8af135 Support latest version of font awesome 2018-12-17 16:27:46 +08:00
Tyler Long
4ab2fed8d2 Merge pull request #757 from gjlubbertsen/master
Fix issue with marker-end.
2018-12-17 15:56:49 +08:00
Tyler Long
3e8fea6533 Merge pull request #764 from watsoncj/master
Support Multi-line Actor Descriptions
2018-12-17 15:53:20 +08:00
Tyler Long
a57b90809b Merge pull request #765 from flying-sheep/links
Render nodes as real links
2018-12-17 15:30:13 +08:00
Tyler Long
b097b8bb34 Merge pull request #768 from znxkznxk1030/master
Remove duplicate code
2018-12-17 15:06:00 +08:00
Tyler Long
349aeb5a26 Upgrade dependencies 2018-12-17 14:56:26 +08:00
Tyler Long
e8aebb00ee Fix typos in test cases 2018-12-17 14:42:52 +08:00
ysKim
6ece2838bd Remove duplicate code 2018-12-05 22:45:03 +09:00
Philipp A
bcd3aa7d61 Improved docs, split setClickEvent and setLink 2018-12-01 15:31:57 +01:00
Philipp A
aca80726d7 Render nodes as real links 2018-11-28 17:09:34 +01:00
Casey Watson
2fc5745c58 Support Multi-line Actor Descriptions
- Add support for <br/> delimiter in actor descriptions.
- Add actorFontFamily and actorFontSize options to sequence diagram.
- Change default actor description font from times to sans.

Fix #384 #702 #755
2018-11-26 11:49:33 -07:00
Gerrit-Jan Lubbertsen
ba2f2cb284 Fix issue with marker-end.
I had issues with marker-end. Assuming that CSS got more strict over time.
2018-11-13 16:32:26 +01:00
Adam Wulf
ac2a4b54e7 Adjust the spacing of the trapezoid 2018-10-11 13:46:47 -05:00
Adam Wulf
9326e91832 Adding trapezoid and inverse trapezoid vertex options. 2018-10-10 02:25:44 -05:00
Bland, Paul
06aa4a5c07 prevent deeply nested activations from calling classes that don't exist (by limiting to 3) 2018-08-29 14:24:42 -04:00
Bland, Paul
80c7c9a86e added ability to style nested activations 2018-08-24 11:56:28 -04:00
Bland, Paul
0fdddfe548 make default sequence numbers a little smaller 2018-08-23 14:30:47 -04:00
Bland, Paul
42d66fd3d9 tweak for lint 2018-08-23 11:53:04 -04:00
Bland, Paul
ae8dde981b make path a bit wider 2018-08-22 15:30:12 -04:00
Bland, Paul
228b832bed moved hard-coded fill and stroke colors from svgDraw.js to scss files, and added defaults to all themes 2018-08-22 10:22:50 -04:00
Bland, Paul
8035572fac make default node number a little smaller 2018-08-17 13:37:44 -04:00
Bland, Paul
7fcccb4ab2 fixing formatting for lint 2018-08-17 11:07:04 -04:00
Bland, Paul
b80bad0a93 created option for right angle arrows 2018-08-17 10:56:15 -04:00
Bland, Paul
f87c503d5e fixed issue where some sequence number would be skipped 2018-08-17 10:25:06 -04:00
Bland, Paul
568c0318be centered two-digit sequence numbers 2018-08-17 09:37:49 -04:00
Bland, Paul
5903b33016 typo in word "sequence" 2018-08-16 16:55:28 -04:00
Bland, Paul
47bad33949 change all occurences of node number to "sequence number" 2018-08-16 16:53:30 -04:00
Bland, Paul
fb79b133e9 added sequence numbers 2018-08-16 13:44:59 -04:00
Vrixyz
ad1763a8f2 wip codeclimate refactoring request 2018-07-30 21:15:28 +02:00
Vrixyz
97e26686f4 wip #602 cardinality display 2018-07-29 18:50:57 +02:00
Imma
f476002691 add comments about CSS in config 2018-07-15 19:04:42 +02:00
Tyler Long
a4992963b3 Set SVG viewBox 2018-04-12 23:05:08 +08:00
Tyler Long
44ff608868 ultimate solution to position the svg 2018-04-12 09:06:20 +08:00
Tyler Long
f2ea725edb Add a sample to test diagram cut off issue 2018-04-12 07:39:02 +08:00
Tyler Long
40a87fa736 Update todo list 2018-04-12 07:38:01 +08:00
Tyler Long
a5627f97ff Make diamond shape a little bit bigger 2018-03-21 22:06:44 +08:00
Tyler Long
8b1698b17d Fix flowchart text size measuring issue 2018-03-21 21:29:12 +08:00
Tyler Long
f8da3c2e48 More padding to fix cutoff issue 2018-03-20 23:04:01 +08:00
Tyler Long
03f9264394 Update dependencies 2018-03-20 21:49:31 +08:00
Tyler Long
33da5bcee1 Fix flowchart cut off issue 2018-03-20 20:08:52 +08:00
Tyler Long
01541a3dc1 Fix a typo in flowRenderer. Fix #541 2018-03-19 09:31:29 +08:00
Tyler Long
13ec3f6c0d Support all d3 curves 2018-03-18 09:35:28 +08:00
Tyler Long
a949c2aaec config.sequenceDiagram backwards compatibility 2018-03-18 09:08:05 +08:00
Tyler Long
f4324d1de6 Fix test about curve 2018-03-17 23:19:13 +08:00
Tyler Long
f1d2808594 Support flowchart curve as option 2018-03-17 23:05:14 +08:00
Tyler Long
52d0605066 Fix subgraph issue 2018-03-17 18:12:24 +08:00
Tyler Long
015b976c28 Fix CSS cannot select number ID issue 2018-03-17 09:10:10 +08:00
Tyler Long
b777c8de15 Release 8.0.0-beta.3 2018-03-16 20:13:39 +08:00
Tyler Long
93201b2ded Merge pull request #641 from sopherio/master
SequenceDiagram: Add support for multiple alt else statements
2018-03-16 20:03:44 +08:00
Tyler Long
234d39cf96 Chrome browser is no longer a requirement for project setup 2018-03-15 23:46:22 +08:00
Tyler Long
9913bf654b Properly handle wrong theme name 2018-03-15 22:44:00 +08:00
Tyler Long
2d560861df Support Custom CSS 2018-03-15 21:47:53 +08:00
Tyler Long
24786c643b Fix a typo 2018-03-15 21:22:49 +08:00
Stefan Sechelmann
3b4e48e32f remove whitespace to adhere to standards 2018-03-15 14:10:10 +01:00
Stefan Sechelmann
45b81a9db9 add par and alt examples to index.html 2018-03-15 14:08:37 +01:00
Stefan Sechelmann
500dea182f change grammar to support multiple alt else statements 2018-03-15 13:57:54 +01:00
Stefan Sechelmann
274e9f3e42 add test:tdd script to package.json 2018-03-15 13:57:26 +01:00
Stefan Sechelmann
cf589f713d add spec for multiple else statements 2018-03-15 13:56:56 +01:00
Tyler Long
07d881cd5e Release 8.0.0-alpha.9 2018-03-14 21:40:26 +08:00
Tyler Long
0d0f793f81 Simplify code 2018-03-14 21:38:29 +08:00
Tyler Long
23dfe1e8a9 Fix classDef issue 2018-03-14 21:36:10 +08:00
Tyler Long
a8e49a0d2d Auto convert <br> to <br/> 2018-03-13 21:58:37 +08:00
Tyler Long
594847ba04 Release 8.0.0-alpha.7 2018-03-13 21:18:09 +08:00
Tyler Long
f3fcfb635b Gantt numberSectionStyles should be 4 2018-03-13 21:17:32 +08:00
Tyler Long
011220180c Release 8.0.0-alpha.6 2018-03-13 19:31:04 +08:00
Tyler Long
3e9215b27d Rename folders 2018-03-13 15:28:48 +08:00
Tyler Long
6ce2dfeaec Remove example graph 2018-03-13 15:19:24 +08:00
Tyler Long
9176237361 Remove dot graph 2018-03-13 15:14:43 +08:00
Tyler Long
9b65abe76a Remove useless code 2018-03-13 15:04:05 +08:00
Tyler Long
d6085fcdb9 Rename flow.scss to flowchart.scss 2018-03-13 14:49:46 +08:00
Tyler Long
259d2a9b5c Refactor css loading code 2018-03-13 14:31:56 +08:00
Tyler Long
f62736c749 Support customization of gantt diagram xAxis format using diagram code 2018-03-13 14:01:44 +08:00
Tyler Long
7ef1b28c83 Remvoe ganttDb getDateFormat 2018-03-13 13:48:27 +08:00
Tyler Long
7df9dea72a Fix sequence diagram note text y position issue 2018-03-13 13:23:38 +08:00
Tyler Long
2a061fba07 Fix note text y position 2018-03-13 11:06:27 +08:00
Tyler Long
93aa575697 Minor change to code 2018-03-13 10:58:10 +08:00
Tyler Long
8a20a71906 Test a complex sequence diagram 2018-03-13 10:54:39 +08:00
Tyler Long
37076d3d1f Support global config of gantt axisFormat 2018-03-12 21:33:02 +08:00
Tyler Long
acf11bdc6c Refactor by renaming 2018-03-12 21:16:22 +08:00
Tyler Long
d222196fd1 Refactor by renaming 2018-03-12 21:06:49 +08:00
Tyler Long
6f43082e38 Rename graphDb to flowDb 2018-03-12 20:52:06 +08:00
Tyler Long
964bc4dc12 Rename info to example 2018-03-12 20:46:29 +08:00
Tyler Long
ecf7870b3e Refactor scss 2018-03-12 20:21:19 +08:00
Tyler Long
30fcab1c63 Rename scss files 2018-03-12 20:10:33 +08:00
Tyler Long
edde501d54 Inline window.getComputedStyle(svg) so you can save the svg. 2018-03-11 23:47:45 +08:00
Tyler Long
35c0e2cea2 Release 8.0.0-alpha.2 2018-03-11 23:26:37 +08:00
Tyler Long
5cf061cb32 Fix foreignObject issue 2018-03-11 23:19:38 +08:00
Tyler Long
5b6dfb01a6 Use timestamp to generate uniq id 2018-03-11 22:46:59 +08:00
Tyler Long
a0b589979d Simplify API 2018-03-11 22:38:13 +08:00
Tyler Long
0d0cdd0542 Remove render2 method 2018-03-11 22:23:26 +08:00
Tyler Long
297fa7a069 Remove codeclimate config file 2018-03-11 22:15:43 +08:00
Tyler Long
2ed515091f Add id as css scope 2018-03-11 21:36:59 +08:00
Tyler Long
b093f9fd41 Simplify css code 2018-03-11 20:26:23 +08:00
Tyler Long
fde6396f48 Minor change to css code 2018-03-11 20:14:22 +08:00
Tyler Long
11250290a2 Simplify inline css code 2018-03-11 20:10:17 +08:00
Tyler Long
be33c41a40 Scope all css rules to .mermaid 2018-03-11 18:24:58 +08:00
Tyler Long
e20528ab0d Simplify scss code 2018-03-11 18:06:28 +08:00
Tyler Long
a40d89ba0d Simplify SCSS code 2018-03-11 17:26:55 +08:00
Tyler Long
c0c7c96f28 Re-generate jison js files 2018-03-11 16:43:02 +08:00
Tyler Long
003e5575b9 Setup code coverage 2018-03-10 08:54:28 +08:00
Tyler Long
d904574ea8 Replace Karma + Jasmine with Jest 2018-03-10 08:42:59 +08:00
Tyler Long
cbb884edae Simplify webpack config 2018-03-09 20:49:12 +08:00
Tyler Long
0a7829fcfe Replace less with scss 2018-03-09 16:23:35 +08:00
Tyler Long
7c970d6ff0 Get rid of global.mermaid_config 2018-03-09 15:13:05 +08:00
Tyler Long
048b39ae16 Remove coveralls 2018-03-09 14:23:37 +08:00
Tyler Long
bb9d5e38fa Fix coveralls issue 2018-03-09 14:11:51 +08:00
Tyler Long
bb365ca1b5 Replace CodeClimate with coveralls 2018-03-09 14:01:53 +08:00
Tyler Long
53b97b3ffa Refactor code 2018-03-09 13:46:58 +08:00
Tyler Long
9c101eb8af Add interpolateToCurve util method 2018-03-09 13:33:35 +08:00
Tyler Long
c251270633 Release 8.0.0-alpha.1 2018-03-09 09:35:11 +08:00
Tyler Long
dfb1095908 Fix sequence diagram node text alignment 2018-03-09 09:09:41 +08:00
Tyler Long
cf2b415cd3 Update todo list 2018-03-08 22:26:30 +08:00
Tyler Long
e9f3ad63c6 Remove local d3 file 2018-03-08 21:42:39 +08:00
Tyler Long
6a9bd22904 Remove d3-textwrap 2018-03-08 21:33:23 +08:00
Tyler Long
ebbf3bfa77 Fix sequence diagram textWidth issue 2018-03-08 21:10:57 +08:00
Tyler Long
661aaead35 Fix a flowchat selection issue 2018-03-08 21:07:18 +08:00
Tyler Long
197671960d Fix gantt diagram xAxis format 2018-03-07 22:05:54 +08:00
Tyler Long
e434ac9a1f Improve gantt diagram code 2018-03-06 19:11:55 +08:00
Tyler Long
388ec2cd97 Get log level correct 2018-03-06 18:56:37 +08:00
Tyler Long
1d7589abb9 Try to fix gantt diagram 2018-03-06 18:41:06 +08:00
Tyler Long
da47ba11f8 Fix class diagram 2018-03-06 18:08:50 +08:00
Tyler Long
eaa572aafe Fix git graph 2018-03-06 18:05:03 +08:00
Tyler Long
d4ac9f8114 Try to upgrade d3 to v4 2018-03-06 16:32:29 +08:00
Tyler Long
4bc2f4d26d Add husky 2018-03-06 16:11:36 +08:00
Tyler Long
7dd174642c Use graphlibrary 2018-03-06 16:04:40 +08:00
Tyler Long
89f3de169c Upgrade more dependencies 2018-03-06 16:00:14 +08:00
Tyler Long
bc04bb28fe Update karma 2018-03-06 15:27:12 +08:00
Tyler Long
9df8d319c3 Update puppeteer to latest version 2018-03-06 15:06:23 +08:00
Tyler Long
3f55200737 Update some dependencies 2018-03-06 14:37:27 +08:00
Tyler Long
204b029973 Update config files 2018-03-06 13:40:11 +08:00
Tyler Long
3fbe3a3078 Merge pull request #595 from frankschmitt/spec-fix-1
Spec fix 1
2017-12-26 21:19:55 +08:00
Tyler Long
8848203d90 Fix issues of last PR 2017-12-26 20:58:54 +08:00
Tyler Long
8edd89c665 Merge pull request #598 from thomasleveil/pr/426
fix #426 - add class .clickable on nodes with click function or link
2017-12-26 20:49:35 +08:00
Tyler Long
c78d623e93 Add link to mermaid-parcel-demo 2017-12-25 13:49:53 +08:00
Tyler Long
b093fc8a55 Update webpack config 2017-12-20 22:20:56 +08:00
Tyler Long
7e01b2b3fb Get rid of babel-preset-es2015 2017-12-20 22:10:58 +08:00
Tyler Long
26eaaa8c79 Update dependencies 2017-12-20 22:02:21 +08:00
Thomas LEVEIL
8cd0e3bb05 flowchart css: add cursor pointer style for class .clickable 2017-12-03 04:36:33 +01:00
Thomas LEVEIL
e0f74690b0 flowchart: add class 'clickable' on vertices with link or click function 2017-12-03 04:29:49 +01:00
Thomas LEVEIL
8db7d73dc0 add quick test for clickable flow chart node with tooltip 2017-12-03 04:29:49 +01:00
Frank Schmitt
48ef5d74e8 Several small fixes in the Gantt spec
- removed duplicate test for date spec
 - fixed title of title spec
 - added section to section spec
2017-11-18 16:22:49 +01:00
Frank Schmitt
18117af067 Fixed grammar in Gantt spec 2017-11-18 16:18:24 +01:00
Tyler Long
b418642359 Update readme 2017-09-16 10:28:53 +08:00
Tyler Long
6a2f62a084 Update readme 2017-09-16 10:27:17 +08:00
Tyler Long
1ec262becf Get rid of "var " 2017-09-14 21:28:16 +08:00
Tyler Long
6cd5ffe637 Get rid of var 2017-09-14 21:12:35 +08:00
Tyler Long
20b43d8ad1 Get rid of var 2017-09-14 20:59:58 +08:00
Tyler Long
f16143de7c Get rid of "var " 2017-09-14 20:53:36 +08:00
Tyler Long
daba43dcba Replace var with const 2017-09-14 20:45:14 +08:00
Tyler Long
7c74107f36 Replace var with const 2017-09-14 20:35:00 +08:00
Tyler Long
2e0bfaeb74 Replace var with const 2017-09-14 20:27:52 +08:00
Tyler Long
d31e03d04e Replace 'var ' with 'const ' 2017-09-14 20:17:27 +08:00
Tyler Long
8da5f26452 Replace 'var ' with 'const ' 2017-09-14 20:12:54 +08:00
Tyler Long
d6e22d5f5e Replace 'var ' with 'const ' 2017-09-14 19:40:38 +08:00
Tyler Long
c52f4d6307 Repalce 'var ' with 'const ' 2017-09-14 19:32:35 +08:00
Tyler Long
77f1a8ecac Remove mermaid CLI from main project. Release 7.1.0 2017-09-14 11:26:21 +08:00
Tyler Long
a4348f1963 Inline svg font 2017-09-13 10:15:35 +08:00
Tyler Long
fe0434cb16 Release 7.0.17 2017-09-12 23:13:49 +08:00
Tyler Long
a6f992ce5b Allow user to configure theme 2017-09-12 22:54:50 +08:00
Tyler Long
04fc5e51fc Release 7.0.15 2017-09-12 22:21:10 +08:00
Tyler Long
d430019b44 Remove clone css style code 2017-09-12 22:13:58 +08:00
Tyler Long
72493b7a8b Correct way to handle inline style 2017-09-12 22:06:19 +08:00
Tyler Long
0a828ee67f Load less tyle as string 2017-09-12 21:33:39 +08:00
Tyler Long
385454f3f1 Refactor webpack config 2017-09-12 21:23:05 +08:00
Tyler Long
f0ff4d087f Update codeclimate config 2017-09-12 19:23:47 +08:00
Tyler Long
89081ea169 Remove before_script from Travis config 2017-09-12 19:18:19 +08:00
Tyler Long
e3d753da76 Remove sudo from Travis config 2017-09-12 19:12:20 +08:00
Tyler Long
1e89aa7d92 Remove before_install section from travis config 2017-09-12 18:25:44 +08:00
Tyler Long
f979d941b6 Remove chrome addon from travis 2017-09-12 18:22:36 +08:00
Tyler Long
b1dffc9eec Fix styleSheets index issue 2017-09-12 16:23:21 +08:00
Tyler Long
5424092189 Use puppeteer and sourcemap 2017-09-12 16:08:03 +08:00
Tyler Long
bfa8f75d3b Simplify karma config 2017-09-12 15:50:58 +08:00
Tyler Long
75d9e7bc59 webpack fs: 'empty' 2017-09-11 23:06:34 +08:00
Tyler Long
c5a7eeaa0f Remove 'fs' as dependency 2017-09-10 23:16:35 +08:00
Tyler Long
4947c75ff7 Release 7.0.12 2017-09-10 23:00:20 +08:00
Tyler Long
d07a7f505b Update folder structure in dist folder 2017-09-10 22:29:37 +08:00
Tyler Long
7ab5dac5c7 Remove unused file 2017-09-10 22:17:31 +08:00
Tyler Long
4fc082b526 Add export default to diagram files 2017-09-10 22:03:10 +08:00
Tyler Long
2a0bc3b2e8 Add export default to *Db.js 2017-09-10 21:51:48 +08:00
Tyler Long
a7d79baf00 Replace require with import 2017-09-10 21:23:04 +08:00
Tyler Long
c9442653e9 Replace require with import 2017-09-10 19:41:34 +08:00
Tyler Long
969faf91fe ack ignore coverage dir 2017-09-10 17:31:04 +08:00
Tyler Long
8fe218676a Refactor logger 2017-09-10 17:00:15 +08:00
Tyler Long
f6b518ed49 Refactor logger code 2017-09-10 16:56:10 +08:00
Tyler Long
c53c679c6b jest --runInBand 2017-09-10 11:56:53 +08:00
Tyler Long
2d91daf858 Replace tape with jest 2017-09-10 11:42:39 +08:00
Tyler Long
a5b7145527 No global mermaidAPI 2017-09-10 10:45:38 +08:00
Tyler Long
ee912c2b29 No global mermaid 2017-09-10 10:24:48 +08:00
Tyler Long
bdf9b33b10 Remove parseError properties 2017-09-10 10:19:15 +08:00
Tyler Long
167368d508 Throw parseError instead of emit parseError 2017-09-10 10:10:36 +08:00
Tyler Long
bb534225b3 Refactor testing code for parseError 2017-09-10 00:47:09 +08:00
Tyler Long
ab69dacc6d Restore commented test 2017-09-10 00:31:29 +08:00
Tyler Long
8c2690e01f Emit parseError 2017-09-10 00:29:22 +08:00
Tyler Long
57db10a4c0 Make yarn release work 2017-09-09 21:51:12 +08:00
Tyler Long
fc5c07027c No manual global mermaid 2017-09-09 21:47:21 +08:00
Tyler Long
5da8c26cb6 Replace exports. with module.exports 2017-09-09 17:08:52 +08:00
Tyler Long
626fdfe345 Start to refactor mermaid.js 2017-09-09 16:52:09 +08:00
Tyler Long
c071503f19 Refactor logger.js 2017-09-09 15:16:15 +08:00
Tyler Long
873f7a591b Refactor utils.js 2017-09-09 14:46:58 +08:00
Tyler Long
e0f5f10215 Release 7.0.10 2017-09-09 00:58:41 +08:00
Tyler Long
11a949b78e Release 7.0.9 2017-09-06 11:12:21 +08:00
Tyler Long
81007f841a Use babel-plugin-lodash 2017-09-05 21:19:53 +08:00
Tyler Long
84f592c417 Update dagre-d3-renderer 2017-09-05 20:57:13 +08:00
Tyler Long
1e3b61a188 Add todo items 2017-09-04 09:08:36 +08:00
Tyler Long
baeeedcc16 Update todo list 2017-09-03 22:56:46 +08:00
Tyler Long
70763fd13b Remove console.log in test code 2017-09-03 22:34:01 +08:00
Tyler Long
21c91a8408 Release 7.0.8 2017-09-03 22:20:00 +08:00
Tyler Long
07af7123c9 Remove bower support 2017-09-03 20:13:19 +08:00
Tyler Long
3fbb5f08b8 Remove live-server 2017-09-03 20:07:40 +08:00
Tyler Long
973f5b2591 Minor change to package.json scripts 2017-09-03 12:21:42 +08:00
Tyler Long
64b5880444 Move gulp tasks 2017-09-03 12:19:34 +08:00
Tyler Long
81132bf0ed Remove jison.sh 2017-09-03 12:16:32 +08:00
Tyler Long
a9c23f205b Remove jison_legacy 2017-09-03 12:15:58 +08:00
Tyler Long
801d1e9eda jison 'token-stack': true 2017-09-03 12:06:40 +08:00
Tyler Long
15977695cd Re-run jison 2017-09-03 11:57:36 +08:00
Tyler Long
e0d578920a jison token-stack 2017-09-03 11:56:44 +08:00
Tyler Long
b6c75c8d62 Fix gulp-shell issue 2017-09-03 11:20:30 +08:00
Tyler Long
e4cb1dcbfd Fix a typo 2017-09-03 09:50:25 +08:00
Tyler Long
ceb8430f9b Minor change to webpack config 2017-09-03 09:20:39 +08:00
Tyler Long
2565b47637 Update karma config 2017-09-03 09:09:58 +08:00
Tyler Long
73eb98c4c3 Remove babel-plugin-transform-remove-strict-mode 2017-09-03 08:26:57 +08:00
Tyler Long
8c7e8b7a6c Remove 'use strict' 2017-09-02 23:48:25 +08:00
Tyler Long
894616bef9 Release 7.0.7 2017-09-02 23:44:00 +08:00
Tyler Long
1cfd6b67b3 Remove unused dependencies 2017-09-01 21:54:58 +08:00
Tyler Long
5e4d8a1034 Remove unused dependencies 2017-09-01 21:20:40 +08:00
Tyler Long
00785daac9 Remove useless dependencies 2017-09-01 21:14:33 +08:00
Tyler Long
12bfc9570a Remove useless dependencies 2017-09-01 21:10:26 +08:00
Tyler Long
f6b5c704e8 Make build faster 2017-09-01 18:34:10 +08:00
Tyler Long
6fe62060c6 Update config 2017-09-01 18:05:46 +08:00
Tyler Long
51fe2e8a9b Remove useless gulp scripts 2017-09-01 17:45:01 +08:00
Tyler Long
a18179e6db Remove editor 2017-09-01 17:35:13 +08:00
Tyler Long
89e1da4780 Update build scripts 2017-09-01 16:15:41 +08:00
Tyler Long
cb9a7f4cd1 Remove dist/www 2017-09-01 16:04:22 +08:00
Tyler Long
dcad2e9a17 Add screenshot for gantt diagram 2017-09-01 16:01:03 +08:00
Tyler Long
75eb6b1b6a Update screenshots 2017-09-01 15:53:20 +08:00
Tyler Long
47be3df96a Remove docs 2017-09-01 15:46:40 +08:00
Tyler Long
b077918832 Update library 2017-09-01 15:33:20 +08:00
Tyler Long
73a66b8206 Update libries 2017-09-01 14:52:27 +08:00
Tyler Long
89179ff5d1 Update badge position 2017-08-17 00:03:06 +08:00
Tyler Long
12a4882efe Update README 2017-08-17 00:02:13 +08:00
Tyler Long
4017628630 Release 7.0.4 2017-08-17 00:00:26 +08:00
Tyler Long
d596b58895 Update dependencies 2017-08-16 23:57:43 +08:00
Tyler Long
398f4bf56d Update readme 2017-08-16 23:19:44 +08:00
Tyler Long
e2b4fd4b20 New documentation website: https://mermaidjs.github.io/ 2017-08-16 22:02:28 +08:00
Tyler Long
e0c732ad47 Update readme 2017-06-04 15:26:45 +08:00
Tyler Long
3a0e665c13 Add installation guide to readme 2017-06-04 12:21:13 +08:00
Tyler Long
1076d67137 Disable amd parse for lodash 2017-06-04 12:13:22 +08:00
Tyler Long
b023892c57 Format demo code 2017-06-02 14:42:04 +08:00
Tyler Long
5f5c8a2df0 package.json specify files 2017-06-01 13:38:08 +08:00
Tyler Long
0c4bab2966 Release 7.0.1 2017-06-01 13:19:03 +08:00
Tyler Long
054950ef16 webpack target node '6.9' 2017-05-31 23:17:24 +08:00
Tyler Long
e08496d84c Merge pull request #536 from gibson042/2017-05-cli-output
Improve CLI output
2017-05-31 22:51:58 +08:00
Tyler Long
ef07012359 Merge branch 'master' into 2017-05-cli-output 2017-05-31 22:43:19 +08:00
Tyler Long
952fe4923c Don't use google CDN because we cannot access it from China 2017-05-31 22:35:17 +08:00
Tyler Long
fb94892ca6 Merge pull request #537 from ctruelson/fix-spelling
Fix spelling of 'you' in sequenceDiagram docs
2017-05-31 22:22:08 +08:00
Tyler Long
b81b3bb118 Merge pull request #538 from tylingsoft/master
Update Travis config
2017-05-31 22:16:05 +08:00
Tyler Long
5496f790bf Update Travis to remove node 6 2017-05-31 21:58:22 +08:00
Tyler Long
a6ab0a5742 Update libraries 2017-05-31 21:46:09 +08:00
Tyler Long
ef053a813d Merge branch 'master' of github.com:tylingsoft/mermaid 2017-05-31 21:11:55 +08:00
Tyler Long
550e7beb61 Try to fix Chrome issue 2017-05-31 21:11:12 +08:00
Tyler Long
e8930e7ded Merge branch 'master' into master 2017-05-31 21:04:23 +08:00
Tyler Long
22ad977349 Disable Chrome headless mode because it's not supported by stable version of Chrome 2017-05-31 20:58:50 +08:00
Charles Truelson
c223c2be5c Fix spelling of 'you' 2017-05-26 15:04:56 -04:00
Richard Gibson
e3585a7d66 Use valid values in .travis.yml 2017-05-25 12:53:28 -04:00
Richard Gibson
905e0c20d9 Let Travis CI use headless chrome 2017-05-25 12:40:22 -04:00
Richard Gibson
981c3e0ce4 Inherit environment variables when testing 2017-05-25 12:29:20 -04:00
Richard Gibson
de2db39161 Include file paths in CLI log output 2017-05-25 10:14:11 -04:00
Richard Gibson
ef25bfee14 Always use verbosity-aware CLI logging 2017-05-25 10:04:50 -04:00
Richard Gibson
4cfd18e25f Output all CLI log messages in the same way 2017-05-25 09:57:30 -04:00
Richard Gibson
e0f3656629 Fix phantomjs invocation for Ubuntu 16.04 2017-05-25 09:52:06 -04:00
Richard Gibson
2ddad07fc7 Fix typo 2017-05-25 09:51:02 -04:00
Tyler Long
1dcb6cd390 Update travis config 2017-04-26 10:45:12 +08:00
Tyler Long
1a3d37d8a5 Merge pull request #524 from tylingsoft/master
Modernize mermaid
2017-04-24 23:56:45 +08:00
Tyler Long
5cd8ac1fac Try to fix travis chrome headless issue 2017-04-24 23:11:55 +08:00
Tyler Long
7889e35340 Run Chrome with --no-sandbox 2017-04-24 23:00:51 +08:00
Tyler Long
dcffde3e98 Update travis config 2017-04-24 22:42:07 +08:00
Tyler Long
d38b9be891 Update todo list 2017-04-22 23:37:23 +08:00
Tyler Long
42846cce50 Fix class diagram in dark theme issue 2017-04-22 23:33:54 +08:00
Tyler Long
2134dbb2fd Fix git graph dark theme text color issue 2017-04-22 23:27:19 +08:00
Tyler Long
ccec3810df Fix neutral theme sequence diagram issue 2017-04-22 23:15:50 +08:00
Tyler Long
12af9b0b66 Fix class diagram css style in other themes 2017-04-22 23:10:22 +08:00
Tyler Long
97b9edf7c3 Adjust class diagram label size 2017-04-22 22:31:18 +08:00
Tyler Long
c63d556cf8 Fix class diagram display issue 2017-04-22 22:25:07 +08:00
Tyler Long
b4e8cffd0a Fix git graph default style issue 2017-04-22 22:12:10 +08:00
Tyler Long
4ba3ff6769 Fix class diagram default theme color issue 2017-04-22 21:43:07 +08:00
Tyler Long
c56ac30d39 Fix labelBox style issue 2017-04-22 21:24:21 +08:00
Tyler Long
7072979cfc beautify less code 2017-04-22 20:43:18 +08:00
Tyler Long
727f6c0e28 Format less code 2017-04-22 20:26:53 +08:00
Tyler Long
1c7c109960 Refactor or remove some file 2017-04-22 17:13:05 +08:00
Tyler Long
391149dbd8 Refactor webpack config code 2017-04-22 17:12:12 +08:00
Tyler Long
7bb988c48b Update contributing.md 2017-04-22 17:10:37 +08:00
Tyler Long
1927ed47ff Update some config files 2017-04-22 17:09:51 +08:00
Tyler Long
73027d5cec yarn dist generates minified css files 2017-04-22 16:04:16 +08:00
Tyler Long
c52a8fc442 Webpack compile less to css 2017-04-22 15:40:35 +08:00
Tyler Long
acab3a5ee1 Remove css files from dist folder 2017-04-22 10:46:42 +08:00
Tyler Long
0bd8aabd7c Add instructions for manual test 2017-04-21 20:49:35 +08:00
Tyler Long
99de658093 Add documentation for contributors 2017-04-21 20:31:49 +08:00
Tyler Long
a4d06742c3 Remove jshint because we are using standard style based on ESLint 2017-04-21 11:21:42 +08:00
Tyler Long
3ebae8f331 Use Chrome stable instead of Chrome Canary 2017-04-21 10:25:16 +08:00
Tyler Long
7fed3b408e Refactor git graph code 2017-04-19 20:17:57 +08:00
Tyler Long
95712ea357 Update package.json 2017-04-19 18:37:55 +08:00
Tyler Long
d5178f61f1 Remove gulp-uglify 2017-04-19 00:02:38 +08:00
Tyler Long
941a7f9ff5 Get rid of browserify 2017-04-18 23:35:52 +08:00
Tyler Long
0ccc216a2c Replace karma-browserify with karma-webpack 2017-04-18 23:20:38 +08:00
Tyler Long
f0dc7f89e4 Replace phantomjs with phantomjs-prebuilt 2017-04-18 22:20:49 +08:00
Tyler Long
332ceb0da6 Replace karma + PhantomJS with karma + Chrome headless 2017-04-18 22:14:02 +08:00
Knut Sveidqvist
189758cca4 Merge pull request #519 from tylingsoft/master
Modernize mermaid
2017-04-17 19:45:59 +02:00
Tyler Long
2fa4df2830 yarn doesn't support node 4 2017-04-17 23:11:51 +08:00
Tyler Long
a8ff7a65f4 Fix Travis CI env issue 2017-04-17 22:58:54 +08:00
Tyler Long
5d68359eb6 First working version of babel 2017-04-17 22:34:25 +08:00
Tyler Long
4032824c79 Format code 2017-04-17 17:13:37 +08:00
Tyler Long
0ebf162673 Try babel 2017-04-17 16:47:26 +08:00
Tyler Long
166acad749 Remove some dependencies 2017-04-17 00:52:23 +08:00
Tyler Long
15bfc12cbe Remove useless dependencies 2017-04-17 00:37:01 +08:00
Tyler Long
3ac23c21d9 Refactor code 2017-04-17 00:12:30 +08:00
Tyler Long
8b44401b1b Update some configuration files 2017-04-17 00:12:05 +08:00
Tyler Long
5624453c87 Refactor code 2017-04-16 23:48:36 +08:00
Tyler Long
87c7f73245 Refactor code 2017-04-16 23:24:47 +08:00
Tyler Long
110e4ee586 Refactor code 2017-04-16 23:08:37 +08:00
Tyler Long
6a7a5b9249 Format code of src/d3.js 2017-04-16 22:49:59 +08:00
Tyler Long
8832aa61fe Remove useless jasmine config file 2017-04-16 21:44:31 +08:00
Tyler Long
e16e501b93 mermaidAPI should target node 2017-04-16 21:38:48 +08:00
Tyler Long
8536c975bf Refactor code of gulp scripts 2017-04-16 18:36:42 +08:00
Tyler Long
3d500800f1 Refactor code 2017-04-16 18:27:48 +08:00
Tyler Long
b9b991c5fe Refactor code in lib/ folder 2017-04-16 17:52:09 +08:00
Tyler Long
701e638907 Add demo for all the 5 diagram types 2017-04-16 17:30:40 +08:00
Tyler Long
52d03f3ce3 Remove useless file 2017-04-16 16:00:38 +08:00
Tyler Long
ebf00eecaa Remove useless file 2017-04-16 15:57:56 +08:00
Tyler Long
262a917952 Test mermaidAPI 2017-04-16 15:37:32 +08:00
Tyler Long
a730225700 Replace window.console with console in order to support node 2017-04-16 09:37:05 +08:00
Tyler Long
538d2c2b83 Remove getTransformToElement polyfill because it's fixed in dagre-d3 2017-04-16 09:30:04 +08:00
Tyler Long
736d57f3f2 Create demo folder 2017-04-16 09:17:25 +08:00
Tyler Long
053388a2d3 Add todo.md 2017-04-15 16:46:10 +08:00
Tyler Long
e17ec3e299 Don't use d3-textwrap before it's for d3 v4 only 2017-04-15 16:44:25 +08:00
Tyler Long
869a64e457 Generate all the dist files using webpack 2017-04-15 16:09:30 +08:00
Tyler Long
9d56595d48 Update libraries to latest version 2017-04-15 15:34:23 +08:00
Tyler Long
ea11f8bff1 Use external d3-textwrap 2017-04-15 14:49:35 +08:00
Tyler Long
fd5b3083dd Update d3 to 3.5.17 2017-04-15 13:26:58 +08:00
Tyler Long
58a787b660 Upgrade D3 to 3.5.12 2017-04-15 13:22:26 +08:00
Tyler Long
dffc53b7b1 Minor changes 2017-04-15 13:13:54 +08:00
Tyler Long
173899fc76 First fully working version of webpack 2017-04-15 12:38:24 +08:00
Tyler Long
7166ade310 Debug flowchart 2017-04-15 12:28:16 +08:00
Tyler Long
7b935823da First working version of webpack 2017-04-15 10:28:37 +08:00
Tyler Long
e945bf884e First try of webpack 2017-04-14 17:43:53 +08:00
Tyler Long
d87da684a9 eslint watch 2017-04-13 22:35:27 +08:00
Tyler Long
15bdaca2f9 Use yarn install of npm 2017-04-13 22:21:09 +08:00
Tyler Long
df8085bee0 Fix all code style issues 2017-04-13 21:53:23 +08:00
Tyler Long
f04d415b0a Fix gulpfile.js style issue 2017-04-13 21:08:51 +08:00
Tyler Long
ab398c64a8 Fix code style issues 2017-04-13 20:50:22 +08:00
Tyler Long
a2ce9e6a54 Fix code style issues 2017-04-13 20:16:38 +08:00
Tyler Long
dc4edf775d Fix style issue of logger.js 2017-04-11 23:46:11 +08:00
Tyler Long
e91229f69f Fix style issue of mermaid.js and mermaidAPI.js 2017-04-11 23:31:59 +08:00
Tyler Long
f136a7fd8d Add .ackrc 2017-04-11 23:11:12 +08:00
Tyler Long
413162dfad Fix some code style issues 2017-04-11 22:57:57 +08:00
Tyler Long
7d1c1e3845 Add index.html to dist folder 2017-04-11 22:24:55 +08:00
Tyler Long
620f3e8734 Auto fix standard style voilations 2017-04-11 22:14:25 +08:00
Tyler Long
d46fda537d Use JavaScript Standard Style for lint 2017-04-11 22:02:50 +08:00
Tyler Long
fc96360e17 Get all tape tests correct 2017-04-11 21:52:19 +08:00
Tyler Long
bc94fc3d6d Convert test/cli_test-sample.js to ES6 2017-04-10 22:24:20 +08:00
Tyler Long
c1e5fe3281 Change cli_test-parser.js to ES6 2017-04-10 21:59:40 +08:00
Tyler Long
69ceab9f44 Change cli_test-output.js to ES6 2017-04-10 21:26:38 +08:00
Tyler Long
546e766fd9 Add JavaScript Standard Style 2017-04-10 21:15:12 +08:00
Tyler Long
82220638a0 package.json scripts test should do dist 2017-04-10 20:51:01 +08:00
Tyler Long
432f3446b0 Minor change to d3 version 2017-04-10 20:28:50 +08:00
Tyler Long
19212eb4aa Upgrade all libraries except d3 2017-04-10 18:10:30 +08:00
Tyler Long
176ffa8e7c Update phantomjs 2017-04-10 17:52:19 +08:00
Tyler Long
3caa755b28 Update some libraries 2017-04-10 17:46:52 +08:00
Tyler Long
e48ff4c7e9 Update chalk, he and lodash 2017-04-10 17:43:02 +08:00
Tyler Long
e1e7be07f7 Remove auto generated js file from dist folder 2017-04-10 17:09:21 +08:00
Tyler Long
23dd96be97 Update .gitignore 2017-04-10 16:53:32 +08:00
Tyler Long
2525929e8d Add yarn.lock file 2017-04-10 16:45:22 +08:00
Tyler Long
2deacb8e97 Format files in root folder 2017-04-10 16:36:54 +08:00
Tyler Long
3b2b0da3a1 Add .editorconfig 2017-04-10 16:33:31 +08:00
Knut Sveidqvist
ca5a96f53a Merge pull request #509 from filipedeschamps/patch-1
Update CLI instructions
2017-04-08 08:45:40 +02:00
Filipe Deschamps
c2227e1a48 Update CLI instructions
Documentation `Usage` section wasn't reflecting CLI `--help` instructions anymore.
2017-04-07 23:11:16 -03:00
Knut Sveidqvist
dff8027be6 Merge pull request #503 from yudenzel/master
Add style for classDiagram to dark/default theme
2017-04-07 07:27:11 +02:00
YuDenzel
8f7f1ee0b5 Add style for classDiagram to dark/default theme
Copy classDiagram.less in forest theme to dark and default theme.

Issue: #454
2017-04-06 00:40:14 +08:00
Knut Sveidqvist
c7c077c21c Fix for issue #501
Added heko request to readme
2017-04-01 13:51:03 +02:00
Knut Sveidqvist
d7b1eb74e5 Upgraded version of node 2017-04-01 12:04:02 +02:00
Knut Sveidqvist
8772a5bba0 Merge pull request #498 from gomlgs/patch-1
Fix documentation for git graph.
2017-04-01 11:45:07 +02:00
Knut Sveidqvist
c6ccfa8b6a Merge pull request #497 from saveman71/master
Fix links in documentations
2017-04-01 11:43:59 +02:00
Knut Sveidqvist
63057c2f60 Merge pull request #470 from u-minor/support_parallel
add par statement to sequenceDiagram
2017-04-01 11:41:25 +02:00
Minoru Nakata
3b9baeb866 add generated parser 2017-03-30 18:39:48 +09:00
Minoru Nakata
38c5e65c35 add par statement to sequenceDiagram 2017-03-30 18:28:44 +09:00
gomlgs
fa7570efd8 Fix documentation for git graph. 2017-03-24 13:27:26 -07:00
Antoine Bolvy
b50c15e278 Fix links in documentations
* The main change (in term of importance) is the fix of two broken links that were
pointing to outdated sections ids.
* Added a link to mermaidCLI in the sequenceDiagram section, to reflect the one in
the gantt section.

* Converted some links to https.
2017-03-23 20:17:01 -04:00
Knut Sveidqvist
96be32225e Merge pull request #473 from gnkm/Add-viewbox-to-class-diagram
Add viewbox attr to class diagram
2017-03-19 13:37:39 +01:00
Knut Sveidqvist
dab3bc6ce4 Merge pull request #481 from raghur/gitgraph-doc-updates
Update README.md with git graph sample
2017-03-19 13:34:33 +01:00
Knut Sveidqvist
b0e81bf188 Merge pull request #479 from stevenschobert/ss-fix-typo
Fix misspelling of “another”
2017-03-19 13:34:14 +01:00
Knut Sveidqvist
acbbfbe419 Merge pull request #477 from brookhong/sequenceDiagram
Fixed #456 sequenceDiagram: dotted line for alt and empty bracket sho…
2017-03-19 13:33:52 +01:00
Raghu Rajagopalan
c1478418ae Add documenation for git graph 2017-02-21 12:32:19 +05:30
Steven Schobert
37f9655714 fix misspelling of “another” 2017-02-20 11:56:57 -06:00
brook hong
4f12596e29 Update color for label to make it align with loop line 2017-02-16 23:11:53 +08:00
brook hong
c714a7a28c Fixed #456 sequenceDiagram: dotted line for alt and empty bracket should be hidden
And draw label with right bottom corner cut
2017-02-16 22:50:39 +08:00
Genki Matsunaga
b935108ed8 Add viewbox attr to class diagram 2017-02-07 18:29:49 +09:00
Knut Sveidqvist
fb70b9742a New release 2017-01-29 12:14:02 +01:00
Knut Sveidqvist
8d91a42fe7 Fix for merge error 2017-01-09 21:36:01 +01:00
Knut Sveidqvist
0be8d62f7d Fix for merge error 2017-01-09 21:35:53 +01:00
Knut Sveidqvist
cac960c6b8 Merge pull request #452 from joshuacolvin/issue416_link_style_fill_none
Fix for #416, customizing link style with any color sets `fill` property to `black` instead of `none`
2017-01-09 21:30:03 +01:00
Knut Sveidqvist
8596eb6091 Merge branch 'master' into issue416_link_style_fill_none 2017-01-09 08:02:08 +01:00
Knut Sveidqvist
7ff87fdac9 Merge pull request #447 from jawn/patch-1
Fix spelling
2017-01-09 07:58:36 +01:00
Knut Sveidqvist
4c04001637 Merge pull request #449 from bfriedz/circle-styles
Allow .node>circle to receive css styles
2017-01-09 07:58:07 +01:00
Joshua Colvin
8c6cfebc1c Add unit tests to check that 'fill:none' is being set by default.
Updated unit tests to include 'fill:none' in expect style array values.
2017-01-07 12:58:47 -05:00
Joshua Colvin
ff0ab048df Add unit tests for isSubstringInArray utility function 2017-01-07 12:57:32 -05:00
Joshua Colvin
9b66b114cc Add conditional to add 'fill:none' to styles array if fill not present 2017-01-07 12:54:49 -05:00
Joshua Colvin
957244583c Add utilty function to check for substring in array 2017-01-07 12:53:49 -05:00
Rebecca Dreezer
a124be71b1 Allow .node>circle to receive css styles 2017-01-05 22:02:38 -05:00
Bernard Vander Beken
345d460643 Fix spelling 2017-01-04 11:19:14 +01:00
Knut Sveidqvist
7f0d4fff1b Merge pull request #445 from whyzdev/flowchat_text
added tests and fix cli css style selector lowercase problem
2017-01-03 19:28:06 +01:00
Knut Sveidqvist
1903154d01 Merge pull request #441 from hetz/hetz-patch-gulp-uglify
Update d3.js
2017-01-03 19:27:18 +01:00
whyzdev
9558ebcb0b remove dups 2017-01-01 23:41:38 -05:00
whyzdev
d63934637f remove dups 2017-01-01 23:36:42 -05:00
whyzdev
256c529de8 fix cli css style selector text lowercase problem by setting svg style content to commandline css content, if available -- this overwrites cloneCssStyles 2017-01-01 22:47:09 -05:00
whyzdev
a56fe7a8fe add more tests in cli_test-samples: flowchart, sequence, gantt, gitgraph, load html in phantomjs and save screenshot png 2017-01-01 22:47:09 -05:00
贺天卓
be4bbed687 Update d3.js
fix gulp-uglify error.
2016-12-20 01:45:23 +08:00
Knut Sveidqvist
2d2f0b9281 Update .codeclimate.yml 2016-12-19 13:07:43 +01:00
Knut Sveidqvist
dfd9622ce7 Merge pull request #439 from whyzdev/flowchat_text
adde tests to reproduce #434 in flowchart
2016-12-19 13:04:36 +01:00
whyzdev
71125e7b86 change " to ' per code climate 2016-12-19 00:40:29 -05:00
whyzdev
4a5bbe1791 added a flowchart cli test to reproduce #434 2016-12-18 23:17:24 -05:00
whyzdev
0ecbbf8ddf add tests 2016-12-18 22:52:41 -05:00
whyzdev
b73698849d rename tests 2016-12-18 18:05:37 -05:00
whyzdev
e13c939583 added cli_test_run-samples to test samples from commandline; added --outputSuffix option 2016-12-18 12:30:37 -05:00
whyzdev
96a25935ac fix warnings per code climate 2016-12-17 18:03:11 -05:00
Knut Sveidqvist
7d5c3144dc Merge pull request #437 from larkinscott/master
Code Climate config
2016-12-15 12:02:13 +01:00
Scott Larkin
2cf9a07bb2 Update .codeclimate.yml 2016-12-14 15:11:07 -05:00
Knut Sveidqvist
72718c14d1 Merge pull request #435 from whyzdev/issue428_fix_gantt_cli_cfg
fix gantt and sequence digram cli cfg
2016-12-14 12:43:50 +01:00
Knut Sveidqvist
fbe64b21bc Fix for issue #311, mermaid will clear div used for rendering initially in the redner function. 2016-12-14 12:41:29 +01:00
Knut Sveidqvist
d65741177a Fix for issue #311, mermaid will clear div used for rendering initially in the redner function. 2016-12-14 12:41:22 +01:00
Knut Sveidqvist
046b4fdae4 Fix for issue #311, mermaid will clear div used for rendering initially in the redner function. 2016-12-14 12:41:12 +01:00
Knut Sveidqvist
a179212c60 Fix for issue #311, mermaid will clear div used for rendering initially in the redner function. 2016-12-14 12:40:44 +01:00
whyzdev
5d99e9c0b8 changed tspan as default of sequence actor text placement 2016-12-13 21:07:32 -05:00
whyzdev
b426e600ce fix gantt chart cli configuration one more time missing }; make sequenceConfig cli configuration work; added guantt and sequence files in tape cli output tests 2016-12-13 21:07:32 -05:00
Knut Sveidqvist
66d7c00e84 Merge pull request #433 from whyzdev/issue428_fix_gantt_cli_cfg
fix gantt chart cli configuration broken
2016-12-13 09:28:37 +01:00
whyzdev
293c23ec52 fix gantt chart cli configuration broken #430; remove json quote around function in the config e.g. axisFormatter 2016-12-13 00:19:35 -05:00
Knut Sveidqvist
9e701b0fb3 Merge pull request #430 from whyzdev/issue428_fix_gantt_cli_cfg
fix gantt chart cli configuration parsing including functions
2016-12-11 14:01:56 +01:00
whyzdev
95a0cb53d3 fix gantt chart cli configuration parsing including functions 2016-12-10 16:21:21 -05:00
Knut Sveidqvist
3c03c84782 Merge pull request #427 from whyzdev/issue422_seq_actor_text_placement
use tspan via d3.textwrap to place actor text in sequence diagram
2016-12-10 10:05:18 +01:00
Knut Sveidqvist
a3fa318edc Merge pull request #429 from daveaglick/master
Uses an empty text node instead of a string for svg group labels
2016-12-10 10:05:01 +01:00
Dave Glick
0187407cff Uses an empty text node instead of a string for svg group labels 2016-12-09 15:47:26 -05:00
whyzdev
1424ff7d22 fix karma tests where text.textwrap is undefined; added textPlacement parameters to some test cases 2016-12-07 21:46:58 -05:00
whyzdev
db62447c98 fix logger to display exception stack includig message not just {} 2016-12-07 20:26:22 -05:00
whyzdev
b96ae68aee added byTspan in _drawText candidate function, which uses d3textwrap and align middle vertically by setting text.y 2016-12-07 20:26:22 -05:00
Scott Larkin
7d3f0da75c Create .codeclimate.yml
Created a Code Climate config that uses your existing ESLint configuration (also, enabled our Duplication engine).
2016-12-05 16:06:17 -05:00
Knut Sveidqvist
4984f9e041 Merge pull request #423 from whyzdev/issue422_seq_actor_text_placement_by_fo
#422 use foreignObject/div to place actor label in sequence diagram
2016-12-02 13:25:59 +01:00
whyzdev
1e27238083 fix non-fo y position as before 2016-12-01 20:09:57 -05:00
whyzdev
1e41cea107 use foreignObject/div to place actor label in sequence diagram, enabled by config.textPlacement:fo 2016-12-01 01:00:53 -05:00
Knut Sveidqvist
da99d3b15e Merge pull request #413 from sifb/patch-1
Clarify the need for a CSS stylesheet
2016-11-25 18:55:40 +01:00
sifb
a0dafb4093 Clarify the need for a CSS stylesheet
Issue #273 says "the need for mermaid.css should be mentioned explicitly in the intro docs" - I ran into this problem as well, because I read `mermaid.min.js This bundle contains everything you need to run mermaid` very literally, but it doesn't contain everything and it needs a stylesheet as well.

This edit tries to make that more clear.
2016-11-24 21:26:07 +00:00
Knut Sveidqvist
f5485c1265 Merge pull request #412 from sinedied/master
Added hads downstream project
2016-11-20 10:22:33 +01:00
Yohan Lasorsa
24da004bd6 Added hads downstream project 2016-11-17 17:10:50 +01:00
Knut Sveidqvist
e8f28b71f7 Merge pull request #406 from jinntrance/master
update usage and fix #273
2016-11-06 22:42:10 +01:00
Knut Sveidqvist
fa91653beb Merge pull request #404 from raghur/docs-downstream-pandoc-filter
Add https://github.com/raghur/mermaid-filter to downstream projects docs page
2016-11-06 22:40:56 +01:00
Joseph Jin-Chuan Tang
aa93860466 update usage and fix #273 2016-11-07 01:00:13 +08:00
Raghu Rajagopalan
ea26bd0ff2 Add https://github.com/raghur/mermaid-filter to downstream projects documentation page 2016-11-03 09:15:46 +05:30
Knut Sveidqvist
214fc1d8c4 Fix for issue #400, added unix new line at the end of generated svg 2016-10-31 20:34:34 +01:00
Knut Sveidqvist
09558e6e9a Merge branch 'master' of https://github.com/knsv/mermaid 2016-10-30 16:13:11 +01:00
Knut Sveidqvist
cc069d3987 Some change 2016-10-30 16:13:06 +01:00
Knut Sveidqvist
db3dc0ffab Merge pull request #395 from sinedied/master
New neutral theme
2016-10-05 20:05:13 +02:00
Yohan Lasorsa
6a6d6b6f85 Added neutral style 2016-10-05 15:20:58 +02:00
Knut Sveidqvist
605d74dd0d Merge pull request #390 from ben-page/cli-fix
fix cli issues
2016-09-29 07:34:07 +02:00
Ben Page
0c62c08abd fixed css, sequenceConfig, and ganttConfig being sent as buffer to phantomjs
made verbose cli argument a boolean
2016-09-28 15:08:46 -05:00
Knut Sveidqvist
aa6e15e3ac Merge pull request #386 from The-Alchemist/patch-1
Add missing space for 'Labels out of bounds' section
2016-09-02 07:43:17 +02:00
Knut Sveidqvist
537cba4bda Merge pull request #382 from swhgoon/patch-1
Fix typo: `pats` -> `paths`
2016-09-02 07:42:24 +02:00
The Alchemist
7e9419f299 Add missing space for 'Labels out of bounds' section
If you go to http://knsv.github.io/mermaid/#simple-usage-on-a-web-page, you'll see that the '###' did not get translated, probably because there needs to be a space between '###' and the text.
2016-09-01 15:48:49 -04:00
SwhGo_oN
d59ac53f64 Fix typo: pats -> paths 2016-08-29 20:15:04 +08:00
Knut Sveidqvist
92c7fe9bf6 Merge pull request #379 from HustLion/master
Added class diagram example to README.md
2016-07-27 18:31:34 +02:00
HustLion
3f2cd65159 made a better shot 2016-07-27 20:01:01 +08:00
HustLion
da717b5a91 reindent loop 2016-07-27 19:57:50 +08:00
HustLion
e277f286c0 td style not accepted, so use p style 2016-07-27 19:55:39 +08:00
HustLion
d45e21a786 Adjust img to make it look better 2016-07-27 19:49:35 +08:00
HustLion
22fc99d521 Reformat code block 2016-07-27 19:31:21 +08:00
HustLion
1026ad7011 Add Class-diagram example 2016-07-27 19:29:15 +08:00
Knut Sveidqvist
f9491ef193 Merge pull request #376 from dodoinblue/enhance-arrowhead-style
override normal flowchart arrowhead to allow css styling
2016-07-20 12:25:29 +02:00
Charles Liu
5302ca38da override normal flowchart arrowhead to allow css styling 2016-07-20 13:19:27 +08:00
Knut Sveidqvist
2830c70140 Merge pull request #371 from mgaitan/patch-1
added sphinx extension
2016-07-10 21:49:49 +02:00
Knut Sveidqvist
5e2d8d1c90 Merge pull request #369 from ggpasqualino/master
Fix typo in the sequence diagram documentation
2016-07-10 21:44:09 +02:00
Martín Gaitán
65797742ef added sphinx extension 2016-07-09 12:04:41 -03:00
Guilherme Pasqualino
1a5a52358e Merge pull request #1 from ggpasqualino/ggpasqualino-patch-1
Fix typo in sequence diagram documentation
2016-07-07 11:10:26 +02:00
Guilherme Pasqualino
5852fc2d68 Fix typo in sequence diagram documentation 2016-07-07 11:08:26 +02:00
Knut Sveidqvist
b8d3b01f64 New release 2016-05-29 19:25:02 +02:00
Knut Sveidqvist
165d43b0cd New release 2016-05-29 19:22:10 +02:00
Knut Sveidqvist
d8929db208 New release 2016-05-29 19:18:04 +02:00
Knut Sveidqvist
0ab0be01c2 Merge pull request #353 from zeroyonichihachi/gantt-width
The option of gantt for the spaces for the section names.
2016-05-25 13:59:27 +02:00
tkfm.yamaguchi
f2e4b922a9 Fix tests 2016-05-23 11:45:47 +09:00
tkfm.yamaguchi
a7e5db6e19 Fix API: gantt's side paddings 2016-05-23 11:44:46 +09:00
tkfm.yamaguchi
e8be61e062 Add example for side span of gantt 2016-05-23 11:23:49 +09:00
tkfm.yamaguchi
0cd04af6a4 Replace sidePadding with left/rightPadding 2016-05-23 11:21:38 +09:00
Knut Sveidqvist
23105211f8 Merge pull request #349 from AsaAyers/master
Remove the text-shadows that make the text look blurry
2016-05-08 23:02:42 +02:00
Knut Sveidqvist
618bc4fbc2 Merge pull request #350 from raghur/gitgraph-updates
Gitgraph: Make reset work with parent ref carets
2016-05-08 20:05:19 +02:00
Raghu Rajagopalan
cbefb716e3 Make reset work with parent ref carets 2016-05-07 11:31:05 +05:30
Asa Ayers
d2cecca297 Remove the text-shadows that make the text look blurry 2016-05-04 13:55:50 -04:00
Knut Sveidqvist
8f8856b767 Merge pull request #346 from AlanHohn/line-interpolation
add line interpolation to linkStyle in flowchart
2016-04-29 07:39:32 +02:00
Alan Hohn
00682160b6 add line interpolation to linkStyle in flowchart 2016-04-28 20:59:09 -04:00
Knut Sveidqvist
6ffef61afc Merge pull request #344 from raghur/options
Support git graph diagrams in mermaid
2016-04-28 15:48:35 +02:00
Raghu Rajagopalan
75c9debb5e fix branching lines 2016-04-28 11:27:52 +05:30
Raghu Rajagopalan
6521cc81fe formatting clean up 2016-04-28 11:27:24 +05:30
Raghu Rajagopalan
b634439765 infer svg height, width from # of nodes 2016-04-27 10:05:50 +05:30
Raghu Rajagopalan
1d8d42ad08 Show commit msg if available in BT orientation 2016-04-27 09:47:39 +05:30
Raghu Rajagopalan
4e26b8e645 Support different colors for each branch 2016-04-27 09:27:56 +05:30
Raghu Rajagopalan
6a674a0a40 add support for BT rendering 2016-04-26 22:53:38 +05:30
Raghu Rajagopalan
a5a3bc8b7c fix logging output in prettyprint 2016-04-26 22:52:27 +05:30
Raghu Rajagopalan
6ff536fca7 fix eslintrc so eslint doesn't barf - duplicated keys 2016-04-25 16:35:20 +05:30
Raghu Rajagopalan
719ee2e001 fix more eslint issues 2016-04-25 16:34:45 +05:30
Raghu Rajagopalan
6c28c55ea7 Update node label distance. 2016-04-25 13:01:17 +05:30
Raghu Rajagopalan
6032e05581 fix eslint issues. 2016-04-25 12:38:48 +05:30
Raghu Rajagopalan
0538048f24 add case block for mermaid api parser. 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
89307d3f13 foreignObject works. labels work! Yeah! 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
5dcd3e6f35 Apply commit and branch labels using foreignObjects.
Only works in browser.
2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
59ef2b0d4f Options are working. 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
a92e116a21 remove magic nos in renderer 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
d8805ae4d7 WIP - prettier curves. 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
942bd02add handle multiple branches; handle unmerged branches 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
0d6d848325 WIP - code simplified. Draw arrows later. still ugly 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
c6494f92fa draw bezier curves - still butt ugly 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
9cb9407e1c working but ugly 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
43ab44d8ba fix LR layout - node position and arrow direction. 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
c2bc3317c3 WIP - basic arrows. 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
413c6e12f5 WIP - Bug - shows only 5 of 6 nodes with test file. 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
65140f6b3f WIP - able to draw circles now. 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
2fee6e62aa WIP - scaffolding for rendering gitgraph. 2016-04-25 11:36:36 +05:30
Raghu Rajagopalan
4b91dbfed6 gitgraph.jison - handle LF & CRLF as line endings 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
e17b35a96a WIP-hook up a renderer 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
44dc30c02c add pretty print function 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
038062b3c3 fix bug in tracking parent commits 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
5cb44d55ff logger improvements - allow multiple args 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
8befe916fb WIP - pretty print commit on console 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
d3caa9b97d handle merge commits in history walk 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
2d99ccfcda Handle merge commit with two parents 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
92be61dc48 make logger print object instead of string concatentation 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
2fecb4d945 handle case when merge is a noop 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
462c3d3a6c handle fast forward merges 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
422d78cbcd basic reset command 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
7b0e2513bd refactor fns in ast 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
f8f0454f33 add another test for checkout 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
d937a3c552 support orientation, commit msg, branch checkout 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
dbd2855bfc first couple of tests for the half baked parser 2016-04-25 11:35:44 +05:30
Raghu Rajagopalan
8084d80d64 WIP - very basic grammar 2016-04-25 11:35:44 +05:30
Knut Sveidqvist
d585121bdb Merge pull request #338 from ssbarnea/master
Build and test execution changes
2016-03-29 20:00:34 +02:00
Knut Sveidqvist
9e496175d9 Merge pull request #331 from Jmuccigr/master
Reformatting of css files
2016-03-29 19:59:00 +02:00
Sorin Sbarnea
e6fcc2b3e3 Added LTS and current STABLE versions of nodejs to Travis test matrix. 2016-03-29 14:16:25 +01:00
Sorin Sbarnea
f748969186 Removed dist/ directory from source as is not supposed to be tracked here. 2016-03-29 14:15:48 +01:00
Sorin Sbarnea
4750769c63 Configured travis to use an osx_image which has nvm preinstalled. 2016-03-29 12:54:58 +01:00
Sorin Sbarnea
8c5c2b0fe1 Attempt to convince Travis to install the missing nvm 2016-03-29 12:49:17 +01:00
Sorin Sbarnea
1b04dbf7f9 Fixed .gitignore 2016-03-29 12:41:57 +01:00
Sorin Sbarnea
97e208f081 Enabled OS X build on Travis. 2016-03-29 12:37:46 +01:00
Knut Sveidqvist
2de974f71d Merge remote-tracking branch 'origin/master'
# Conflicts:
#	dist/mermaid.js
#	dist/mermaid.min.js
#	dist/mermaid.slim.js
#	dist/mermaid.slim.min.js
#	dist/mermaidAPI.js
#	dist/mermaidAPI.min.js
#	dist/mermaidAPI.slim.js
#	dist/mermaidAPI.slim.min.js
2016-03-23 20:35:34 +01:00
Knut Sveidqvist
bda1aaa5db Draft fix for issue #304 2016-03-23 20:34:44 +01:00
John Muccigrosso
b69010d83b Merge pull request #2 from Jmuccigr/patch-2
Reformat with no changes to content.
2016-03-21 19:16:14 -04:00
John Muccigrosso
2e3bc443ff Merge pull request #1 from Jmuccigr/patch-1
Reformat with no changes to content.
2016-03-21 19:15:14 -04:00
John Muccigrosso
d2e3517c78 Reformat with no changes to content. 2016-03-21 19:11:38 -04:00
John Muccigrosso
e930c5a30c Reformat with no changes to content. 2016-03-21 19:10:33 -04:00
Knut Sveidqvist
fb500ace8a Merge pull request #320 from bronsoja/seq-diagram-title-support
(WIP) Sequence Diagram Title Support
2016-03-16 19:40:59 +01:00
Josh Bronson
4f9a2a8083 Update dist files 2016-03-14 18:09:27 -04:00
Josh Bronson
2acaef67b1 Support title in parser, add to renderer, with naive positioning logic 2016-03-14 17:51:03 -04:00
Knut Sveidqvist
1ad9e75a86 Merge pull request #318 from ciekawy/activation_draft
activations doc + few fixes
2016-03-14 07:20:15 +01:00
Knut Sveidqvist
e9c6db4d8c Merge pull request #317 from crodriguez1a/feature/dark-theme
Dark theme for better contrast on darker backgrounds
2016-03-14 07:14:37 +01:00
Szymon Stasik
d070029856 activations doc 2016-03-12 19:54:09 +01:00
Szymon Stasik
68b65ba5d4 adjust activation after message to self 2016-03-12 19:40:45 +01:00
Szymon Stasik
c3f840126c fix loop/block bounds with activations through them 2016-03-12 19:33:35 +01:00
Carlos Rodriguez
7404de6776 fix bad spacing 2016-03-12 13:24:53 -05:00
Carlos Rodriguez
d763fffd7a some clean up, fix mix.html 404 2016-03-12 13:23:31 -05:00
Szymon Stasik
0435509952 fix message to self with activation 2016-03-12 18:39:49 +01:00
Carlos Rodriguez
bba1050e5e Use mix as test file instead 2016-03-12 12:36:37 -05:00
Carlos Rodriguez
28f9e6f17b Starting with gantt theme 2016-03-12 12:00:47 -05:00
Knut Sveidqvist
b3d147b97a Merge pull request #316 from ciekawy/activation_draft
Activations
2016-03-12 16:41:43 +01:00
Szymon Stasik
3f85391bde better align activation box start 2016-03-12 15:50:11 +01:00
Szymon Stasik
513c35d0ef handle one line arrow activation notation 2016-03-12 15:27:37 +01:00
Szymon Stasik
499a2582e6 fix deactivating proper actor from activation stack 2016-03-12 13:58:22 +01:00
knsv
d6363e908d Fix for issue with rednering in IE as described in #303 2016-03-12 11:28:14 +01:00
knsv
325d0dd075 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	dist/mermaid.js
2016-03-12 11:24:22 +01:00
knsv
2c90034d39 Fix for issue with rednering in IE as described in #303 2016-03-12 11:23:57 +01:00
Szymon Stasik
614e9f4b87 draw activation boxes 2016-03-11 16:44:45 +01:00
Szymon Stasik
2452532557 draft of activation boxes handling 2016-03-08 10:40:52 +01:00
Knut Sveidqvist
6c621f243d Merge pull request #312 from ashsearle/master
Support leading comments for sequenceDiagrams
2016-03-04 07:16:02 +01:00
Ash Searle
9cedbea2cf Support leading comments for sequenceDiagrams 2016-03-02 17:26:21 +00:00
Knut Sveidqvist
2168cce020 Merge pull request #309 from ashsearle/master
Show a little lenience for white-space around names
2016-02-29 07:55:48 +01:00
Ash Searle
7858186ecd Show a little lenience for white-space around names 2016-02-28 18:44:14 +00:00
Knut Sveidqvist
d2e9918e5f Merge pull request #307 from maxArturo/add-to-downstream-projs
Update list of downstream projects
2016-02-27 16:21:10 +01:00
Max Arturo AS
9a7b498818 Update list of downstream projects
Add [Previm](https://github.com/kannokanno/previm), allows live viewing of mermaid diagrams + .md from vim
2016-02-24 11:27:24 -06:00
Knut Sveidqvist
3ff23b3c45 Merge pull request #300 from LarryKlugerDS/master
Issue 299: Sequence diagram Loops: changing boxMargin spoils the "loop" notation
2016-02-10 16:51:16 +01:00
LarryKlugerDS
0f7dda9dfc #296 Further edit of build instructions 2016-02-10 09:10:15 +02:00
LarryKlugerDS
eef6eb93f8 Issue #296 -- better build instructions 2016-02-10 09:08:19 +02:00
LarryKlugerDS
31f78d1aa9 Issue 299: Sequence diagram Loops: changing boxMargin spoils the "loop" notation
In Sequence diagrams, a loop section draws a box with the word "loop"
in the top left corner. This is all good. In addition, the title of the
loop is in the center of the box, near the top of the box.

To add a bit of margin between the Loop title and the line at the top
of the box, change the configuration field boxMargin

Problem: by error, the boxMargin is also used for positioning the
"loop" label. SInce the loop label is in a fixed small place, changing
boxMargin causes the word "loop" to move out of its box.
2016-02-10 08:33:12 +02:00
Knut Sveidqvist
193ee657e6 Merge pull request #298 from LarryKlugerDS/master
Issue 297 - src/mermaid.js generates bad code
2016-02-10 07:22:17 +01:00
LarryKlugerDS
b5a030c78d Issue 297 - src/mermaid.js generates bad code 2016-02-10 08:16:03 +02:00
Knut Sveidqvist
5e447e8938 Merge pull request #295 from LarryKlugerDS/master
Updated instructions for running tests
2016-02-09 19:14:41 +01:00
Knut Sveidqvist
b495a7d834 Merge pull request #288 from tylerlong/master
Add Markdown Plus to Downstream projects
2016-02-09 19:13:56 +01:00
LarryKlugerDS
9aa4a79d6e Updated instructions for running tests 2016-02-09 20:11:10 +02:00
Tyler Long
cabd0769a8 Add Markdown Plus to Downstream projects
Markdown Plus is a markdown editor with extra features. The frontend is open source under MIT license. It provides apps for OS X and Windows for purchase.
2016-02-02 09:39:50 +08:00
Knut Sveidqvist
803916c99b Merge pull request #286 from raghur/master
Quote phantomPath so that it doesn't fail on window
2016-02-01 20:31:17 +01:00
Raghu
54433ee555 Quote phantomPath so that it doesn't fail on window
Quote phantomPath so that it doesn't fail on windows when path has spaces. Fixes #236
2016-02-01 11:02:01 +05:30
Knut Sveidqvist
6ee298dc7d New release 2016-01-27 15:02:41 +01:00
knsv
9bd140ce42 Fix for issue windows builds as described in #284 2016-01-26 18:03:58 +01:00
knsv
f005c72669 Fix for issue #281, support for Chrome v 48 2016-01-25 18:59:03 +01:00
knsv
d56af022c1 Fix for issue #262 2015-12-27 15:57:11 +01:00
knsv
cc8c5aecaf Fix for issue #271 2015-12-27 14:18:21 +01:00
knsv
8c8f5928f5 Changes to build environment for windows compatability 2015-12-26 10:59:44 +01:00
Knut Sveidqvist
ab38e17936 Merge pull request #267 from Anoia/master
gh-50 Allow styling of edge labels in css
2015-12-08 22:45:45 +01:00
esther.machata
52fcd18e6a gh-50 Allow styling of edge labels in css 2015-12-08 17:26:17 +01:00
Knut Sveidqvist
9fb980ab2c Merge pull request #265 from gibson042/sequenceDiagram-alias
Allow sequenceDiagram participant aliasing
2015-12-06 13:42:53 +01:00
Richard Gibson
b42939796c Allow sequenceDiagram participant aliasing
Fixes gh-263
2015-12-06 05:53:08 -05:00
Richard Gibson
69ce29841d Test for sequenceDiagram participant aliasing 2015-12-06 05:51:02 -05:00
knsv
425a83c0da Fix for issue #259 2015-11-22 18:55:37 +01:00
knsv
a9f4f8e06c Fix for issue #259 2015-11-22 18:53:09 +01:00
knsv
989ff03e43 Set version to 0.5.6
Removed logging
One more iteration in handling of parser API
2015-11-22 18:10:38 +01:00
knsv
64b0517bac Added missing karma dependencies 2015-11-21 12:20:37 +01:00
knsv
f52fa46326 Added missing karma dependencies 2015-11-21 11:58:16 +01:00
knsv
51858c02eb Fix for issues #249. Adding configuration option for when to use absolute references for arrow heads. Default is off.
Jasmine tests running in browser via karma.
2015-11-21 11:51:15 +01:00
knsv
4eb38e4cfd Fix for issues #239 and #257. 2015-11-15 15:06:24 +01:00
knsv
4a5828c732 Version change of d3 to 3.5.6 2015-11-11 20:15:02 +01:00
knsv
774ebfe671 Version change of babelify 2015-11-11 18:37:53 +01:00
knsv
6e2534aa77 Labels for relations between classes in classdiagrams 2015-11-11 16:19:06 +01:00
knsv
ad4e0a2ad5 Labels for relations between classes in classdiagrams 2015-11-11 13:16:38 +01:00
knsv
24d1afd40f Redering arrow heads depending on relation defined in class diagram. 2015-11-07 10:00:40 +01:00
Knut Sveidqvist
2278325822 Merge pull request #253 from gibson042/optional-terminal-newline
Make sequenceDiagram terminal newline optional
2015-11-06 20:17:19 +01:00
Knut Sveidqvist
49c13f19ff Merge pull request #252 from gibson042/sequenceDiagram-over
Support sequenceDiagram "over" notes
2015-11-06 20:16:24 +01:00
Richard Gibson
dbd63ff797 Make sequenceDiagram terminal newline optional
Fixes gh-229
2015-11-06 10:47:59 -05:00
Richard Gibson
a59a5a2402 Update documentation 2015-11-06 10:24:51 -05:00
Richard Gibson
26ebbf82ee Support sequenceDiagram "over" notes 2015-11-06 03:00:02 -05:00
knsv
76130bc485 Updated distribution after PR #251 2015-11-06 07:36:14 +01:00
knsv
f79577c816 Merge remote-tracking branch 'origin/master' 2015-11-06 07:23:44 +01:00
Knut Sveidqvist
ecca3588bc Merge pull request #251 from gibson042/gh-247
Properly handle "rest of line" statements
2015-11-06 07:23:23 +01:00
Knut Sveidqvist
34209db57b Merge pull request #250 from gibson042/exit-code
CLI: Propagate exit code from lib (i.e., phantomjs)
2015-11-06 07:11:26 +01:00
Richard Gibson
ec37fc897b Clean up lexer definitions 2015-11-06 00:05:16 -05:00
Richard Gibson
5666d5f298 Properly handle "rest of line" statements
Closes gh-247
2015-11-06 00:05:00 -05:00
Richard Gibson
6ac0c00e30 Add no-label test cases 2015-11-06 00:04:01 -05:00
Richard Gibson
990cab53a9 Add special-character test cases 2015-11-06 00:04:01 -05:00
Richard Gibson
18766466c6 Minor test cleanup 2015-11-06 00:04:01 -05:00
Richard Gibson
73e1957c62 Be explicit about testing semicolons 2015-11-06 00:04:00 -05:00
Richard Gibson
e0a31feaec Make testing quieter 2015-11-06 00:04:00 -05:00
Richard Gibson
c62061090a CLI: Propagate exit code from lib (i.e., phantomjs) 2015-11-05 15:50:59 -05:00
Tomasz Szczęśniak-Szlagowski
0f689c2ea1 Commit built files 2015-11-05 19:40:42 +00:00
Tomasz Szczęśniak-Szlagowski
ef290796e0 Fix a bug in CSS cloning error handler
Firefox throws SecurityError when `cssRules` is accessed, which exposes
this bug.

Fixes #245
2015-11-05 19:38:36 +00:00
knsv
c8fef693fa Added extension markers for classDiagrams
Added styling (forest) for classDiagrams
2015-11-04 20:38:14 +01:00
knsv
a9ac654040 Class diagram example 2015-11-04 16:36:19 +01:00
Knut Sveidqvist
17be68f5d9 Merge pull request #244 from ma-zal/master
flowRender.js - Fix FontAwesome icon insert
2015-11-04 16:21:18 +01:00
Martin Zaloudek
5d7815c98a flowRender.js - Fix fontAwesome icon insert
Missing ending tag </i> in fontAwesome icon inserting.
2015-11-04 15:46:31 +01:00
knsv
7fe5b5af7a Rendering of class diagrams with methods and members represented 2015-11-01 19:00:14 +01:00
knsv
068b7ce6a9 Simple rendering of class diagrams 2015-10-30 11:34:24 +01:00
knsv
eec89e0442 Merge remote-tracking branch 'origin/master' 2015-10-30 10:47:51 +01:00
knsv
7a58e8261f Simple rendering of class diagrams 2015-10-30 10:47:25 +01:00
Knut Sveidqvist
eec0aced7f Merge pull request #240 from r-a-v-a-s/patch-1
updated links in README.md
2015-10-30 08:47:27 +01:00
ravas
74eb2e4493 updated links in README.md 2015-10-29 23:06:36 -07:00
knsv
01ddfea478 1st version parsing for class diagrams, parsing draft completed, starting rendering work 2015-10-29 07:49:08 +01:00
knsv
a694f61003 1st version parsing for class diagrams, fetching data from parsing 2015-10-28 08:12:47 +01:00
Knut Sveidqvist
d3a025acd6 Merge pull request #237 from spect88/ellipse-syntax
Ellipse syntax
2015-10-27 07:23:40 +01:00
Tomasz Szczęśniak-Szlagowski
51d5c90c9f Add build with new ellipse syntax 2015-10-26 23:03:07 +00:00
Tomasz Szczęśniak-Szlagowski
e4d25ed9cd Add support for node(-ellipse shape-) in flow charts 2015-10-26 23:03:07 +00:00
knsv
1a60b6e412 1st version parsing for class diagrams 2015-10-26 08:03:30 +01:00
knsv
dd6495abf6 1st version parsing for class diagrams 2015-10-25 18:09:58 +01:00
knsv
35865ba70e Starting work with addition of class diagrams 2015-10-25 11:35:26 +01:00
Knut Sveidqvist
cee267193f Merge pull request #235 from spect88/fix-keyword-suffix
Allow keywords as suffixes of node ids
2015-10-25 07:38:14 +01:00
Tomasz Szczęśniak-Szlagowski
30149df88e Allow node ids with keywords as suffixes
I've extracted alpha and punctuation characters from the huge regex and
made multiple occurences of alpha characters be recognised as a single
ALPHA token.

This way everything should work just like before, with the
difference that alpha strings will swallow keywords, ie. `spend` is
`ALPHA`, while previously it would have been `ALPHA ALPHA end`.
2015-10-24 22:25:13 +01:00
Tomasz Szczęśniak-Szlagowski
841aea9d97 Add changes in generated files after jison update 2015-10-24 21:33:19 +01:00
knsv
d68323d7bb Using the latest jison in build 2015-10-24 20:45:42 +02:00
knsv
a583daf712 Using the latest jison in build 2015-10-24 20:33:52 +02:00
knsv
cf1912523b Using the latest jison in build 2015-10-24 20:27:54 +02:00
knsv
eecd56d6e0 Fix for issue #229, poor handling of activities in a gantt diagram where one activities follows a yet undefined activity. 2015-10-24 12:44:47 +02:00
Knut Sveidqvist
1cd1423780 Merge pull request #230 from gitter-badger/gitter-badge
Add a Gitter chat badge to README.md
2015-10-23 20:13:16 +02:00
The Gitter Badger
68812b0f04 Add Gitter badge 2015-10-23 18:12:08 +00:00
knsv
c9d29c16e2 New release 2015-10-21 21:14:41 +02:00
Knut Sveidqvist
185233c971 Merge pull request #228 from tylerlong/master
Fix a typo: crosshead --> arrowhead
2015-10-21 16:19:00 +02:00
Tyler Long
ca42976c62 Merge pull request #1 from tylerlong/tylerlong-patch-1
Fix a typo: crosshead --> arrowhead
2015-10-21 03:08:29 -07:00
Tyler Long
9ff2b35ae0 Fix a typo: crosshead --> arrowhead
Fix https://github.com/knsv/mermaid/issues/227
2015-10-21 18:07:51 +08:00
knsv
ecb12ae2a8 New release 2015-10-19 22:08:17 +02:00
knsv
b43e695da2 Fix for issue #204, added width option to the CLI. Default value for width is 1200.
Added logger using es6 syntax
2015-10-19 21:36:55 +02:00
knsv
57b731842b Fixed uglify command 2015-10-17 15:21:34 +02:00
knsv
a8ef091cd6 Fixed uglify command 2015-10-17 15:12:59 +02:00
knsv
315923d1d3 Modernization of build environment, better linting, adjustment after stricter static rules, cleanup of package.json 2015-10-17 12:46:36 +02:00
knsv
632a564158 Modernization, better linting, adjustment after stricter static rules 2015-10-17 10:39:20 +02:00
knsv
8365fcc2f9 Modernization, better linting, adjustment after stricter static rules 2015-10-17 10:38:05 +02:00
knsv
2417741283 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	dist/mermaid.js
#	dist/mermaid.min.js
#	dist/mermaid.slim.js
#	dist/mermaid.slim.min.js
#	dist/mermaidAPI.js
#	dist/mermaidAPI.slim.js
#	dist/mermaidAPI.slim.min.js
#	package.json
2015-10-15 07:21:30 +02:00
Knut Sveidqvist
e0033965bc Merge pull request #224 from spect88/fix-end-substring
Allow `end` as a substring of vertex id
2015-10-15 07:16:59 +02:00
Knut Sveidqvist
ae73583d53 Merge pull request #223 from spect88/remove-duplicate-dependencies
Remove duplicate npm dependencies: d3 and he
2015-10-15 07:14:49 +02:00
Tomasz Szczęśniak-Szlagowski
b87764ed94 Allow end as a substring of vertex id
Jison adds \b (word boundary) to literal string patterns by default.
It does so, because it doesn't follow traditional match-longest
approach, but does match-first instead. Without including word
boundaries, it'd be hard to distinguish between a keyword and
identifier.

The pattern for `end` keyword is not a simple string literal - it
swallows trailing whitespace, so we have to add \b manually.

This partially fixes #184 - at least now `end` behaves the same as other
keywords: it can be used as a prefix and infix, but not as a suffix.

To solve this issue completely, ALPHA pattern would have to match
multiple letters, which is a much bigger change.
2015-10-15 00:31:18 +01:00
Tomasz Szczęśniak-Szlagowski
7e9e9cc98c Remove duplicate npm dependencies: d3 and he
These are already defined as dependencies (same versions), so there's
no point keeping them as devDependencies. npm complains about that.
2015-10-14 21:52:41 +01:00
knsv
658ed3d790 Modernization of build environment. Less gulp, more npm. Eslint. 2015-10-12 07:37:02 +02:00
knsv
ed65e6df3b Draft of font-awesome support as described in issue #49. 2015-10-07 18:35:30 +02:00
knsv
16906ee242 New version 2015-10-04 23:28:37 +02:00
416 changed files with 48410 additions and 197421 deletions

4
.ackrc Normal file
View File

@@ -0,0 +1,4 @@
--ignore-dir=dist
--ignore-file=match:/^yarn\.lock$/
--ignore-file=match:/^yarn-error\.log$/
--ignore-dir=coverage

11
.editorconfig Normal file
View File

@@ -0,0 +1,11 @@
root = true
[*]
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
indent_size = 4

1
.eslintignore Normal file
View File

@@ -0,0 +1 @@
**/*.spec.js

19
.eslintrc.json Normal file
View File

@@ -0,0 +1,19 @@
{
"env": {
"browser": true,
"es6": true,
"node": true
},
"parserOptions": {
"ecmaFeatures": {
"experimentalObjectRestSpread": true,
"jsx": true
},
"sourceType": "module"
},
"extends": ["prettier", "eslint:recommended"],
"plugins": ["prettier"],
"rules": {
"prettier/prettier": ["error"]
}
}

12
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,12 @@
# These are supported funding model platforms
github: [knsv]
#patreon: # Replace with a single Patreon username
#open_collective: # Replace with a single Open Collective username
#ko_fi: # Replace with a single Ko-fi username
#tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
#community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
#liberapay: # Replace with a single Liberapay username
#issuehunt: # Replace with a single IssueHunt username
#otechie: # Replace with a single Otechie username
#custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

38
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: 'Status: Triage, Type: Bug / Error'
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

View File

@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: 'Status: Triage, Type: Enhancement'
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

15
.github/ISSUE_TEMPLATE/question.md vendored Normal file
View File

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

3
.github/pr-labeler.yml vendored Normal file
View File

@@ -0,0 +1,3 @@
'Type: Bug / Error': 'bug/*'
'Type: Enhancement': 'feature/*'
'Type: Other': 'other/*'

13
.github/pull_request_template.md vendored Normal file
View File

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

25
.github/release-drafter.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name-template: '$NEXT_PATCH_VERSION'
tag-template: '$NEXT_PATCH_VERSION'
categories:
- title: '🚀 Features'
labels:
- 'Type: Enhancement'
- title: '🐛 Bug Fixes'
labels:
- 'Type: Bug / Error'
- title: '🧰 Maintenance'
label: 'Type: Other'
change-template: '- $TITLE (#$NUMBER) @$AUTHOR'
sort-by: title
sort-direction: ascending
branches:
- develop
exclude-labels:
- 'Skip changelog'
no-changes-template: 'This release contains minor changes and bugfixes.'
template: |
# Release Notes
$CHANGES
🎉 **Thanks to all contributors helping with this release!** 🎉

19
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 14
# Issues with these labels will never be considered stale
exemptLabels:
- Retained
# Label to use when marking an issue as stale
staleLabel: Inactive
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
If you are still interested in this issue and it is still relevant you can comment to revive it.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: >
This issue has been been automatically closed due to a lack of activity.
This is done to maintain a clean list of issues that the community is interested in developing.

64
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,64 @@
name: Build
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x, 12.x]
steps:
- uses: actions/checkout@v1
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install Yarn
run: npm i yarn --global
- name: Cache Node Modules
uses: actions/cache@v1
with:
path: .cache
key: ${{ runner.OS }}-build-${{ hashFiles('**/yarn.lock') }}
- name: Install Packages
run: |
yarn config set cache-folder $GITHUB_WORKSPACE/.cache/yarn
yarn install --frozen-lockfile
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
- name: Run Build
run: yarn build
- name: Upload Build as Artifact
uses: actions/upload-artifact@v1
with:
name: dist
path: dist
- name: Run Unit Tests
run: |
yarn test --coverage
#- name: Upload Test Results
# uses: coverallsapp/github-action@v1.0.1
# with:
# github-token: ${{ secrets.GITHUB_TOKEN }}
# parallel: true
# - name: Run E2E Tests
# run: yarn e2e
# env:
# PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
# CYPRESS_CACHE_FOLDER: .cache/Cypress
#- name: Post Upload Test Results
# uses: coverallsapp/github-action@master
# with:
# github-token: ${{ secrets.GITHUB_TOKEN }}
# parallel-finished: true

19
.github/workflows/checks vendored Normal file
View File

@@ -0,0 +1,19 @@
on: [push]
name: Static analysis
jobs:
test:
runs-on: ubuntu-latest
name: check tests
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: testomatio/check-tests@stable
with:
framework: cypress
tests: "./cypress/integration/**/**.spec.js"
token: ${{ secrets.GITHUB_TOKEN }}
has-tests-label: true

14
.github/workflows/issue-triage.yml vendored Normal file
View File

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

13
.github/workflows/lock-closed-issue.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
name: Lock closed issue
on:
issues:
types: [closed]
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: Dunning-Kruger/lock-issues@v1
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

13
.github/workflows/pr-labeler.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
name: Apply labels to PR
on:
pull_request:
types: [opened]
jobs:
pr-labeler:
runs-on: ubuntu-latest
steps:
- name: Label PR
uses: TimonVS/pr-labeler-action@v3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

15
.github/workflows/release-draft.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
name: Draft Release
on:
push:
branches:
- develop
jobs:
draft-release:
runs-on: ubuntu-latest
steps:
- name: Draft Release
uses: toolmantim/release-drafter@v5.2.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

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

46
.github/workflows/release-publish.yml vendored Normal file
View File

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

View File

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

27
.gitignore vendored
View File

@@ -1,7 +1,22 @@
node_modules/*
bower_components/
*.sublime-project
*.sublime-workspace
.DS_Store
.idea
coverage
node_modules/
coverage/
.idea/
dist/*.js
dist/*.map
yarn-error.log
.npmrc
token
package-lock.json
dist/classTest.html
dist/sequenceTest.html
.vscode/
cypress/platform/current.html
cypress/platform/experimental.html

3
.percy.yml Normal file
View File

@@ -0,0 +1,3 @@
version: 1
snapshot:
widths: [1280]

4
.prettierrc Normal file
View File

@@ -0,0 +1,4 @@
{
"printWidth": 100,
"singleQuote": true
}

22
.tern-project Normal file
View File

@@ -0,0 +1,22 @@
{
"ecmaVersion": 6,
"libs": [
"browser"
],
"loadEagerly": [
"path/to/your/js/**/*.js"
],
"dontLoad": [
"node_modules/**",
"path/to/your/js/**/*.js"
],
"plugins": {
"modules": {},
"es_modules": {},
"node": {},
"doc_comment": {
"fullDocs": true,
"strong": true
}
}
}

View File

@@ -1,8 +1,12 @@
language: node_js
node_js:
- "0.10"
addons:
code_climate:
repo_token: e87e6bf1c253e0555437ebd23235fdfe2749b889358e7c6d100e4ea5b4f2e091
after_script:
- cat coverage/lcov.info | codeclimate
dist: trusty
language: node_js
node_js:
- "10"
cache:
npm: false
script:
- yarn build
- yarn test --coverage
- yarn e2e
after_success:
- cat ./coverage/lcov.info | ./node_modules/.bin/coveralls

File diff suppressed because it is too large Load Diff

View File

@@ -1,68 +1,98 @@
# How to contribute
# Contributing
Great that you want to be involved in this project! Contributing is fun and contributions are GREAT! :)
So you want to help? That's great!
This page is currently a starting point and is not so rigorous to start with.
![Image of happy people jumping with excitement](https://media.giphy.com/media/BlVnrxJgTGsUw/giphy.gif)
Some important guidlines:
Here are a few things to know to get you started on the right path.
* The work will be organized using the issues list
* In the list there will be the bugs/enhancements etc we are working with in the project
* There will be milestones outlineing the roadmap ahead
* There will issues marked with help wanted
## Committing code
The issue list and the items marked with **help wanted** is a good starting point if you want to do some work.
We make all changes via pull requests. As we have many pull requests from developers new to mermaid, the current approach is to have *knsv, Knut Sveidqvist* as a main reviewer of changes and merging pull requests. More precisely like this:
## Guidelines for avoiding duplicate work
* Large changes reviewed by knsv or other developer asked to review by knsv
* Smaller low-risk changes like dependecies, documentation etc can be merged by active collaborators
* documentation (updates to the docs folder is also allowed via direct commits)
Contributing is great. It is not so fun when you are done with your issue and just before you're about to push your
change you can't because someone else just pushed the same fix so you have wasted your time. The guidelines below are in
place to prevent this:
To commit code, create a branch, let it start with the type like feature or bug followed by the issue number for reference and some describing text.
* Comment in the issue that you are working on it. You will then be added as an assignee (eventually).
* When you pick an issue to work on.
* Check that the issue not assigned
* Also check the comments so that no one has started working on it before beeing officially assigned.
One example:
`feature/945_state_diagrams`
## Submitting changes
Please send a GitHub Pull Request with a clear list of what you've done (read more about pull requests). When you send
a pull request, we will love you forever if you include jasmine tests. We can always use more test coverage.
Another:
Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should look like this:
`bug/123_nasty_bug_branch`
$ git commit -m "A brief summary of the commit
>
> A paragraph describing what changed and its impact."
Coding conventions
Start reading our code and you'll get the hang of it. We optimize for readability:
## Committing documentation
This is open source software. Consider the people who will read your code, and make it look nice for them. It's sort of
like driving a car: Perhaps you love doing donuts when you're alone, but with passengers the goal is to make the ride as
smooth as possible.
Less strict here, it is ok to commit directly in the develop branch if you are a collaborator.
So that we can consistently serve images from the CDN, always use image_path or image_tag when referring to images.
Never prepend "/images/" when using image_path or image_tag.
Also for the CDN, always use cwd-relative paths rather than root-relative paths in image URLs in any CSS. So instead of
url('/images/blah.gif'), use url('../images/blah.gif').
## Branching
# Build instructions
Fork, then:
Going forward we will use a git flow inspired approach to branching. So development is done in develop, to do the development in the develop.
Once development is done we branch a release branch from develop for testing.
Once the release happens we merge the release branch to master and kill the release branch.
This means... **branch off your pull request from develop**
## Content of a pull request
A new feature has been born. Great! But without the steps below it might just ... fade away ...
### **Add unit tests for the parsing part**
This is important so that, if someone else does a change to the grammar that does not know about this great feature, gets notified early on when that change breaks the parser. Another important aspect is that without proper parsing tests refactoring is pretty much impossible.
### **Add e2e tests**
This tests the rendering and visual apearance of the diagram. This ensures that the rendering of that feature in the e2e will be reviewed in the release process going forward. Less chance that it breaks!
To start working with the e2e tests, run `yarn dev` to start the dev server, after that start cypress by running `cypress open` in the mermaid folder. (Make sure you have path to cypress in order, the binary is located in node_modules/.bin).
The rendering tests are very straightforward to create. There is a function imgSnapshotTest. This function takes a diagram in text form, the mermaid options and renders that diagram in cypress.
When running in ci it will take a snapshot of the rendered diagram and compare it with the snapshot from last build and flag for review it if it differs.
This is what a rendering test looks like:
```
npm install
```
it('should render forks and joins', () => {
imgSnapshotTest(
`
stateDiagram
state fork_state &lt;&lt;fork&gt;&gt;
[*] --> fork_state
fork_state --> State2
fork_state --> State3
Then the dependencies will have been installed. You use gulp as build tool.
state join_state &lt;&lt;join&gt;&gt;
State2 --> join_state
State3 --> join_state
join_state --> State4
State4 --> [*]
`,
{ logLevel: 0 }
);
cy.get('svg');
});
```
The following targets are probably interesting:
* jison - compiles the jison grammars to parser files
* jasmine - runs the jasmine tests (will trigger the jison target)
* dist - complies files to the dist catalog
### **Add documentation for it**
for instance:
```
gulp jasmine
```
Thanks, Knut Sveidqvist
Finally, if it is not in the documentation, no one will know about it and then **no one will use it**. Wouldn't that be sad? With all the effort that was put into the feature?
The docs are located in the docs folder and are ofc written in markdown. Just pick the right section and start typing. If you want to add to the structure as in adding a new section and new file you do that via the _navbar.md.
The changes in master is reflected in http://mermaid-js.github.io/mermaid/ once released the updates are commited to https://mermaid-js.github.io/#/
## Last words
Don't get daunted if it is hard in the beginning. We have a great community with only encouraging words. So if you get stuck, ask for help and hints in the slack forum. If you want to show off something good, show it off there.
[Join our slack community if you want closer contact!](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE)
![Image of superhero wishing you good luck](https://media.giphy.com/media/l49JHz7kJvl6MCj3G/giphy.gif)

View File

@@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2014 Knut Sveidqvist
Copyright (c) 2014 - 2018 Knut Sveidqvist
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

278
README.md
View File

@@ -1,69 +1,237 @@
<!-- <Remove this in the future> -->
| :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.|
<!-- </Remove this in the future> -->
mermaid [![Build Status](https://travis-ci.org/knsv/mermaid.svg?branch=master)](https://travis-ci.org/knsv/mermaid) [![Code Climate](https://codeclimate.com/github/knsv/mermaid/badges/gpa.svg)](https://codeclimate.com/github/knsv/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)
Generation of diagrams and flowcharts from text in a similar manner as markdown.
<!-- <Main description> -->
__mermaid is a Javascript based diagramming and charting tool. It generates diagrams flowcharts and more, using markdown-inspired text for ease and speed.__
Ever wanted to simplify documentation and avoid heavy tools like Visio when explaining your code?
Check out the list of [Integrations and Usages of Mermaid](https://github.com/mermaid-js/mermaid/blob/develop/docs/integrations.md)
This is why mermaid was born, a simple markdown-like script language for generating charts from text via javascript.
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/).
<!-- </Main description> -->
The code below would render the following image
: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 diagram
This version comes with a new diagram type, user journey diagrams.
## 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](./docs/img/new-diagrams.png)
## Special note regarding version 8.2
In version 8.2 a security improvement was introduced. A securityLevel configuration was introduced which sets the level of trust to be used on the parsed diagrams.
- **true**: (default) tags in text are encoded, click functionality is disabled
- false: tags in text are allowed, click functionality is enabled
Closed issues:
⚠️ **Note** : This changes the default behaviour of mermaid so that after upgrade to 8.2, if the securityLevel is not configured, tags in flowcharts are encoded as tags and clicking is prohibited.
If your application is taking resposibility for the diagram source security you can set the securityLevel accordingly. By doing this clicks and tags are again allowed.
```javascript
mermaidAPI.initialize({
securityLevel: 'loose'
});
```
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).
<!-- </Main description> -->
__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).__
<table>
<tr><th>Code</th><th>Rendered diagram</th></tr>
<tr><td>
<pre>
<code>
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
<code>
</pre>
</td>
<td>
<img src='http://www.sveido.com/mermaid/img/ex1.png' alt='Example 1'>
</td>
</tr>
<!-- <Flowchart> -->
<tr><td colspan=2 align="center">
<b>Flow</b></br>
[<a href="http://mermaid-js.github.io/mermaid/#/flowchart">docs</a> - <a href="https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ3JhcGggVERcbiAgICBBW0hhcmRdIC0tPnxUZXh0fCBCKFJvdW5kKVxuICAgIEIgLS0-IEN7RGVjaXNpb259XG4gICAgQyAtLT58T25lfCBEW1Jlc3VsdCAxXVxuICAgIEMgLS0-fFR3b3wgRVtSZXN1bHQgMl0iLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9fQ">live editor</a>]
</td></tr>
<tr>
<td>
<pre>
<code>
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 &lt;br/>prevail...
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
</code>
</pre>
</td>
<td>
<img src='http://www.sveido.com/mermaid/img/seq1.png' alt='Example 2'>
</td>
<td><pre>
graph TD
A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
</pre></td>
<td align="center">
<img src="https://raw.githubusercontent.com/mermaid-js/mermaid/master/img/gray-flow.png" />
</td>
</tr>
<!-- </Flowchart> -->
<!-- <Sequence> -->
<tr><td colspan=2 align="center">
<b>Sequence</b><br />
[<a href="http://mermaid-js.github.io/mermaid/#/sequenceDiagram">docs</a> - <a href="https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoic2VxdWVuY2VEaWFncmFtXG5BbGljZS0-PkpvaG46IEhlbGxvIEpvaG4sIGhvdyBhcmUgeW91P1xubG9vcCBIZWFsdGhjaGVja1xuICAgIEpvaG4tPj5Kb2huOiBGaWdodCBhZ2FpbnN0IGh5cG9jaG9uZHJpYVxuZW5kXG5Ob3RlIHJpZ2h0IG9mIEpvaG46IFJhdGlvbmFsIHRob3VnaHRzIVxuSm9obi0tPj5BbGljZTogR3JlYXQhXG5Kb2huLT4-Qm9iOiBIb3cgYWJvdXQgeW91P1xuQm9iLS0-PkpvaG46IEpvbGx5IGdvb2QhIiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifX0">live editor</a>]
</td></tr>
<tr>
<td><pre>
sequenceDiagram
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
</pre></td>
<td align="center">
<img src="https://raw.githubusercontent.com/mermaid-js/mermaid/master/img/gray-sequence.png" />
</td>
</tr>
<!-- </Sequence> -->
<!-- <Gantt> -->
<tr><td colspan=2 align="center">
<b>Gantt</b><br />
[<a href="http://mermaid-js.github.io/mermaid/#/gantt">docs</a> - <a href="https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ2FudHRcbnNlY3Rpb24gU2VjdGlvblxuQ29tcGxldGVkIDpkb25lLCAgICBkZXMxLCAyMDE0LTAxLTA2LDIwMTQtMDEtMDhcbkFjdGl2ZSAgICAgICAgOmFjdGl2ZSwgIGRlczIsIDIwMTQtMDEtMDcsIDNkXG5QYXJhbGxlbCAxICAgOiAgICAgICAgIGRlczMsIGFmdGVyIGRlczEsIDFkXG5QYXJhbGxlbCAyICAgOiAgICAgICAgIGRlczQsIGFmdGVyIGRlczEsIDFkXG5QYXJhbGxlbCAzICAgOiAgICAgICAgIGRlczUsIGFmdGVyIGRlczMsIDFkXG5QYXJhbGxlbCA0ICAgOiAgICAgICAgIGRlczYsIGFmdGVyIGRlczQsIDFkIiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifX0">live editor</a>]
</td></tr>
<tr>
<td><pre>
gantt
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
</pre></td>
<td align="center">
<img src="https://raw.githubusercontent.com/mermaid-js/mermaid/master/img/gray-gantt.png" />
</td>
</tr>
<!-- </Gantt> -->
<!-- <Class> -->
<tr><td colspan=2 align="center">
<b>Class</b><br />
[<a href="http://mermaid-js.github.io/mermaid/#/classDiagram">docs</a> - <a href="https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiY2xhc3NEaWFncmFtXG5DbGFzczAxIDx8LS0gQXZlcnlMb25nQ2xhc3MgOiBDb29sXG48PGludGVyZmFjZT4-IENsYXNzMDFcbkNsYXNzMDkgLS0-IEMyIDogV2hlcmUgYW0gaT9cbkNsYXNzMDkgLS0qIEMzXG5DbGFzczA5IC0tfD4gQ2xhc3MwN1xuQ2xhc3MwNyA6IGVxdWFscygpXG5DbGFzczA3IDogT2JqZWN0W10gZWxlbWVudERhdGFcbkNsYXNzMDEgOiBzaXplKClcbkNsYXNzMDEgOiBpbnQgY2hpbXBcbkNsYXNzMDEgOiBpbnQgZ29yaWxsYVxuY2xhc3MgQ2xhc3MxMCB7XG4gID4-c2VydmljZT4-XG4gIGludCBpZFxuICBzaXplKClcbn0iLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9fQ">live editor</a>]
</td></tr>
<tr>
<td><pre>
classDiagram
Class01 &lt;|-- AveryLongClass : Cool
&lt;&lt;interface>> Class01
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
class Class10 {
&lt;&lt;service>>
int id
size()
}
</pre></td>
<td align="center">
<img src="https://raw.githubusercontent.com/mermaid-js/mermaid/master/img/gray-class.png" />
</td>
</tr>
<!-- </Class> -->
<!-- <State> -->
<tr><td colspan=2 align="center">
<b>State</b><br />
[<a href="http://mermaid-js.github.io/mermaid/#/stateDiagram">docs</a> - <a href="https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoic3RhdGVEaWFncmFtXG4gICAgWypdIC0tPiBTdGlsbFxuICAgIFN0aWxsIC0tPiBbKl1cbiAgICBTdGlsbCAtLT4gTW92aW5nXG4gICAgTW92aW5nIC0tPiBTdGlsbFxuICAgIE1vdmluZyAtLT4gQ3Jhc2hcbiAgICBDcmFzaCAtLT4gWypdIiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifX0">live editor</a>]
</td></tr>
<tr>
<td><pre>
stateDiagram
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
</pre></td>
<td align="center">
<img src="https://raw.githubusercontent.com/mermaid-js/mermaid/master/img/gray-state.png" />
</td>
</tr>
<!-- </State> -->
<!-- <Pie> -->
<tr><td colspan=2 align="center">
<b>Pie</b><br />
[<a href="http://mermaid-js.github.io/mermaid/#/pie">docs</a> - <a href="https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoicGllXG5cIkRvZ3NcIiA6IDQyLjk2XG5cIkNhdHNcIiA6IDUwLjA1XG5cIlJhdHNcIiA6IDEwLjAxIiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifX0">live editor</a>]
</td></tr>
<tr>
<td><pre>
pie
"Dogs" : 386
"Cats" : 85
"Rats" : 15
</pre></td>
<td align="center">
<img src="https://raw.githubusercontent.com/mermaid-js/mermaid/master/img/gray-pie.png" />
</td>
</tr>
<!-- </Pie> -->
<!-- <Git> -->
<tr><td colspan=2 align="center">
<b>Git</b><br />
[experimental - <a href="https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZ2l0R3JhcGg6XG5vcHRpb25zXG57XG4gICAgXCJub2RlU3BhY2luZ1wiOiAxNTAsXG4gICAgXCJub2RlUmFkaXVzXCI6IDEwXG59XG5lbmRcbmNvbW1pdFxuYnJhbmNoIG5ld2JyYW5jaFxuY2hlY2tvdXQgbmV3YnJhbmNoXG5jb21taXRcbmNvbW1pdFxuY2hlY2tvdXQgbWFzdGVyXG5jb21taXRcbmNvbW1pdFxubWVyZ2UgbmV3YnJhbmNoXG4iLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9fQ">live editor</a>]
</td></tr>
<tr>
<td colspan="2" align="center"><i>Coming soon!</i></td>
</tr>
<!-- </Git> -->
<!-- <Journey> -->
<tr><td colspan=2 align="center">
<b>User Journey</b><br />
[<a href="http://mermaid-js.github.io/mermaid/#/user-journey">docs</a> - <a href="https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoic3RhdGVEaWFncmFtXG4gICAgWypdIC0tPiBTdGlsbFxuICAgIFN0aWxsIC0tPiBbKl1cbiAgICBTdGlsbCAtLT4gTW92aW5nXG4gICAgTW92aW5nIC0tPiBTdGlsbFxuICAgIE1vdmluZyAtLT4gQ3Jhc2hcbiAgICBDcmFzaCAtLT4gWypdIiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifX0">live editor</a>]
</td></tr>
<tr>
<td>
<pre>
journey
title My working day
section Go to work
Make tea: 5: Me
Go upstairs: 3: Me
Do work: 1: Me, Cat
section Go home
Go downstairs: 5: Me
Sit down: 3: Me
</pre></td>
<td align="center">
<img alt="User Journey Diagram" src="img/gray-user-journey.png" />
</td>
</tr>
<!-- </Journey> -->
</table>
## Further reading
## Related projects
* [Usage](http://knsv.github.io/mermaid/usage.html)
* [Flowchart syntax](http://knsv.github.io/mermaid/flowchart.html)
* [Sequence diagram syntax](http://knsv.github.io/mermaid/sequenceDiagram.html)
* [Mermaid client](http://knsv.github.io/mermaid/mermaidCLI.html)
* [Demos](http://knsv.github.io/mermaid/demos.html)
- [Command Line Interface](https://github.com/mermaid-js/mermaid.cli)
- [Live Editor](https://github.com/mermaid-js/mermaid-live-editor)
- [HTTP Server](https://github.com/TomWright/mermaid-server)
# Credits
Many thanks to the [d3](http://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing
the graphical layout and drawing libraries! Thanks also to the
[js-sequence-diagram](http://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the
sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering.
# Contributors [![Help wanted](https://img.shields.io/github/labels/mermaid-js/mermaid/Help%20wanted!)](https://github.com/mermaid-js/mermaid/issues?q=is%3Aissue+is%3Aopen+label%3A%22Help+wanted%21%22) [![Contributors](https://img.shields.io/github/contributors/mermaid-js/mermaid)](https://github.com/mermaid-js/mermaid/graphs/contributors) [![Commits](https://img.shields.io/github/commit-activity/m/mermaid-js/mermaid)](https://github.com/mermaid-js/mermaid/graphs/contributors)
Mermaid is a growing community and is always accepting new contributors. There's a lot of different ways to help out and we're always looking for extra hands! Look at [this issue](https://github.com/mermaid-js/mermaid/issues/866) if you want to know where to start helping out.
Detailed information about how to contribute can be found in the [contribution guide](CONTRIBUTING.md)
# Appreciation
A quick note from Knut Sveidqvist:
>*Many thanks to the [d3](http://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing the graphical layout and drawing libraries!*
>*Thanks also to the [js-sequence-diagram](http://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering.*
>*Thank you to [Tyler Long](https://github.com/tylerlong) who has been a collaborator since April 2017.*
>
>*Thank you to the ever-growing list of [contributors](https://github.com/knsv/mermaid/graphs/contributors) that brought the project this far!*
---
*Mermaid was created by Knut Sveidqvist for easier documentation.*
Knut has not done all work by him self, here is the full list of the projects [contributors](https://github.com/knsv/mermaid/graphs/contributors).

3
__mocks__/MERMAID.js Normal file
View File

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

56
__mocks__/d3.js vendored Normal file
View File

@@ -0,0 +1,56 @@
/* eslint-env jest */
let NewD3 = function () {
function returnThis () {
return this
}
return {
append: function () {
return NewD3()
},
lower: returnThis,
attr: returnThis,
style: returnThis,
text: returnThis,
0: {
0: {
getBBox: function () {
return {
height: 10,
width: 20
}
}
}
}
}
}
export const select = function () {
return new NewD3()
}
export const selectAll = function () {
return new NewD3()
}
export const curveBasis = 'basis'
export const curveLinear = 'linear'
export const curveCardinal = 'cardinal'
export const MockD3 = (name, parent) => {
const children = []
const elem = {
get __children () { return children },
get __name () { return name },
get __parent () { return parent }
}
elem.append = (name) => {
const mockElem = MockD3(name, elem)
children.push(mockElem)
return mockElem
}
elem.lower = jest.fn(() => elem)
elem.attr = jest.fn(() => elem)
elem.text = jest.fn(() => elem)
elem.style = jest.fn(() => elem)
return elem
}

10
babel.config.js Normal file
View File

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

View File

@@ -1,27 +0,0 @@
#!/usr/bin/env node
var fs = require('fs')
, chalk = require('chalk')
, error = chalk.bold.red
, cli = require('../lib/cli.js')
, lib = require('../lib')
cli.parse(process.argv.slice(2), function(err, message, options) {
if (err) {
console.error(
error('\nYou had errors in your syntax. Use --help for further information.')
)
err.forEach(function (e) {
console.error(e.message)
})
return
}
else if (message) {
console.log(message)
return
}
lib.process(options.files, options)
})

View File

@@ -1,28 +0,0 @@
{
"name": "mermaid",
"authors": [
"knsv <knut@sveido.com>"
],
"description": "Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.",
"main": "dist/mermaid.slim.js",
"keywords": [
"diagram",
"markdown",
"flowchart",
"sequence diagram",
"gantt"
],
"license": "MIT",
"ignore": [
"*",
"!dist/",
"!dist/*",
"!LICENSE"
],
"devDependencies": {
"jasmine": "~2.0.4",
"dagre": "0.6.2",
"d3": "3.3.8",
"dagre-d3": "0.3.3"
}
}

View File

@@ -1,60 +0,0 @@
// Karma configuration
// Generated on Mon Nov 03 2014 07:53:38 GMT+0100 (CET)
module.exports = function (config) {
config.set({
// base path that will be used to resolve all patterns (eg. files, exclude)
basePath: '',
// frameworks to use
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
frameworks: ['jasmine'],
// list of files / patterns to load in the browser
files: [
'../src/**/*.js'
],
// list of files to exclude
exclude: ['../src/backup/**/*.js'],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress'],
// web server port
port: 9876,
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_DEBUG,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,
// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: ['Chrome'],
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false
});
};

1
cypress.json Normal file
View File

@@ -0,0 +1 @@
{ "video": false }

View File

@@ -0,0 +1,272 @@
/// <reference types="Cypress" />
context('Actions', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/actions')
})
// https://on.cypress.io/interacting-with-elements
it('.type() - type into a DOM element', () => {
// https://on.cypress.io/type
cy.get('.action-email')
.type('fake@email.com').should('have.value', 'fake@email.com')
// .type() with special character sequences
.type('{leftarrow}{rightarrow}{uparrow}{downarrow}')
.type('{del}{selectall}{backspace}')
// .type() with key modifiers
.type('{alt}{option}') //these are equivalent
.type('{ctrl}{control}') //these are equivalent
.type('{meta}{command}{cmd}') //these are equivalent
.type('{shift}')
// Delay each keypress by 0.1 sec
.type('slow.typing@email.com', { delay: 100 })
.should('have.value', 'slow.typing@email.com')
cy.get('.action-disabled')
// Ignore error checking prior to type
// like whether the input is visible or disabled
.type('disabled error checking', { force: true })
.should('have.value', 'disabled error checking')
})
it('.focus() - focus on a DOM element', () => {
// https://on.cypress.io/focus
cy.get('.action-focus').focus()
.should('have.class', 'focus')
.prev().should('have.attr', 'style', 'color: orange;')
})
it('.blur() - blur off a DOM element', () => {
// https://on.cypress.io/blur
cy.get('.action-blur').type('About to blur').blur()
.should('have.class', 'error')
.prev().should('have.attr', 'style', 'color: red;')
})
it('.clear() - clears an input or textarea element', () => {
// https://on.cypress.io/clear
cy.get('.action-clear').type('Clear this text')
.should('have.value', 'Clear this text')
.clear()
.should('have.value', '')
})
it('.submit() - submit a form', () => {
// https://on.cypress.io/submit
cy.get('.action-form')
.find('[type="text"]').type('HALFOFF')
cy.get('.action-form').submit()
.next().should('contain', 'Your form has been submitted!')
})
it('.click() - click on a DOM element', () => {
// https://on.cypress.io/click
cy.get('.action-btn').click()
// You can click on 9 specific positions of an element:
// -----------------------------------
// | topLeft top topRight |
// | |
// | |
// | |
// | left center right |
// | |
// | |
// | |
// | bottomLeft bottom bottomRight |
// -----------------------------------
// clicking in the center of the element is the default
cy.get('#action-canvas').click()
cy.get('#action-canvas').click('topLeft')
cy.get('#action-canvas').click('top')
cy.get('#action-canvas').click('topRight')
cy.get('#action-canvas').click('left')
cy.get('#action-canvas').click('right')
cy.get('#action-canvas').click('bottomLeft')
cy.get('#action-canvas').click('bottom')
cy.get('#action-canvas').click('bottomRight')
// .click() accepts an x and y coordinate
// that controls where the click occurs :)
cy.get('#action-canvas')
.click(80, 75) // click 80px on x coord and 75px on y coord
.click(170, 75)
.click(80, 165)
.click(100, 185)
.click(125, 190)
.click(150, 185)
.click(170, 165)
// click multiple elements by passing multiple: true
cy.get('.action-labels>.label').click({ multiple: true })
// Ignore error checking prior to clicking
cy.get('.action-opacity>.btn').click({ force: true })
})
it('.dblclick() - double click on a DOM element', () => {
// https://on.cypress.io/dblclick
// Our app has a listener on 'dblclick' event in our 'scripts.js'
// that hides the div and shows an input on double click
cy.get('.action-div').dblclick().should('not.be.visible')
cy.get('.action-input-hidden').should('be.visible')
})
it('.check() - check a checkbox or radio element', () => {
// https://on.cypress.io/check
// By default, .check() will check all
// matching checkbox or radio elements in succession, one after another
cy.get('.action-checkboxes [type="checkbox"]').not('[disabled]')
.check().should('be.checked')
cy.get('.action-radios [type="radio"]').not('[disabled]')
.check().should('be.checked')
// .check() accepts a value argument
cy.get('.action-radios [type="radio"]')
.check('radio1').should('be.checked')
// .check() accepts an array of values
cy.get('.action-multiple-checkboxes [type="checkbox"]')
.check(['checkbox1', 'checkbox2']).should('be.checked')
// Ignore error checking prior to checking
cy.get('.action-checkboxes [disabled]')
.check({ force: true }).should('be.checked')
cy.get('.action-radios [type="radio"]')
.check('radio3', { force: true }).should('be.checked')
})
it('.uncheck() - uncheck a checkbox element', () => {
// https://on.cypress.io/uncheck
// By default, .uncheck() will uncheck all matching
// checkbox elements in succession, one after another
cy.get('.action-check [type="checkbox"]')
.not('[disabled]')
.uncheck().should('not.be.checked')
// .uncheck() accepts a value argument
cy.get('.action-check [type="checkbox"]')
.check('checkbox1')
.uncheck('checkbox1').should('not.be.checked')
// .uncheck() accepts an array of values
cy.get('.action-check [type="checkbox"]')
.check(['checkbox1', 'checkbox3'])
.uncheck(['checkbox1', 'checkbox3']).should('not.be.checked')
// Ignore error checking prior to unchecking
cy.get('.action-check [disabled]')
.uncheck({ force: true }).should('not.be.checked')
})
it('.select() - select an option in a <select> element', () => {
// https://on.cypress.io/select
// Select option(s) with matching text content
cy.get('.action-select').select('apples')
cy.get('.action-select-multiple')
.select(['apples', 'oranges', 'bananas'])
// Select option(s) with matching value
cy.get('.action-select').select('fr-bananas')
cy.get('.action-select-multiple')
.select(['fr-apples', 'fr-oranges', 'fr-bananas'])
})
it('.scrollIntoView() - scroll an element into view', () => {
// https://on.cypress.io/scrollintoview
// normally all of these buttons are hidden,
// because they're not within
// the viewable area of their parent
// (we need to scroll to see them)
cy.get('#scroll-horizontal button')
.should('not.be.visible')
// scroll the button into view, as if the user had scrolled
cy.get('#scroll-horizontal button').scrollIntoView()
.should('be.visible')
cy.get('#scroll-vertical button')
.should('not.be.visible')
// Cypress handles the scroll direction needed
cy.get('#scroll-vertical button').scrollIntoView()
.should('be.visible')
cy.get('#scroll-both button')
.should('not.be.visible')
// Cypress knows to scroll to the right and down
cy.get('#scroll-both button').scrollIntoView()
.should('be.visible')
})
it('.trigger() - trigger an event on a DOM element', () => {
// https://on.cypress.io/trigger
// To interact with a range input (slider)
// we need to set its value & trigger the
// event to signal it changed
// Here, we invoke jQuery's val() method to set
// the value and trigger the 'change' event
cy.get('.trigger-input-range')
.invoke('val', 25)
.trigger('change')
.get('input[type=range]').siblings('p')
.should('have.text', '25')
})
it('cy.scrollTo() - scroll the window or element to a position', () => {
// https://on.cypress.io/scrollTo
// You can scroll to 9 specific positions of an element:
// -----------------------------------
// | topLeft top topRight |
// | |
// | |
// | |
// | left center right |
// | |
// | |
// | |
// | bottomLeft bottom bottomRight |
// -----------------------------------
// if you chain .scrollTo() off of cy, we will
// scroll the entire window
cy.scrollTo('bottom')
cy.get('#scrollable-horizontal').scrollTo('right')
// or you can scroll to a specific coordinate:
// (x axis, y axis) in pixels
cy.get('#scrollable-vertical').scrollTo(250, 250)
// or you can scroll to a specific percentage
// of the (width, height) of the element
cy.get('#scrollable-both').scrollTo('75%', '25%')
// control the easing of the scroll (default is 'swing')
cy.get('#scrollable-vertical').scrollTo('center', { easing: 'linear' })
// control the duration of the scroll (in ms)
cy.get('#scrollable-both').scrollTo('center', { duration: 2000 })
})
})

View File

@@ -0,0 +1,42 @@
/// <reference types="Cypress" />
context('Aliasing', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/aliasing')
})
it('.as() - alias a DOM element for later use', () => {
// https://on.cypress.io/as
// Alias a DOM element for use later
// We don't have to traverse to the element
// later in our code, we reference it with @
cy.get('.as-table').find('tbody>tr')
.first().find('td').first()
.find('button').as('firstBtn')
// when we reference the alias, we place an
// @ in front of its name
cy.get('@firstBtn').click()
cy.get('@firstBtn')
.should('have.class', 'btn-success')
.and('contain', 'Changed')
})
it('.as() - alias a route for later use', () => {
// Alias the route to wait for its response
cy.server()
cy.route('GET', 'comments/*').as('getComment')
// we have code that gets a comment when
// the button is clicked in scripts.js
cy.get('.network-btn').click()
// https://on.cypress.io/wait
cy.wait('@getComment').its('status').should('eq', 200)
})
})

View File

@@ -0,0 +1,168 @@
/// <reference types="Cypress" />
context('Assertions', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/assertions')
})
describe('Implicit Assertions', () => {
it('.should() - make an assertion about the current subject', () => {
// https://on.cypress.io/should
cy.get('.assertion-table')
.find('tbody tr:last')
.should('have.class', 'success')
.find('td')
.first()
// checking the text of the <td> element in various ways
.should('have.text', 'Column content')
.should('contain', 'Column content')
.should('have.html', 'Column content')
// chai-jquery uses "is()" to check if element matches selector
.should('match', 'td')
// to match text content against a regular expression
// first need to invoke jQuery method text()
// and then match using regular expression
.invoke('text')
.should('match', /column content/i)
// a better way to check element's text content against a regular expression
// is to use "cy.contains"
// https://on.cypress.io/contains
cy.get('.assertion-table')
.find('tbody tr:last')
// finds first <td> element with text content matching regular expression
.contains('td', /column content/i)
.should('be.visible')
// for more information about asserting element's text
// see https://on.cypress.io/using-cypress-faq#How-do-I-get-an-elements-text-contents
})
it('.and() - chain multiple assertions together', () => {
// https://on.cypress.io/and
cy.get('.assertions-link')
.should('have.class', 'active')
.and('have.attr', 'href')
.and('include', 'cypress.io')
})
})
describe('Explicit Assertions', () => {
// https://on.cypress.io/assertions
it('expect - make an assertion about a specified subject', () => {
// We can use Chai's BDD style assertions
expect(true).to.be.true
const o = { foo: 'bar' }
expect(o).to.equal(o)
expect(o).to.deep.equal({ foo: 'bar' })
// matching text using regular expression
expect('FooBar').to.match(/bar$/i)
})
it('pass your own callback function to should()', () => {
// Pass a function to should that can have any number
// of explicit assertions within it.
// The ".should(cb)" function will be retried
// automatically until it passes all your explicit assertions or times out.
cy.get('.assertions-p')
.find('p')
.should(($p) => {
// https://on.cypress.io/$
// return an array of texts from all of the p's
// @ts-ignore TS6133 unused variable
const texts = $p.map((i, el) => Cypress.$(el).text())
// jquery map returns jquery object
// and .get() convert this to simple array
const paragraphs = texts.get()
// array should have length of 3
expect(paragraphs, 'has 3 paragraphs').to.have.length(3)
// use second argument to expect(...) to provide clear
// message with each assertion
expect(paragraphs, 'has expected text in each paragraph').to.deep.eq([
'Some text from first p',
'More text from second p',
'And even more text from third p',
])
})
})
it('finds element by class name regex', () => {
cy.get('.docs-header')
.find('div')
// .should(cb) callback function will be retried
.should(($div) => {
expect($div).to.have.length(1)
const className = $div[0].className
expect(className).to.match(/heading-/)
})
// .then(cb) callback is not retried,
// it either passes or fails
.then(($div) => {
expect($div, 'text content').to.have.text('Introduction')
})
})
it('can throw any error', () => {
cy.get('.docs-header')
.find('div')
.should(($div) => {
if ($div.length !== 1) {
// you can throw your own errors
throw new Error('Did not find 1 element')
}
const className = $div[0].className
if (!className.match(/heading-/)) {
throw new Error(`Could not find class "heading-" in ${className}`)
}
})
})
it('matches unknown text between two elements', () => {
/**
* Text from the first element.
* @type {string}
*/
let text
/**
* Normalizes passed text,
* useful before comparing text with spaces and different capitalization.
* @param {string} s Text to normalize
*/
const normalizeText = (s) => s.replace(/\s/g, '').toLowerCase()
cy.get('.two-elements')
.find('.first')
.then(($first) => {
// save text from the first element
text = normalizeText($first.text())
})
cy.get('.two-elements')
.find('.second')
.should(($div) => {
// we can massage text before comparing
const secondText = normalizeText($div.text())
expect(secondText, 'second text').to.equal(text)
})
})
it('assert - assert shape of an object', () => {
const person = {
name: 'Joe',
age: 20,
}
assert.isObject(person, 'value is object')
})
})
})

View File

@@ -0,0 +1,56 @@
/// <reference types="Cypress" />
context('Connectors', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/connectors')
})
it('.each() - iterate over an array of elements', () => {
// https://on.cypress.io/each
cy.get('.connectors-each-ul>li')
.each(($el, index, $list) => {
console.log($el, index, $list)
})
})
it('.its() - get properties on the current subject', () => {
// https://on.cypress.io/its
cy.get('.connectors-its-ul>li')
// calls the 'length' property yielding that value
.its('length')
.should('be.gt', 2)
})
it('.invoke() - invoke a function on the current subject', () => {
// our div is hidden in our script.js
// $('.connectors-div').hide()
// https://on.cypress.io/invoke
cy.get('.connectors-div').should('be.hidden')
// call the jquery method 'show' on the 'div.container'
.invoke('show')
.should('be.visible')
})
it('.spread() - spread an array as individual args to callback function', () => {
// https://on.cypress.io/spread
const arr = ['foo', 'bar', 'baz']
cy.wrap(arr).spread((foo, bar, baz) => {
expect(foo).to.eq('foo')
expect(bar).to.eq('bar')
expect(baz).to.eq('baz')
})
})
it('.then() - invoke a callback function with the current subject', () => {
// https://on.cypress.io/then
cy.get('.connectors-list > li')
.then(($lis) => {
expect($lis, '3 items').to.have.length(3)
expect($lis.eq(0), 'first item').to.contain('Walk the dog')
expect($lis.eq(1), 'second item').to.contain('Feed the cat')
expect($lis.eq(2), 'third item').to.contain('Write JavaScript')
})
})
})

View File

@@ -0,0 +1,78 @@
/// <reference types="Cypress" />
context('Cookies', () => {
beforeEach(() => {
Cypress.Cookies.debug(true)
cy.visit('https://example.cypress.io/commands/cookies')
// clear cookies again after visiting to remove
// any 3rd party cookies picked up such as cloudflare
cy.clearCookies()
})
it('cy.getCookie() - get a browser cookie', () => {
// https://on.cypress.io/getcookie
cy.get('#getCookie .set-a-cookie').click()
// cy.getCookie() yields a cookie object
cy.getCookie('token').should('have.property', 'value', '123ABC')
})
it('cy.getCookies() - get browser cookies', () => {
// https://on.cypress.io/getcookies
cy.getCookies().should('be.empty')
cy.get('#getCookies .set-a-cookie').click()
// cy.getCookies() yields an array of cookies
cy.getCookies().should('have.length', 1).should((cookies) => {
// each cookie has these properties
expect(cookies[0]).to.have.property('name', 'token')
expect(cookies[0]).to.have.property('value', '123ABC')
expect(cookies[0]).to.have.property('httpOnly', false)
expect(cookies[0]).to.have.property('secure', false)
expect(cookies[0]).to.have.property('domain')
expect(cookies[0]).to.have.property('path')
})
})
it('cy.setCookie() - set a browser cookie', () => {
// https://on.cypress.io/setcookie
cy.getCookies().should('be.empty')
cy.setCookie('foo', 'bar')
// cy.getCookie() yields a cookie object
cy.getCookie('foo').should('have.property', 'value', 'bar')
})
it('cy.clearCookie() - clear a browser cookie', () => {
// https://on.cypress.io/clearcookie
cy.getCookie('token').should('be.null')
cy.get('#clearCookie .set-a-cookie').click()
cy.getCookie('token').should('have.property', 'value', '123ABC')
// cy.clearCookies() yields null
cy.clearCookie('token').should('be.null')
cy.getCookie('token').should('be.null')
})
it('cy.clearCookies() - clear browser cookies', () => {
// https://on.cypress.io/clearcookies
cy.getCookies().should('be.empty')
cy.get('#clearCookies .set-a-cookie').click()
cy.getCookies().should('have.length', 1)
// cy.clearCookies() yields null
cy.clearCookies()
cy.getCookies().should('be.empty')
})
})

View File

@@ -0,0 +1,222 @@
/// <reference types="Cypress" />
context('Cypress.Commands', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/cypress-api')
})
// https://on.cypress.io/custom-commands
it('.add() - create a custom command', () => {
Cypress.Commands.add('console', {
prevSubject: true,
}, (subject, method) => {
// the previous subject is automatically received
// and the commands arguments are shifted
// allow us to change the console method used
method = method || 'log'
// log the subject to the console
// @ts-ignore TS7017
console[method]('The subject is', subject)
// whatever we return becomes the new subject
// we don't want to change the subject so
// we return whatever was passed in
return subject
})
// @ts-ignore TS2339
cy.get('button').console('info').then(($button) => {
// subject is still $button
})
})
})
context('Cypress.Cookies', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/cypress-api')
})
// https://on.cypress.io/cookies
it('.debug() - enable or disable debugging', () => {
Cypress.Cookies.debug(true)
// Cypress will now log in the console when
// cookies are set or cleared
cy.setCookie('fakeCookie', '123ABC')
cy.clearCookie('fakeCookie')
cy.setCookie('fakeCookie', '123ABC')
cy.clearCookie('fakeCookie')
cy.setCookie('fakeCookie', '123ABC')
})
it('.preserveOnce() - preserve cookies by key', () => {
// normally cookies are reset after each test
cy.getCookie('fakeCookie').should('not.be.ok')
// preserving a cookie will not clear it when
// the next test starts
cy.setCookie('lastCookie', '789XYZ')
Cypress.Cookies.preserveOnce('lastCookie')
})
it('.defaults() - set defaults for all cookies', () => {
// now any cookie with the name 'session_id' will
// not be cleared before each new test runs
Cypress.Cookies.defaults({
whitelist: 'session_id',
})
})
})
context('Cypress.Server', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/cypress-api')
})
// Permanently override server options for
// all instances of cy.server()
// https://on.cypress.io/cypress-server
it('.defaults() - change default config of server', () => {
Cypress.Server.defaults({
delay: 0,
force404: false,
})
})
})
context('Cypress.arch', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/cypress-api')
})
it('Get CPU architecture name of underlying OS', () => {
// https://on.cypress.io/arch
expect(Cypress.arch).to.exist
})
})
context('Cypress.config()', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/cypress-api')
})
it('Get and set configuration options', () => {
// https://on.cypress.io/config
let myConfig = Cypress.config()
expect(myConfig).to.have.property('animationDistanceThreshold', 5)
expect(myConfig).to.have.property('baseUrl', null)
expect(myConfig).to.have.property('defaultCommandTimeout', 4000)
expect(myConfig).to.have.property('requestTimeout', 5000)
expect(myConfig).to.have.property('responseTimeout', 30000)
expect(myConfig).to.have.property('viewportHeight', 660)
expect(myConfig).to.have.property('viewportWidth', 1000)
expect(myConfig).to.have.property('pageLoadTimeout', 60000)
expect(myConfig).to.have.property('waitForAnimations', true)
expect(Cypress.config('pageLoadTimeout')).to.eq(60000)
// this will change the config for the rest of your tests!
Cypress.config('pageLoadTimeout', 20000)
expect(Cypress.config('pageLoadTimeout')).to.eq(20000)
Cypress.config('pageLoadTimeout', 60000)
})
})
context('Cypress.dom', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/cypress-api')
})
// https://on.cypress.io/dom
it('.isHidden() - determine if a DOM element is hidden', () => {
let hiddenP = Cypress.$('.dom-p p.hidden').get(0)
let visibleP = Cypress.$('.dom-p p.visible').get(0)
// our first paragraph has css class 'hidden'
expect(Cypress.dom.isHidden(hiddenP)).to.be.true
expect(Cypress.dom.isHidden(visibleP)).to.be.false
})
})
context('Cypress.env()', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/cypress-api')
})
// We can set environment variables for highly dynamic values
// https://on.cypress.io/environment-variables
it('Get environment variables', () => {
// https://on.cypress.io/env
// set multiple environment variables
Cypress.env({
host: 'veronica.dev.local',
api_server: 'http://localhost:8888/v1/',
})
// get environment variable
expect(Cypress.env('host')).to.eq('veronica.dev.local')
// set environment variable
Cypress.env('api_server', 'http://localhost:8888/v2/')
expect(Cypress.env('api_server')).to.eq('http://localhost:8888/v2/')
// get all environment variable
expect(Cypress.env()).to.have.property('host', 'veronica.dev.local')
expect(Cypress.env()).to.have.property('api_server', 'http://localhost:8888/v2/')
})
})
context('Cypress.log', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/cypress-api')
})
it('Control what is printed to the Command Log', () => {
// https://on.cypress.io/cypress-log
})
})
context('Cypress.platform', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/cypress-api')
})
it('Get underlying OS name', () => {
// https://on.cypress.io/platform
expect(Cypress.platform).to.be.exist
})
})
context('Cypress.version', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/cypress-api')
})
it('Get current version of Cypress being run', () => {
// https://on.cypress.io/version
expect(Cypress.version).to.be.exist
})
})
context('Cypress.spec', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/cypress-api')
})
it('Get current spec information', () => {
// https://on.cypress.io/spec
// wrap the object so we can inspect it easily by clicking in the command log
cy.wrap(Cypress.spec).should('have.keys', ['name', 'relative', 'absolute'])
})
})

View File

@@ -0,0 +1,114 @@
/// <reference types="Cypress" />
/// JSON fixture file can be loaded directly using
// the built-in JavaScript bundler
// @ts-ignore
const requiredExample = require('../../fixtures/example')
context('Files', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/files')
})
beforeEach(() => {
// load example.json fixture file and store
// in the test context object
cy.fixture('example.json').as('example')
})
it('cy.fixture() - load a fixture', () => {
// https://on.cypress.io/fixture
// Instead of writing a response inline you can
// use a fixture file's content.
cy.server()
cy.fixture('example.json').as('comment')
// when application makes an Ajax request matching "GET comments/*"
// Cypress will intercept it and reply with object
// from the "comment" alias
cy.route('GET', 'comments/*', '@comment').as('getComment')
// we have code that gets a comment when
// the button is clicked in scripts.js
cy.get('.fixture-btn').click()
cy.wait('@getComment').its('responseBody')
.should('have.property', 'name')
.and('include', 'Using fixtures to represent data')
// you can also just write the fixture in the route
cy.route('GET', 'comments/*', 'fixture:example.json').as('getComment')
// we have code that gets a comment when
// the button is clicked in scripts.js
cy.get('.fixture-btn').click()
cy.wait('@getComment').its('responseBody')
.should('have.property', 'name')
.and('include', 'Using fixtures to represent data')
// or write fx to represent fixture
// by default it assumes it's .json
cy.route('GET', 'comments/*', 'fx:example').as('getComment')
// we have code that gets a comment when
// the button is clicked in scripts.js
cy.get('.fixture-btn').click()
cy.wait('@getComment').its('responseBody')
.should('have.property', 'name')
.and('include', 'Using fixtures to represent data')
})
it('cy.fixture() or require - load a fixture', function () {
// we are inside the "function () { ... }"
// callback and can use test context object "this"
// "this.example" was loaded in "beforeEach" function callback
expect(this.example, 'fixture in the test context')
.to.deep.equal(requiredExample)
// or use "cy.wrap" and "should('deep.equal', ...)" assertion
// @ts-ignore
cy.wrap(this.example, 'fixture vs require')
.should('deep.equal', requiredExample)
})
it('cy.readFile() - read a files contents', () => {
// https://on.cypress.io/readfile
// You can read a file and yield its contents
// The filePath is relative to your project's root.
cy.readFile('cypress.json').then((json) => {
expect(json).to.be.an('object')
})
})
it('cy.writeFile() - write to a file', () => {
// https://on.cypress.io/writefile
// You can write to a file
// Use a response from a request to automatically
// generate a fixture file for use later
cy.request('https://jsonplaceholder.cypress.io/users')
.then((response) => {
cy.writeFile('cypress/fixtures/users.json', response.body)
})
cy.fixture('users').should((users) => {
expect(users[0].name).to.exist
})
// JavaScript arrays and objects are stringified
// and formatted into text.
cy.writeFile('cypress/fixtures/profile.json', {
id: 8739,
name: 'Jane',
email: 'jane@example.com',
})
cy.fixture('profile').should((profile) => {
expect(profile.name).to.eq('Jane')
})
})
})

View File

@@ -0,0 +1,52 @@
/// <reference types="Cypress" />
context('Local Storage', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/local-storage')
})
// Although local storage is automatically cleared
// in between tests to maintain a clean state
// sometimes we need to clear the local storage manually
it('cy.clearLocalStorage() - clear all data in local storage', () => {
// https://on.cypress.io/clearlocalstorage
cy.get('.ls-btn').click().should(() => {
expect(localStorage.getItem('prop1')).to.eq('red')
expect(localStorage.getItem('prop2')).to.eq('blue')
expect(localStorage.getItem('prop3')).to.eq('magenta')
})
// clearLocalStorage() yields the localStorage object
cy.clearLocalStorage().should((ls) => {
expect(ls.getItem('prop1')).to.be.null
expect(ls.getItem('prop2')).to.be.null
expect(ls.getItem('prop3')).to.be.null
})
// Clear key matching string in Local Storage
cy.get('.ls-btn').click().should(() => {
expect(localStorage.getItem('prop1')).to.eq('red')
expect(localStorage.getItem('prop2')).to.eq('blue')
expect(localStorage.getItem('prop3')).to.eq('magenta')
})
cy.clearLocalStorage('prop1').should((ls) => {
expect(ls.getItem('prop1')).to.be.null
expect(ls.getItem('prop2')).to.eq('blue')
expect(ls.getItem('prop3')).to.eq('magenta')
})
// Clear keys matching regex in Local Storage
cy.get('.ls-btn').click().should(() => {
expect(localStorage.getItem('prop1')).to.eq('red')
expect(localStorage.getItem('prop2')).to.eq('blue')
expect(localStorage.getItem('prop3')).to.eq('magenta')
})
cy.clearLocalStorage(/prop1|2/).should((ls) => {
expect(ls.getItem('prop1')).to.be.null
expect(ls.getItem('prop2')).to.be.null
expect(ls.getItem('prop3')).to.eq('magenta')
})
})
})

View File

@@ -0,0 +1,32 @@
/// <reference types="Cypress" />
context('Location', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/location')
})
it('cy.hash() - get the current URL hash', () => {
// https://on.cypress.io/hash
cy.hash().should('be.empty')
})
it('cy.location() - get window.location', () => {
// https://on.cypress.io/location
cy.location().should((location) => {
expect(location.hash).to.be.empty
expect(location.href).to.eq('https://example.cypress.io/commands/location')
expect(location.host).to.eq('example.cypress.io')
expect(location.hostname).to.eq('example.cypress.io')
expect(location.origin).to.eq('https://example.cypress.io')
expect(location.pathname).to.eq('/commands/location')
expect(location.port).to.eq('')
expect(location.protocol).to.eq('https:')
expect(location.search).to.be.empty
})
})
it('cy.url() - get the current URL', () => {
// https://on.cypress.io/url
cy.url().should('eq', 'https://example.cypress.io/commands/location')
})
})

View File

@@ -0,0 +1,83 @@
/// <reference types="Cypress" />
context('Misc', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/misc')
})
it('.end() - end the command chain', () => {
// https://on.cypress.io/end
// cy.end is useful when you want to end a chain of commands
// and force Cypress to re-query from the root element
cy.get('.misc-table').within(() => {
// ends the current chain and yields null
cy.contains('Cheryl').click().end()
// queries the entire table again
cy.contains('Charles').click()
})
})
it('cy.exec() - execute a system command', () => {
// https://on.cypress.io/exec
// execute a system command.
// so you can take actions necessary for
// your test outside the scope of Cypress.
cy.exec('echo Jane Lane')
.its('stdout').should('contain', 'Jane Lane')
// we can use Cypress.platform string to
// select appropriate command
// https://on.cypress/io/platform
cy.log(`Platform ${Cypress.platform} architecture ${Cypress.arch}`)
if (Cypress.platform === 'win32') {
cy.exec('print cypress.json')
.its('stderr').should('be.empty')
} else {
cy.exec('cat cypress.json')
.its('stderr').should('be.empty')
cy.exec('pwd')
.its('code').should('eq', 0)
}
})
it('cy.focused() - get the DOM element that has focus', () => {
// https://on.cypress.io/focused
cy.get('.misc-form').find('#name').click()
cy.focused().should('have.id', 'name')
cy.get('.misc-form').find('#description').click()
cy.focused().should('have.id', 'description')
})
context('Cypress.Screenshot', function () {
it('cy.screenshot() - take a screenshot', () => {
// https://on.cypress.io/screenshot
cy.screenshot('my-image')
})
it('Cypress.Screenshot.defaults() - change default config of screenshots', function () {
Cypress.Screenshot.defaults({
blackout: ['.foo'],
capture: 'viewport',
clip: { x: 0, y: 0, width: 200, height: 200 },
scale: false,
disableTimersAndAnimations: true,
screenshotOnRunFailure: true,
beforeScreenshot () { },
afterScreenshot () { },
})
})
})
it('cy.wrap() - wrap an object', () => {
// https://on.cypress.io/wrap
cy.wrap({ foo: 'bar' })
.should('have.property', 'foo')
.and('include', 'bar')
})
})

View File

@@ -0,0 +1,56 @@
/// <reference types="Cypress" />
context('Navigation', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io')
cy.get('.navbar-nav').contains('Commands').click()
cy.get('.dropdown-menu').contains('Navigation').click()
})
it('cy.go() - go back or forward in the browser\'s history', () => {
// https://on.cypress.io/go
cy.location('pathname').should('include', 'navigation')
cy.go('back')
cy.location('pathname').should('not.include', 'navigation')
cy.go('forward')
cy.location('pathname').should('include', 'navigation')
// clicking back
cy.go(-1)
cy.location('pathname').should('not.include', 'navigation')
// clicking forward
cy.go(1)
cy.location('pathname').should('include', 'navigation')
})
it('cy.reload() - reload the page', () => {
// https://on.cypress.io/reload
cy.reload()
// reload the page without using the cache
cy.reload(true)
})
it('cy.visit() - visit a remote url', () => {
// https://on.cypress.io/visit
// Visit any sub-domain of your current domain
// Pass options to the visit
cy.visit('https://example.cypress.io/commands/navigation', {
timeout: 50000, // increase total time for the visit to resolve
onBeforeLoad (contentWindow) {
// contentWindow is the remote page's window object
expect(typeof contentWindow === 'object').to.be.true
},
onLoad (contentWindow) {
// contentWindow is the remote page's window object
expect(typeof contentWindow === 'object').to.be.true
},
})
})
})

View File

@@ -0,0 +1,194 @@
/// <reference types="Cypress" />
context('Network Requests', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/network-requests')
})
// Manage AJAX / XHR requests in your app
it('cy.server() - control behavior of network requests and responses', () => {
// https://on.cypress.io/server
cy.server().should((server) => {
// the default options on server
// you can override any of these options
expect(server.delay).to.eq(0)
expect(server.method).to.eq('GET')
expect(server.status).to.eq(200)
expect(server.headers).to.be.null
expect(server.response).to.be.null
expect(server.onRequest).to.be.undefined
expect(server.onResponse).to.be.undefined
expect(server.onAbort).to.be.undefined
// These options control the server behavior
// affecting all requests
// pass false to disable existing route stubs
expect(server.enable).to.be.true
// forces requests that don't match your routes to 404
expect(server.force404).to.be.false
// whitelists requests from ever being logged or stubbed
expect(server.whitelist).to.be.a('function')
})
cy.server({
method: 'POST',
delay: 1000,
status: 422,
response: {},
})
// any route commands will now inherit the above options
// from the server. anything we pass specifically
// to route will override the defaults though.
})
it('cy.request() - make an XHR request', () => {
// https://on.cypress.io/request
cy.request('https://jsonplaceholder.cypress.io/comments')
.should((response) => {
expect(response.status).to.eq(200)
expect(response.body).to.have.length(500)
expect(response).to.have.property('headers')
expect(response).to.have.property('duration')
})
})
it('cy.request() - verify response using BDD syntax', () => {
cy.request('https://jsonplaceholder.cypress.io/comments')
.then((response) => {
// https://on.cypress.io/assertions
expect(response).property('status').to.equal(200)
expect(response).property('body').to.have.length(500)
expect(response).to.include.keys('headers', 'duration')
})
})
it('cy.request() with query parameters', () => {
// will execute request
// https://jsonplaceholder.cypress.io/comments?postId=1&id=3
cy.request({
url: 'https://jsonplaceholder.cypress.io/comments',
qs: {
postId: 1,
id: 3,
},
})
.its('body')
.should('be.an', 'array')
.and('have.length', 1)
.its('0') // yields first element of the array
.should('contain', {
postId: 1,
id: 3,
})
})
it('cy.request() - pass result to the second request', () => {
// first, let's find out the userId of the first user we have
cy.request('https://jsonplaceholder.cypress.io/users?_limit=1')
.its('body.0') // yields the first element of the returned list
.then((user) => {
expect(user).property('id').to.be.a('number')
// make a new post on behalf of the user
cy.request('POST', 'https://jsonplaceholder.cypress.io/posts', {
userId: user.id,
title: 'Cypress Test Runner',
body: 'Fast, easy and reliable testing for anything that runs in a browser.',
})
})
// note that the value here is the returned value of the 2nd request
// which is the new post object
.then((response) => {
expect(response).property('status').to.equal(201) // new entity created
expect(response).property('body').to.contain({
id: 101, // there are already 100 posts, so new entity gets id 101
title: 'Cypress Test Runner',
})
// we don't know the user id here - since it was in above closure
// so in this test just confirm that the property is there
expect(response.body).property('userId').to.be.a('number')
})
})
it('cy.request() - save response in the shared test context', () => {
// https://on.cypress.io/variables-and-aliases
cy.request('https://jsonplaceholder.cypress.io/users?_limit=1')
.its('body.0') // yields the first element of the returned list
.as('user') // saves the object in the test context
.then(function () {
// NOTE 👀
// By the time this callback runs the "as('user')" command
// has saved the user object in the test context.
// To access the test context we need to use
// the "function () { ... }" callback form,
// otherwise "this" points at a wrong or undefined object!
cy.request('POST', 'https://jsonplaceholder.cypress.io/posts', {
userId: this.user.id,
title: 'Cypress Test Runner',
body: 'Fast, easy and reliable testing for anything that runs in a browser.',
})
.its('body').as('post') // save the new post from the response
})
.then(function () {
// When this callback runs, both "cy.request" API commands have finished
// and the test context has "user" and "post" objects set.
// Let's verify them.
expect(this.post, 'post has the right user id').property('userId').to.equal(this.user.id)
})
})
it('cy.route() - route responses to matching requests', () => {
// https://on.cypress.io/route
let message = 'whoa, this comment does not exist'
cy.server()
// Listen to GET to comments/1
cy.route('GET', 'comments/*').as('getComment')
// we have code that gets a comment when
// the button is clicked in scripts.js
cy.get('.network-btn').click()
// https://on.cypress.io/wait
cy.wait('@getComment').its('status').should('eq', 200)
// Listen to POST to comments
cy.route('POST', '/comments').as('postComment')
// we have code that posts a comment when
// the button is clicked in scripts.js
cy.get('.network-post').click()
cy.wait('@postComment')
// get the route
cy.get('@postComment').should((xhr) => {
expect(xhr.requestBody).to.include('email')
expect(xhr.requestHeaders).to.have.property('Content-Type')
expect(xhr.responseBody).to.have.property('name', 'Using POST in cy.route()')
})
// Stub a response to PUT comments/ ****
cy.route({
method: 'PUT',
url: 'comments/*',
status: 404,
response: { error: message },
delay: 500,
}).as('putComment')
// we have code that puts a comment when
// the button is clicked in scripts.js
cy.get('.network-put').click()
cy.wait('@putComment')
// our 404 statusCode logic in scripts.js executed
cy.get('.network-put-comment').should('contain', message)
})
})

View File

@@ -0,0 +1,87 @@
/// <reference types="Cypress" />
context('Querying', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/querying')
})
// The most commonly used query is 'cy.get()', you can
// think of this like the '$' in jQuery
it('cy.get() - query DOM elements', () => {
// https://on.cypress.io/get
cy.get('#query-btn').should('contain', 'Button')
cy.get('.query-btn').should('contain', 'Button')
cy.get('#querying .well>button:first').should('contain', 'Button')
// ↲
// Use CSS selectors just like jQuery
cy.get('[data-test-id="test-example"]').should('have.class', 'example')
// 'cy.get()' yields jQuery object, you can get its attribute
// by invoking `.attr()` method
cy.get('[data-test-id="test-example"]')
.invoke('attr', 'data-test-id')
.should('equal', 'test-example')
// or you can get element's CSS property
cy.get('[data-test-id="test-example"]')
.invoke('css', 'position')
.should('equal', 'static')
// or use assertions directly during 'cy.get()'
// https://on.cypress.io/assertions
cy.get('[data-test-id="test-example"]')
.should('have.attr', 'data-test-id', 'test-example')
.and('have.css', 'position', 'static')
})
it('cy.contains() - query DOM elements with matching content', () => {
// https://on.cypress.io/contains
cy.get('.query-list')
.contains('bananas')
.should('have.class', 'third')
// we can pass a regexp to `.contains()`
cy.get('.query-list')
.contains(/^b\w+/)
.should('have.class', 'third')
cy.get('.query-list')
.contains('apples')
.should('have.class', 'first')
// passing a selector to contains will
// yield the selector containing the text
cy.get('#querying')
.contains('ul', 'oranges')
.should('have.class', 'query-list')
cy.get('.query-button')
.contains('Save Form')
.should('have.class', 'btn')
})
it('.within() - query DOM elements within a specific element', () => {
// https://on.cypress.io/within
cy.get('.query-form').within(() => {
cy.get('input:first').should('have.attr', 'placeholder', 'Email')
cy.get('input:last').should('have.attr', 'placeholder', 'Password')
})
})
it('cy.root() - query the root DOM element', () => {
// https://on.cypress.io/root
// By default, root is the document
cy.root().should('match', 'html')
cy.get('.query-ul').within(() => {
// In this within, the root is now the ul DOM element
cy.root().should('have.class', 'query-ul')
})
})
})

View File

@@ -0,0 +1,95 @@
/// <reference types="Cypress" />
context('Spies, Stubs, and Clock', () => {
it('cy.spy() - wrap a method in a spy', () => {
// https://on.cypress.io/spy
cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
const obj = {
foo () {},
}
const spy = cy.spy(obj, 'foo').as('anyArgs')
obj.foo()
expect(spy).to.be.called
})
it('cy.spy() retries until assertions pass', () => {
cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
const obj = {
/**
* Prints the argument passed
* @param x {any}
*/
foo (x) {
console.log('obj.foo called with', x)
},
}
cy.spy(obj, 'foo').as('foo')
setTimeout(() => {
obj.foo('first')
}, 500)
setTimeout(() => {
obj.foo('second')
}, 2500)
cy.get('@foo').should('have.been.calledTwice')
})
it('cy.stub() - create a stub and/or replace a function with stub', () => {
// https://on.cypress.io/stub
cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
const obj = {
/**
* prints both arguments to the console
* @param a {string}
* @param b {string}
*/
foo (a, b) {
console.log('a', a, 'b', b)
},
}
const stub = cy.stub(obj, 'foo').as('foo')
obj.foo('foo', 'bar')
expect(stub).to.be.called
})
it('cy.clock() - control time in the browser', () => {
// https://on.cypress.io/clock
// create the date in UTC so its always the same
// no matter what local timezone the browser is running in
const now = new Date(Date.UTC(2017, 2, 14)).getTime()
cy.clock(now)
cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
cy.get('#clock-div').click()
.should('have.text', '1489449600')
})
it('cy.tick() - move time in the browser', () => {
// https://on.cypress.io/tick
// create the date in UTC so its always the same
// no matter what local timezone the browser is running in
const now = new Date(Date.UTC(2017, 2, 14)).getTime()
cy.clock(now)
cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
cy.get('#tick-div').click()
.should('have.text', '1489449600')
cy.tick(10000) // 10 seconds passed
cy.get('#tick-div').click()
.should('have.text', '1489449610')
})
})

View File

@@ -0,0 +1,121 @@
/// <reference types="Cypress" />
context('Traversal', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/traversal')
})
it('.children() - get child DOM elements', () => {
// https://on.cypress.io/children
cy.get('.traversal-breadcrumb')
.children('.active')
.should('contain', 'Data')
})
it('.closest() - get closest ancestor DOM element', () => {
// https://on.cypress.io/closest
cy.get('.traversal-badge')
.closest('ul')
.should('have.class', 'list-group')
})
it('.eq() - get a DOM element at a specific index', () => {
// https://on.cypress.io/eq
cy.get('.traversal-list>li')
.eq(1).should('contain', 'siamese')
})
it('.filter() - get DOM elements that match the selector', () => {
// https://on.cypress.io/filter
cy.get('.traversal-nav>li')
.filter('.active').should('contain', 'About')
})
it('.find() - get descendant DOM elements of the selector', () => {
// https://on.cypress.io/find
cy.get('.traversal-pagination')
.find('li').find('a')
.should('have.length', 7)
})
it('.first() - get first DOM element', () => {
// https://on.cypress.io/first
cy.get('.traversal-table td')
.first().should('contain', '1')
})
it('.last() - get last DOM element', () => {
// https://on.cypress.io/last
cy.get('.traversal-buttons .btn')
.last().should('contain', 'Submit')
})
it('.next() - get next sibling DOM element', () => {
// https://on.cypress.io/next
cy.get('.traversal-ul')
.contains('apples').next().should('contain', 'oranges')
})
it('.nextAll() - get all next sibling DOM elements', () => {
// https://on.cypress.io/nextall
cy.get('.traversal-next-all')
.contains('oranges')
.nextAll().should('have.length', 3)
})
it('.nextUntil() - get next sibling DOM elements until next el', () => {
// https://on.cypress.io/nextuntil
cy.get('#veggies')
.nextUntil('#nuts').should('have.length', 3)
})
it('.not() - remove DOM elements from set of DOM elements', () => {
// https://on.cypress.io/not
cy.get('.traversal-disabled .btn')
.not('[disabled]').should('not.contain', 'Disabled')
})
it('.parent() - get parent DOM element from DOM elements', () => {
// https://on.cypress.io/parent
cy.get('.traversal-mark')
.parent().should('contain', 'Morbi leo risus')
})
it('.parents() - get parent DOM elements from DOM elements', () => {
// https://on.cypress.io/parents
cy.get('.traversal-cite')
.parents().should('match', 'blockquote')
})
it('.parentsUntil() - get parent DOM elements from DOM elements until el', () => {
// https://on.cypress.io/parentsuntil
cy.get('.clothes-nav')
.find('.active')
.parentsUntil('.clothes-nav')
.should('have.length', 2)
})
it('.prev() - get previous sibling DOM element', () => {
// https://on.cypress.io/prev
cy.get('.birds').find('.active')
.prev().should('contain', 'Lorikeets')
})
it('.prevAll() - get all previous sibling DOM elements', () => {
// https://on.cypress.io/prevAll
cy.get('.fruits-list').find('.third')
.prevAll().should('have.length', 2)
})
it('.prevUntil() - get all previous sibling DOM elements until el', () => {
// https://on.cypress.io/prevUntil
cy.get('.foods-list').find('#nuts')
.prevUntil('#veggies').should('have.length', 3)
})
it('.siblings() - get all sibling DOM elements', () => {
// https://on.cypress.io/siblings
cy.get('.traversal-pills .active')
.siblings().should('have.length', 2)
})
})

View File

@@ -0,0 +1,133 @@
/// <reference types="Cypress" />
context('Utilities', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/utilities')
})
it('Cypress._ - call a lodash method', () => {
// https://on.cypress.io/_
cy.request('https://jsonplaceholder.cypress.io/users')
.then((response) => {
let ids = Cypress._.chain(response.body).map('id').take(3).value()
expect(ids).to.deep.eq([1, 2, 3])
})
})
it('Cypress.$ - call a jQuery method', () => {
// https://on.cypress.io/$
let $li = Cypress.$('.utility-jquery li:first')
cy.wrap($li)
.should('not.have.class', 'active')
.click()
.should('have.class', 'active')
})
it('Cypress.Blob - blob utilities and base64 string conversion', () => {
// https://on.cypress.io/blob
cy.get('.utility-blob').then(($div) =>
// https://github.com/nolanlawson/blob-util#imgSrcToDataURL
// get the dataUrl string for the javascript-logo
Cypress.Blob.imgSrcToDataURL('https://example.cypress.io/assets/img/javascript-logo.png', undefined, 'anonymous')
.then((dataUrl) => {
// create an <img> element and set its src to the dataUrl
let img = Cypress.$('<img />', { src: dataUrl })
// need to explicitly return cy here since we are initially returning
// the Cypress.Blob.imgSrcToDataURL promise to our test
// append the image
$div.append(img)
cy.get('.utility-blob img').click()
.should('have.attr', 'src', dataUrl)
}))
})
it('Cypress.minimatch - test out glob patterns against strings', () => {
// https://on.cypress.io/minimatch
let matching = Cypress.minimatch('/users/1/comments', '/users/*/comments', {
matchBase: true,
})
expect(matching, 'matching wildcard').to.be.true
matching = Cypress.minimatch('/users/1/comments/2', '/users/*/comments', {
matchBase: true,
})
expect(matching, 'comments').to.be.false
// ** matches against all downstream path segments
matching = Cypress.minimatch('/foo/bar/baz/123/quux?a=b&c=2', '/foo/**', {
matchBase: true,
})
expect(matching, 'comments').to.be.true
// whereas * matches only the next path segment
matching = Cypress.minimatch('/foo/bar/baz/123/quux?a=b&c=2', '/foo/*', {
matchBase: false,
})
expect(matching, 'comments').to.be.false
})
it('Cypress.moment() - format or parse dates using a moment method', () => {
// https://on.cypress.io/moment
const time = Cypress.moment().utc('2014-04-25T19:38:53.196Z').format('h:mm A')
expect(time).to.be.a('string')
cy.get('.utility-moment').contains('3:38 PM')
.should('have.class', 'badge')
// the time in the element should be between 3pm and 5pm
const start = Cypress.moment('3:00 PM', 'LT')
const end = Cypress.moment('5:00 PM', 'LT')
cy.get('.utility-moment .badge')
.should(($el) => {
// parse American time like "3:38 PM"
const m = Cypress.moment($el.text().trim(), 'LT')
// display hours + minutes + AM|PM
const f = 'h:mm A'
expect(m.isBetween(start, end),
`${m.format(f)} should be between ${start.format(f)} and ${end.format(f)}`).to.be.true
})
})
it('Cypress.Promise - instantiate a bluebird promise', () => {
// https://on.cypress.io/promise
let waited = false
/**
* @return Bluebird<string>
*/
function waitOneSecond () {
// return a promise that resolves after 1 second
// @ts-ignore TS2351 (new Cypress.Promise)
return new Cypress.Promise((resolve, reject) => {
setTimeout(() => {
// set waited to true
waited = true
// resolve with 'foo' string
resolve('foo')
}, 1000)
})
}
cy.then(() =>
// return a promise to cy.then() that
// is awaited until it resolves
// @ts-ignore TS7006
waitOneSecond().then((str) => {
expect(str).to.eq('foo')
expect(waited).to.be.true
}))
})
})

View File

@@ -0,0 +1,59 @@
/// <reference types="Cypress" />
context('Viewport', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/viewport')
})
it('cy.viewport() - set the viewport size and dimension', () => {
// https://on.cypress.io/viewport
cy.get('#navbar').should('be.visible')
cy.viewport(320, 480)
// the navbar should have collapse since our screen is smaller
cy.get('#navbar').should('not.be.visible')
cy.get('.navbar-toggle').should('be.visible').click()
cy.get('.nav').find('a').should('be.visible')
// lets see what our app looks like on a super large screen
cy.viewport(2999, 2999)
// cy.viewport() accepts a set of preset sizes
// to easily set the screen to a device's width and height
// We added a cy.wait() between each viewport change so you can see
// the change otherwise it is a little too fast to see :)
cy.viewport('macbook-15')
cy.wait(200)
cy.viewport('macbook-13')
cy.wait(200)
cy.viewport('macbook-11')
cy.wait(200)
cy.viewport('ipad-2')
cy.wait(200)
cy.viewport('ipad-mini')
cy.wait(200)
cy.viewport('iphone-6+')
cy.wait(200)
cy.viewport('iphone-6')
cy.wait(200)
cy.viewport('iphone-5')
cy.wait(200)
cy.viewport('iphone-4')
cy.wait(200)
cy.viewport('iphone-3')
cy.wait(200)
// cy.viewport() accepts an orientation for all presets
// the default orientation is 'portrait'
cy.viewport('ipad-2', 'portrait')
cy.wait(200)
cy.viewport('iphone-4', 'landscape')
cy.wait(200)
// The viewport will be reset back to the default dimensions
// in between tests (the default can be set in cypress.json)
})
})

View File

@@ -0,0 +1,34 @@
/// <reference types="Cypress" />
context('Waiting', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/waiting')
})
// BE CAREFUL of adding unnecessary wait times.
// https://on.cypress.io/best-practices#Unnecessary-Waiting
// https://on.cypress.io/wait
it('cy.wait() - wait for a specific amount of time', () => {
cy.get('.wait-input1').type('Wait 1000ms after typing')
cy.wait(1000)
cy.get('.wait-input2').type('Wait 1000ms after typing')
cy.wait(1000)
cy.get('.wait-input3').type('Wait 1000ms after typing')
cy.wait(1000)
})
it('cy.wait() - wait for a specific route', () => {
cy.server()
// Listen to GET to comments/1
cy.route('GET', 'comments/*').as('getComment')
// we have code that gets a comment when
// the button is clicked in scripts.js
cy.get('.network-btn').click()
// wait for GET comments/1
cy.wait('@getComment').its('status').should('eq', 200)
})
})

View File

@@ -0,0 +1,22 @@
/// <reference types="Cypress" />
context('Window', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/window')
})
it('cy.window() - get the global window object', () => {
// https://on.cypress.io/window
cy.window().should('have.property', 'top')
})
it('cy.document() - get the document object', () => {
// https://on.cypress.io/document
cy.document().should('have.property', 'charset').and('eq', 'UTF-8')
})
it('cy.title() - get the title', () => {
// https://on.cypress.io/title
cy.title().should('include', 'Kitchen Sink')
})
})

View File

@@ -0,0 +1,5 @@
{
"name": "Using fixtures to represent data",
"email": "hello@cypress.io",
"body": "Fixtures are a great way to mock data for responses to routes"
}

34
cypress/helpers/util.js Normal file
View File

@@ -0,0 +1,34 @@
/* eslint-env jest */
import { Base64 } from 'js-base64';
export const mermaidUrl = (graphStr, options, api) => {
const obj = {
code: graphStr,
mermaid: options
};
const objStr = JSON.stringify(obj);
let url = 'http://localhost:9000/e2e.html?graph=' + Base64.encodeURI(objStr);
if (api) {
url = 'http://localhost:9000/xss.html?graph=' + graphStr;
}
if (options.listUrl) {
cy.log(options.listId, ' ', url);
}
return url;
};
export const imgSnapshotTest = (graphStr, options, api) => {
const url = mermaidUrl(graphStr, options, api);
cy.visit(url);
cy.get('svg');
cy.percySnapshot();
};
export const renderGraph = (graphStr, options, api) => {
const url = mermaidUrl(graphStr, options, api);
cy.visit(url);
};

View File

@@ -0,0 +1,100 @@
import { renderGraph } from '../../helpers/util';
/* eslint-env jest */
describe('Configuration', () => {
describe('arrowMarkerAbsolute', () => {
it('should handle default value false of arrowMarkerAbsolute', () => {
renderGraph(
`graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]
`,
{ }
);
// Check the marker-end property to make sure it is properly set to
// start with #
cy.get('.edgePath path').first().should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(#');
});
it('should handle default value false of arrowMarkerAbsolute', () => {
renderGraph(
`graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]
`,
{ }
);
// Check the marker-end property to make sure it is properly set to
// start with #
cy.get('.edgePath path').first().should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(#');
});
it('should handle arrowMarkerAbsolute excplicitly set to false', () => {
renderGraph(
`graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]
`,
{
arrowMarkerAbsolute: false
}
);
// Check the marker-end property to make sure it is properly set to
// start with #
cy.get('.edgePath path').first().should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(#');
});
it('should handle arrowMarkerAbsolute excplicitly set to "false" as false', () => {
renderGraph(
`graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]
`,
{
arrowMarkerAbsolute: "false"
}
);
// Check the marker-end property to make sure it is properly set to
// start with #
cy.get('.edgePath path').first().should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(#');
});
it('should handle arrowMarkerAbsolute set to true', () => {
renderGraph(
`graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]
`,
{
arrowMarkerAbsolute: true
}
);
cy.get('.edgePath path').first().should('have.attr', 'marker-end')
.should('exist')
.and('include', 'url(http://localhost');
});
});
});

View File

@@ -0,0 +1,264 @@
/* eslint-env jest */
describe('Interaction', () => {
describe('Interaction - security level loose', () => {
it('should handle a click on a node with a bound function', () => {
const url = 'http://localhost:9000/click_security_loose.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('g#Function')
.click();
cy.get('.created-by-click').should('have.text', 'Clicked By Flow');
});
it('should handle a click on a node with a bound function where the node starts with a number', () => {
const url = 'http://localhost:9000/click_security_loose.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('g[id="1Function"]')
.click();
cy.get('.created-by-click').should('have.text', 'Clicked By Flow');
});
it('should handle a click on a node with a bound url', () => {
const url = 'http://localhost:9000/click_security_loose.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('g#URL')
.click();
cy.location().should(location => {
expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
});
});
it('should handle a click on a node with a bound url where the node starts with a number', () => {
const url = 'http://localhost:9000/click_security_loose.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('g[id="2URL"]')
.click();
cy.location().should(location => {
expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
});
});
it('should handle a click on a task with a bound URL clicking on the rect', () => {
const url = 'http://localhost:9000/click_security_loose.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('rect#cl1')
.click({ force: true });
cy.location().should(location => {
expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
});
});
it('should handle a click on a task with a bound URL clicking on the text', () => {
const url = 'http://localhost:9000/click_security_loose.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('text#cl1-text')
.click({ force: true });
cy.location().should(location => {
expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
});
});
it('should handle a click on a task with a bound function without args', () => {
const url = 'http://localhost:9000/click_security_loose.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('rect#cl2')
.click({ force: true });
cy.get('.created-by-gant-click').should('have.text', 'Clicked By Gant cl2');
});
it('should handle a click on a task with a bound function with args', () => {
const url = 'http://localhost:9000/click_security_loose.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('rect#cl3')
.click({ force: true });
cy.get('.created-by-gant-click').should('have.text', 'Clicked By Gant test1 test2 test3');
});
it('should handle a click on a task with a bound function without args', () => {
const url = 'http://localhost:9000/click_security_loose.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('text#cl2-text')
.click({ force: true });
cy.get('.created-by-gant-click').should('have.text', 'Clicked By Gant cl2');
});
it('should handle a click on a task with a bound function with args ', () => {
const url = 'http://localhost:9000/click_security_loose.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('text#cl3-text')
.click({ force: true });
cy.get('.created-by-gant-click').should('have.text', 'Clicked By Gant test1 test2 test3');
});
});
describe('Interaction - security level tight', () => {
it('should handle a click on a node without a bound function', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('g#Function')
.click();
cy.get('.created-by-click').should('not.have.text', 'Clicked By Flow');
});
it('should handle a click on a node with a bound function where the node starts with a number', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('g[id="1Function"]')
.click();
cy.get('.created-by-click').should('not.have.text', 'Clicked By Flow');
});
it('should handle a click on a node with a bound url', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('g#URL')
.click();
cy.location().should(location => {
expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
});
});
it('should handle a click on a node with a bound url where the node starts with a number', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('g[id="2URL"]')
.click();
cy.location().should(location => {
expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
});
});
it('should handle a click on a task with a bound URL clicking on the rect', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('rect#cl1')
.click({ force: true });
cy.location().should(location => {
expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
});
});
it('should handle a click on a task with a bound URL clicking on the text', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('text#cl1-text')
.click({ force: true });
cy.location().should(location => {
expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
});
});
it('should handle a click on a task with a bound function', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('rect#cl2')
.click({ force: true });
cy.get('.created-by-gant-click').should('not.have.text', 'Clicked By Gant cl2');
});
it('should handle a click on a task with a bound function', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('text#cl2-text')
.click({ force: true });
cy.get('.created-by-gant-click').should('not.have.text', 'Clicked By Gant cl2');
});
});
describe('Interaction - security level other, missspelling', () => {
it('should handle a click on a node with a bound function', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('g#Function')
.click();
cy.get('.created-by-click').should('not.have.text', 'Clicked By Flow');
});
it('should handle a click on a node with a bound function where the node starts with a number', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('g[id="1Function"]')
.click();
cy.get('.created-by-click').should('not.have.text', 'Clicked By Flow');
});
it('should handle a click on a node with a bound url', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('g#URL')
.click();
cy.location().should(location => {
expect(location.href).to.eq('http://localhost:9000/webpackUsage.html');
});
});
it('should handle a click on a task with a bound function', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('rect#cl2')
.click({ force: true });
cy.get('.created-by-gant-click').should('not.have.text', 'Clicked By Gant cl2');
});
it('should handle a click on a task with a bound function', () => {
const url = 'http://localhost:9000/click_security_strict.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('body')
.find('text#cl2-text')
.click({ force: true });
cy.get('.created-by-gant-click').should('not.have.text', 'Clicked By Gant cl2');
});
});
});

View File

@@ -0,0 +1,16 @@
/* eslint-env jest */
describe('Rerendering', () => {
it('should be able to render and rerender a graph via API', () => {
const url = 'http://localhost:9000/rerender.html';
cy.viewport(1440, 1024);
cy.visit(url);
cy.get('#graph #A').should('have.text', 'XMas');
cy.get('body')
.find('#rerender')
.click({ force: true });
cy.get('#graph #A').should('have.text', 'Saturday');
});
});

View File

@@ -0,0 +1,11 @@
/* eslint-env jest */
describe('Sequencediagram', () => {
it('should render a simple sequence diagrams', () => {
const url = 'http://localhost:9000/webpackUsage.html';
cy.visit(url);
cy.get('body')
.find('svg')
.should('have.length', 2);
});
});

View File

@@ -0,0 +1,35 @@
/* eslint-env jest */
import { mermaidUrl } from '../../helpers/util.js';
/* eslint-disable */
describe('XSS', () => {
it('should handle xss in tags', () => {
const str = 'eyJjb2RlIjoiXG5ncmFwaCBMUlxuICAgICAgQi0tPkQoPGltZyBvbmVycm9yPWxvY2F0aW9uPWBqYXZhc2NyaXB0XFx1MDAzYXhzc0F0dGFja1xcdTAwMjhkb2N1bWVudC5kb21haW5cXHUwMDI5YCBzcmM9eD4pOyIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In19';
const url = mermaidUrl(str,{}, true);
cy.visit(url);
cy.wait(1000).then(()=>{
cy.get('.mermaid').should('exist');
});
cy.get('svg')
// cy.percySnapshot()
})
it('should handle xss in tags in non-html mode', () => {
const str = 'eyJjb2RlIjoiXG5ncmFwaCBMUlxuICAgICAgQi0tPkQoPGltZyBvbmVycm9yPWxvY2F0aW9uPWBqYXZhc2NyaXB0XFx1MDAzYXhzc0F0dGFja1xcdTAwMjhkb2N1bWVudC5kb21haW5cXHUwMDI5YCBzcmM9eD4pOyIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0IiwiZmxvd2NoYXJ0Ijp7Imh0bWxMYWJlbHMiOmZhbHNlfX19';
const url = mermaidUrl(str,{
"theme": "default",
"flowchart": {
"htmlMode": false
}
}, true);
cy.visit(url);
// cy.get('svg')
// cy.percySnapshot()
cy.get('.malware').should('not.exist');
})
})

View File

@@ -0,0 +1,308 @@
/* eslint-env jest */
import { imgSnapshotTest } from '../../helpers/util';
describe('Class diagram', () => {
it('1: should render a simple class diagram', () => {
imgSnapshotTest(
`
classDiagram
Class01 <|-- AveryLongClass : Cool
&lt;&lt;interface&gt;&gt; Class01
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class12 <|.. Class08
Class11 ..>Class12
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class01 : -int privateChimp
Class01 : +int publicGorilla
Class01 : #int protectedMarmoset
Class08 <--> C2: Cool label
class Class10 {
&lt;&lt;service&gt;&gt;
int id
test()
}
`,
{logLevel : 1}
);
cy.get('svg');
});
it('2: should render a simple class diagrams with cardinality', () => {
imgSnapshotTest(
`
classDiagram
Class01 "1" <|--|> "*" AveryLongClass : Cool
&lt;&lt;interface&gt;&gt; Class01
Class03 "1" *-- "*" Class04
Class05 "1" o-- "many" Class06
Class07 "1" .. "*" Class08
Class09 "1" --> "*" C2 : Where am i?
Class09 "*" --* "*" C3
Class09 "1" --|> "1" Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 "1" <--> "*" C2: Cool label
class Class10 {
&lt;&lt;service&gt;&gt;
int id
test()
}
`,
{}
);
cy.get('svg');
});
it('should render a simple class diagram with different visibilities', () => {
imgSnapshotTest(
`
classDiagram
Class01 <|-- AveryLongClass : Cool
&lt;&lt;interface&gt;&gt; Class01
Class01 : -int privateMethod()
Class01 : +int publicMethod()
Class01 : #int protectedMethod()
Class01 : -int privateChimp
Class01 : +int publicGorilla
Class01 : #int protectedMarmoset
`,
{}
);
cy.get('svg');
});
it('should render multiple class diagrams', () => {
imgSnapshotTest(
[
`
classDiagram
Class01 "1" <|--|> "*" AveryLongClass : Cool
&lt;&lt;interface&gt;&gt; Class01
Class03 "1" *-- "*" Class04
Class05 "1" o-- "many" Class06
Class07 "1" .. "*" Class08
Class09 "1" --> "*" C2 : Where am i?
Class09 "*" --* "*" C3
Class09 "1" --|> "1" Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 "1" <--> "*" C2: Cool label
class Class10 {
&lt;&lt;service&gt;&gt;
int id
test()
}
`,
`
classDiagram
Class01 "1" <|--|> "*" AveryLongClass : Cool
&lt;&lt;interface&gt;&gt; Class01
Class03 "1" *-- "*" Class04
Class05 "1" o-- "many" Class06
Class07 "1" .. "*" Class08
Class09 "1" --> "*" C2 : Where am i?
Class09 "*" --* "*" C3
Class09 "1" --|> "1" Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 "1" <--> "*" C2: Cool label
class Class10 {
&lt;&lt;service&gt;&gt;
int id
test()
}
`,
],
{}
);
cy.get('svg');
});
it('4: should render a simple class diagram with comments', () => {
imgSnapshotTest(
`
classDiagram
%% this is a comment
Class01 <|-- AveryLongClass : Cool
&lt;&lt;interface&gt;&gt; Class01
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
class Class10 {
&lt;&lt;service&gt;&gt;
int id
test()
}
`,
{}
);
cy.get('svg');
});
it('5: should render a simple class diagram with abstract method', () => {
imgSnapshotTest(
`
classDiagram
Class01 <|-- AveryLongClass : Cool
Class01 : someMethod()*
`,
{}
);
cy.get('svg');
});
it('6: should render a simple class diagram with static method', () => {
imgSnapshotTest(
`
classDiagram
Class01 <|-- AveryLongClass : Cool
Class01 : someMethod()$
`,
{}
);
cy.get('svg');
});
it('7: should render a simple class diagram with Generic class', () => {
imgSnapshotTest(
`
classDiagram
class Class01~T~
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
class Class10~T~ {
&lt;&lt;service&gt;&gt;
int id
test()
}
`,
{}
);
cy.get('svg');
});
it('8: should render a simple class diagram with Generic class and relations', () => {
imgSnapshotTest(
`
classDiagram
Class01~T~ <|-- AveryLongClass : Cool
Class03~T~ *-- Class04~T~
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
class Class10~T~ {
&lt;&lt;service&gt;&gt;
int id
test()
}
`,
{}
);
cy.get('svg');
});
it('9: should render a simple class diagram with clickable link', () => {
imgSnapshotTest(
`
classDiagram
Class01~T~ <|-- AveryLongClass : Cool
Class03~T~ *-- Class04~T~
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
class Class10~T~ {
&lt;&lt;service&gt;&gt;
int id
test()
}
link class01 "google.com" "A Tooltip"
`,
{}
);
cy.get('svg');
});
it('10: should render a simple class diagram with clickable callback', () => {
imgSnapshotTest(
`
classDiagram
Class01~T~ <|-- AveryLongClass : Cool
Class03~T~ *-- Class04~T~
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
Class08 <--> C2: Cool label
class Class10~T~ {
&lt;&lt;service&gt;&gt;
int id
test()
}
callback class01 "functionCall" "A Tooltip"
`,
{}
);
cy.get('svg');
});
it('11: should render a simple class diagram with return type on method', () => {
imgSnapshotTest(
`
classDiagram
class Class10~T~ {
int[] id
test(int[] ids) bool
testArray() bool[]
}
`,
{}
);
cy.get('svg');
});
it('12: should render a simple class diagram with generic types', () => {
imgSnapshotTest(
`
classDiagram
class Class10~T~ {
int[] id
List~int~ ids
test(List~int~ ids) List~bool~
testArray() bool[]
}
`,
{}
);
cy.get('svg');
});
});

View File

@@ -0,0 +1,21 @@
/* eslint-env jest */
import { imgSnapshotTest } from '../../helpers/util';
describe('State diagram', () => {
it('should render a state with states in it', () => {
imgSnapshotTest(
`
stateDiagram
state PersonalizedCockpit {
Other
state Parent {
C
}
}
`,
{
logLevel: 0,
}
);
});
});

View File

@@ -0,0 +1,91 @@
/* eslint-env jest */
import { imgSnapshotTest } from '../../helpers/util';
describe('Entity Relationship Diagram', () => {
it('should render a simple ER diagram', () => {
imgSnapshotTest(
`
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
`,
{logLevel : 1}
);
cy.get('svg');
});
it('should render an ER diagram with a recursive relationship', () => {
imgSnapshotTest(
`
erDiagram
CUSTOMER ||..o{ CUSTOMER : refers
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
`,
{logLevel : 1}
);
cy.get('svg');
});
it('should render an ER diagram with multiple relationships between the same two entities', () => {
imgSnapshotTest(
`
erDiagram
CUSTOMER ||--|{ ADDRESS : "invoiced at"
CUSTOMER ||--|{ ADDRESS : "receives goods at"
`,
{logLevel : 1}
);
cy.get('svg');
});
it('should render a cyclical ER diagram', () => {
imgSnapshotTest(
`
erDiagram
A ||--|{ B : likes
B ||--|{ C : likes
C ||--|{ A : likes
`,
{logLevel : 1}
);
cy.get('svg');
});
it('should render a not-so-simple ER diagram', () => {
imgSnapshotTest(
`
erDiagram
CUSTOMER }|..|{ DELIVERY-ADDRESS : has
CUSTOMER ||--o{ ORDER : places
CUSTOMER ||--o{ INVOICE : "liable for"
DELIVERY-ADDRESS ||--o{ ORDER : receives
INVOICE ||--|{ ORDER : covers
ORDER ||--|{ ORDER-ITEM : includes
PRODUCT-CATEGORY ||--|{ PRODUCT : contains
PRODUCT ||--o{ ORDER-ITEM : "ordered in"
`,
{logLevel : 1}
);
cy.get('svg');
});
it('should render multiple ER diagrams', () => {
imgSnapshotTest(
[
`
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
`,
`
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
`
],
{logLevel : 1}
);
cy.get('svg');
});
});

View File

@@ -0,0 +1,674 @@
/* eslint-env jest */
import { imgSnapshotTest } from '../../helpers/util';
describe('Flowchart', () => {
it('1: should render a simple flowchart no htmlLabels', () => {
imgSnapshotTest(
`graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]
`,
{ flowchart: { htmlLabels: false } }
);
});
it('2: should render a simple flowchart with htmlLabels', () => {
imgSnapshotTest(
`graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]
`,
{ flowchart: { htmlLabels: true } }
);
});
it('3: should render a simple flowchart with line breaks', () => {
imgSnapshotTest(
`
graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me thinksssss<br/>ssssssssssssssssssssss<br/>sssssssssssssssssssssssssss}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[Car]
`,
{}
);
});
it('4: should render a simple flowchart with trapezoid and inverse trapezoid vertex options.', () => {
imgSnapshotTest(
`
graph TD
A[/Christmas\\]
A -->|Get money| B[\\Go shopping/]
B --> C{Let me thinksssss<br/>ssssssssssssssssssssss<br/>sssssssssssssssssssssssssss}
C -->|One| D[/Laptop/]
C -->|Two| E[\\iPhone\\]
C -->|Three| F[Car]
`,
{}
);
});
it('5: should style nodes via a class.', () => {
imgSnapshotTest(
`
graph TD
1A --> 1B
1B --> 1C
1C --> D
1C --> E
classDef processHead fill:#888888,color:white,font-weight:bold,stroke-width:3px,stroke:#001f3f
class 1A,1B,D,E processHead
`,
{}
);
});
it('6: should render a flowchart full of circles', () => {
imgSnapshotTest(
`
graph LR
47(SAM.CommonFA.FMESummary)-->48(SAM.CommonFA.CommonFAFinanceBudget)
37(SAM.CommonFA.BudgetSubserviceLineVolume)-->48(SAM.CommonFA.CommonFAFinanceBudget)
35(SAM.CommonFA.PopulationFME)-->47(SAM.CommonFA.FMESummary)
41(SAM.CommonFA.MetricCost)-->47(SAM.CommonFA.FMESummary)
44(SAM.CommonFA.MetricOutliers)-->47(SAM.CommonFA.FMESummary)
46(SAM.CommonFA.MetricOpportunity)-->47(SAM.CommonFA.FMESummary)
40(SAM.CommonFA.OPVisits)-->47(SAM.CommonFA.FMESummary)
38(SAM.CommonFA.CommonFAFinanceRefund)-->47(SAM.CommonFA.FMESummary)
43(SAM.CommonFA.CommonFAFinancePicuDays)-->47(SAM.CommonFA.FMESummary)
42(SAM.CommonFA.CommonFAFinanceNurseryDays)-->47(SAM.CommonFA.FMESummary)
45(SAM.CommonFA.MetricPreOpportunity)-->46(SAM.CommonFA.MetricOpportunity)
35(SAM.CommonFA.PopulationFME)-->45(SAM.CommonFA.MetricPreOpportunity)
41(SAM.CommonFA.MetricCost)-->45(SAM.CommonFA.MetricPreOpportunity)
41(SAM.CommonFA.MetricCost)-->44(SAM.CommonFA.MetricOutliers)
39(SAM.CommonFA.ChargeDetails)-->43(SAM.CommonFA.CommonFAFinancePicuDays)
39(SAM.CommonFA.ChargeDetails)-->42(SAM.CommonFA.CommonFAFinanceNurseryDays)
39(SAM.CommonFA.ChargeDetails)-->41(SAM.CommonFA.MetricCost)
39(SAM.CommonFA.ChargeDetails)-->40(SAM.CommonFA.OPVisits)
35(SAM.CommonFA.PopulationFME)-->39(SAM.CommonFA.ChargeDetails)
36(SAM.CommonFA.PremetricCost)-->39(SAM.CommonFA.ChargeDetails)
`,
{}
);
});
it('7: should render a flowchart full of icons', () => {
imgSnapshotTest(
`
graph TD
9e122290_1ec3_e711_8c5a_005056ad0002("fa:fa-creative-commons My System | Test Environment")
82072290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Shared Business Logic Server:Service 1")
db052290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Shared Business Logic Server:Service 2")
4e112290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Shared Report Server:Service 1")
30122290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Shared Report Server:Service 2")
5e112290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Dedicated Test Business Logic Server:Service 1")
c1112290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Dedicated Test Business Logic Server:Service 2")
b7042290_1ec3_e711_8c5a_005056ad0002("fa:fa-circle [DBServer\\SharedDbInstance].[SupportDb]")
8f102290_1ec3_e711_8c5a_005056ad0002("fa:fa-circle [DBServer\\SharedDbInstance].[DevelopmentDb]")
0e102290_1ec3_e711_8c5a_005056ad0002("fa:fa-circle [DBServer\\SharedDbInstance].[TestDb]")
07132290_1ec3_e711_8c5a_005056ad0002("fa:fa-circle [DBServer\\SharedDbInstance].[SharedReportingDb]")
c7072290_1ec3_e711_8c5a_005056ad0002("fa:fa-server Shared Business Logic Server")
ca122290_1ec3_e711_8c5a_005056ad0002("fa:fa-server Shared Report Server")
68102290_1ec3_e711_8c5a_005056ad0002("fa:fa-server Dedicated Test Business Logic Server")
f4112290_1ec3_e711_8c5a_005056ad0002("fa:fa-database [DBServer\\SharedDbInstance]")
d6072290_1ec3_e711_8c5a_005056ad0002("fa:fa-server DBServer")
71082290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs DBServer\\:MSSQLSERVER")
c0102290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs DBServer\\:SQLAgent")
9a072290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs DBServer\\:SQLBrowser")
1d0a2290_1ec3_e711_8c5a_005056ad0002("fa:fa-server VmHost1")
200a2290_1ec3_e711_8c5a_005056ad0002("fa:fa-server VmHost2")
1c0a2290_1ec3_e711_8c5a_005056ad0002("fa:fa-server VmHost3")
9e122290_1ec3_e711_8c5a_005056ad0002-->82072290_1ec3_e711_8c5a_005056ad0002
9e122290_1ec3_e711_8c5a_005056ad0002-->db052290_1ec3_e711_8c5a_005056ad0002
9e122290_1ec3_e711_8c5a_005056ad0002-->4e112290_1ec3_e711_8c5a_005056ad0002
9e122290_1ec3_e711_8c5a_005056ad0002-->30122290_1ec3_e711_8c5a_005056ad0002
9e122290_1ec3_e711_8c5a_005056ad0002-->5e112290_1ec3_e711_8c5a_005056ad0002
9e122290_1ec3_e711_8c5a_005056ad0002-->c1112290_1ec3_e711_8c5a_005056ad0002
82072290_1ec3_e711_8c5a_005056ad0002-->b7042290_1ec3_e711_8c5a_005056ad0002
82072290_1ec3_e711_8c5a_005056ad0002-->8f102290_1ec3_e711_8c5a_005056ad0002
82072290_1ec3_e711_8c5a_005056ad0002-->0e102290_1ec3_e711_8c5a_005056ad0002
82072290_1ec3_e711_8c5a_005056ad0002-->c7072290_1ec3_e711_8c5a_005056ad0002
db052290_1ec3_e711_8c5a_005056ad0002-->c7072290_1ec3_e711_8c5a_005056ad0002
db052290_1ec3_e711_8c5a_005056ad0002-->82072290_1ec3_e711_8c5a_005056ad0002
4e112290_1ec3_e711_8c5a_005056ad0002-->b7042290_1ec3_e711_8c5a_005056ad0002
4e112290_1ec3_e711_8c5a_005056ad0002-->8f102290_1ec3_e711_8c5a_005056ad0002
4e112290_1ec3_e711_8c5a_005056ad0002-->0e102290_1ec3_e711_8c5a_005056ad0002
4e112290_1ec3_e711_8c5a_005056ad0002-->07132290_1ec3_e711_8c5a_005056ad0002
4e112290_1ec3_e711_8c5a_005056ad0002-->ca122290_1ec3_e711_8c5a_005056ad0002
30122290_1ec3_e711_8c5a_005056ad0002-->ca122290_1ec3_e711_8c5a_005056ad0002
30122290_1ec3_e711_8c5a_005056ad0002-->4e112290_1ec3_e711_8c5a_005056ad0002
5e112290_1ec3_e711_8c5a_005056ad0002-->8f102290_1ec3_e711_8c5a_005056ad0002
5e112290_1ec3_e711_8c5a_005056ad0002-->68102290_1ec3_e711_8c5a_005056ad0002
c1112290_1ec3_e711_8c5a_005056ad0002-->68102290_1ec3_e711_8c5a_005056ad0002
c1112290_1ec3_e711_8c5a_005056ad0002-->5e112290_1ec3_e711_8c5a_005056ad0002
b7042290_1ec3_e711_8c5a_005056ad0002-->f4112290_1ec3_e711_8c5a_005056ad0002
8f102290_1ec3_e711_8c5a_005056ad0002-->f4112290_1ec3_e711_8c5a_005056ad0002
0e102290_1ec3_e711_8c5a_005056ad0002-->f4112290_1ec3_e711_8c5a_005056ad0002
07132290_1ec3_e711_8c5a_005056ad0002-->f4112290_1ec3_e711_8c5a_005056ad0002
c7072290_1ec3_e711_8c5a_005056ad0002-->1d0a2290_1ec3_e711_8c5a_005056ad0002
ca122290_1ec3_e711_8c5a_005056ad0002-->200a2290_1ec3_e711_8c5a_005056ad0002
68102290_1ec3_e711_8c5a_005056ad0002-->1c0a2290_1ec3_e711_8c5a_005056ad0002
f4112290_1ec3_e711_8c5a_005056ad0002-->d6072290_1ec3_e711_8c5a_005056ad0002
f4112290_1ec3_e711_8c5a_005056ad0002-->71082290_1ec3_e711_8c5a_005056ad0002
f4112290_1ec3_e711_8c5a_005056ad0002-->c0102290_1ec3_e711_8c5a_005056ad0002
f4112290_1ec3_e711_8c5a_005056ad0002-->9a072290_1ec3_e711_8c5a_005056ad0002
d6072290_1ec3_e711_8c5a_005056ad0002-->1c0a2290_1ec3_e711_8c5a_005056ad0002
71082290_1ec3_e711_8c5a_005056ad0002-->d6072290_1ec3_e711_8c5a_005056ad0002
c0102290_1ec3_e711_8c5a_005056ad0002-->d6072290_1ec3_e711_8c5a_005056ad0002
c0102290_1ec3_e711_8c5a_005056ad0002-->71082290_1ec3_e711_8c5a_005056ad0002
9a072290_1ec3_e711_8c5a_005056ad0002-->d6072290_1ec3_e711_8c5a_005056ad0002
9a072290_1ec3_e711_8c5a_005056ad0002-->71082290_1ec3_e711_8c5a_005056ad0002
`,
{}
);
});
it('8: should render labels with numbers at the start', () => {
imgSnapshotTest(
`
graph TB;subgraph "number as labels";1;end;
`,
{}
);
});
it('9: should render subgraphs', () => {
imgSnapshotTest(
`
graph TB
subgraph One
a1-->a2
end
`,
{}
);
});
it('10: should render subgraphs with a title starting with a digit', () => {
imgSnapshotTest(
`
graph TB
subgraph 2Two
a1-->a2
end
`,
{}
);
});
it('11: should render styled subgraphs', () => {
imgSnapshotTest(
`
graph TB
A
B
subgraph foo[Foo SubGraph]
C
D
end
subgraph bar[Bar SubGraph]
E
F
end
G
A-->B
B-->C
C-->D
B-->D
D-->E
E-->A
E-->F
F-->D
F-->G
B-->G
G-->D
style foo fill:#F99,stroke-width:2px,stroke:#F0F
style bar fill:#999,stroke-width:10px,stroke:#0F0
`,
{}
);
});
it('12: should render a flowchart with long names and class definitions', () => {
imgSnapshotTest(
`graph LR
sid-B3655226-6C29-4D00-B685-3D5C734DC7E1["
提交申请
熊大
"];
class sid-B3655226-6C29-4D00-B685-3D5C734DC7E1 node-executed;
sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A["
负责人审批
强子
"];
class sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A node-executed;
sid-E27C0367-E6D6-497F-9736-3CDC21FDE221["
DBA审批
强子
"];
class sid-E27C0367-E6D6-497F-9736-3CDC21FDE221 node-executed;
sid-BED98281-9585-4D1B-934E-BD1AC6AC0EFD["
SA审批
阿美
"];
class sid-BED98281-9585-4D1B-934E-BD1AC6AC0EFD node-executed;
sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7["
主管审批
光头强
"];
class sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7 node-executed;
sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89["
DBA确认
强子
"];
class sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89 node-executed;
sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937["
SA确认
阿美
"];
class sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937 node-executed;
sid-4FC27B48-A6F9-460A-A675-021F5854FE22["
结束
"];
class sid-4FC27B48-A6F9-460A-A675-021F5854FE22 node-executed;
sid-19DD9E9F-98C1-44EE-B604-842AFEE76F1E["
SA执行1
强子
"];
class sid-19DD9E9F-98C1-44EE-B604-842AFEE76F1E node-executed;
sid-6C2120F3-D940-4958-A067-0903DCE879C4["
SA执行2
强子
"];
class sid-6C2120F3-D940-4958-A067-0903DCE879C4 node-executed;
sid-9180E2A0-5C4B-435F-B42F-0D152470A338["
DBA执行1
强子
"];
class sid-9180E2A0-5C4B-435F-B42F-0D152470A338 node-executed;
sid-03A2C3AC-5337-48A5-B154-BB3FD0EC8DAD["
DBA执行3
强子
"];
class sid-03A2C3AC-5337-48A5-B154-BB3FD0EC8DAD node-executed;
sid-D5E1F2F4-306C-47A2-BF74-F66E3D769756["
DBA执行2
强子
"];
class sid-D5E1F2F4-306C-47A2-BF74-F66E3D769756 node-executed;
sid-8C3F2F1D-F014-4F99-B966-095DC1A2BD93["
DBA执行4
强子
"];
class sid-8C3F2F1D-F014-4F99-B966-095DC1A2BD93 node-executed;
sid-1897B30A-9C5C-4D5B-B80B-76A038785070["
负责人确认
梁静茹
"];
class sid-1897B30A-9C5C-4D5B-B80B-76A038785070 node-executed;
sid-B3655226-6C29-4D00-B685-3D5C734DC7E1-->sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7;
sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A-->sid-1897B30A-9C5C-4D5B-B80B-76A038785070;
sid-E27C0367-E6D6-497F-9736-3CDC21FDE221-->sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89;
sid-BED98281-9585-4D1B-934E-BD1AC6AC0EFD-->sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937;
sid-19DD9E9F-98C1-44EE-B604-842AFEE76F1E-->sid-6C2120F3-D940-4958-A067-0903DCE879C4;
sid-9180E2A0-5C4B-435F-B42F-0D152470A338-->sid-D5E1F2F4-306C-47A2-BF74-F66E3D769756;
sid-03A2C3AC-5337-48A5-B154-BB3FD0EC8DAD-->sid-8C3F2F1D-F014-4F99-B966-095DC1A2BD93;
sid-6C2120F3-D940-4958-A067-0903DCE879C4-->sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A;
sid-1897B30A-9C5C-4D5B-B80B-76A038785070-->sid-4FC27B48-A6F9-460A-A675-021F5854FE22;
sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937-->sid-19DD9E9F-98C1-44EE-B604-842AFEE76F1E;
sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89-->sid-9180E2A0-5C4B-435F-B42F-0D152470A338;
sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89-->sid-03A2C3AC-5337-48A5-B154-BB3FD0EC8DAD;
sid-D5E1F2F4-306C-47A2-BF74-F66E3D769756-->sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A;
sid-8C3F2F1D-F014-4F99-B966-095DC1A2BD93-->sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A;
sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7-->sid-BED98281-9585-4D1B-934E-BD1AC6AC0EFD;
sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7-->sid-E27C0367-E6D6-497F-9736-3CDC21FDE221;
sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937-->sid-6C2120F3-D940-4958-A067-0903DCE879C4;
sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7-->sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A;
sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7-->sid-4FC27B48-A6F9-460A-A675-021F5854FE22;
`,
{}
);
});
it('13: should render color of styled nodes', () => {
imgSnapshotTest(
`
graph LR
foo-->bar
classDef foo fill:lightblue,color:green,stroke:#FF9E2C,font-weight:bold
style foo fill:#F99,stroke-width:2px,stroke:#F0F
style bar fill:#999,color: #00ff00, stroke-width:10px,stroke:#0F0
`,
{
listUrl: false,
listId: 'color styling',
logLevel: 0
}
);
});
it('14: should render hexagons', () => {
imgSnapshotTest(
`
graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{{Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?}}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[Car]
click A "index.html#link-clicked" "link test"
click B testClick "click test"
classDef someclass fill:#f96;
class A someclass;
class C someclass;
`,
{
listUrl: false,
listId: 'color styling',
logLevel: 0
}
);
});
it('15: should render a simple flowchart with comments', () => {
imgSnapshotTest(
`graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
%% this is a comment
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]
`,
{ flowchart: { htmlLabels: false } }
);
});
it('16: Render Stadium shape', () => {
imgSnapshotTest(
` graph TD
A([stadium shape test])
A -->|Get money| B([Go shopping])
B --> C([Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?])
C -->|One| D([Laptop])
C -->|Two| E([iPhone])
C -->|Three| F([Car<br/>wroom wroom])
click A "index.html#link-clicked" "link test"
click B testClick "click test"
classDef someclass fill:#f96;
class A someclass;
class C someclass;
`,
{ flowchart: { htmlLabels: false } }
);
});
it('17: Render multiline texts', () => {
imgSnapshotTest(
`graph LR
A1[Multi<br>Line] -->|Multi<br>Line| B1(Multi<br>Line)
C1[Multi<br/>Line] -->|Multi<br/>Line| D1(Multi<br/>Line)
E1[Multi<br />Line] -->|Multi<br />Line| F1(Multi<br />Line)
A2[Multi<br>Line] -->|Multi<br>Line| B2(Multi<br>Line)
C2[Multi<br/>Line] -->|Multi<br/>Line| D2(Multi<br/>Line)
E2[Multi<br />Line] -->|Multi<br />Line| F2(Multi<br />Line)
linkStyle 0 stroke:DarkGray,stroke-width:2px
linkStyle 1 stroke:DarkGray,stroke-width:2px
linkStyle 2 stroke:DarkGray,stroke-width:2px
`,
{ flowchart: { htmlLabels: false } }
);
});
it('18: Chaining of nodes', () => {
imgSnapshotTest(
`graph LR
a --> b --> c
`,
{ flowchart: { htmlLabels: false } }
);
});
it('19: Multiple nodes and chaining in one statement', () => {
imgSnapshotTest(
`graph LR
a --> b & c--> d
`,
{ flowchart: { htmlLabels: false } }
);
});
it('20: Multiple nodes and chaining in one statement', () => {
imgSnapshotTest(
`graph TD
A[ h ] -- hello --> B[" test "]:::exClass & C --> D;
classDef exClass background:#bbb,border:1px solid red;
`,
{ flowchart: { htmlLabels: false } }
);
});
it('21: Render cylindrical shape', () => {
imgSnapshotTest(
`graph LR
A[(cylindrical<br />shape<br />test)]
A -->|Get money| B1[(Go shopping 1)]
A -->|Get money| B2[(Go shopping 2)]
A -->|Get money| B3[(Go shopping 3)]
C[(Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?)]
B1 --> C
B2 --> C
B3 --> C
C -->|One| D[(Laptop)]
C -->|Two| E[(iPhone)]
C -->|Three| F[(Car)]
click A "index.html#link-clicked" "link test"
click B testClick "click test"
classDef someclass fill:#f96;
class A someclass;`,
{ flowchart: { htmlLabels: false } }
);
});
it('22: Render a simple flowchart with nodeSpacing set to 100', () => {
imgSnapshotTest(
`graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
%% this is a comment
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]
`,
{ flowchart: { nodeSpacing: 50 } }
);
});
it('23: Render a simple flowchart with rankSpacing set to 100', () => {
imgSnapshotTest(
`graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
%% this is a comment
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]
`,
{ flowchart: { rankSpacing: '100' } }
);
});
it('24: Keep node label text (if already defined) when a style is applied', () => {
imgSnapshotTest(
`graph LR
A(( )) -->|step 1| B(( ))
B(( )) -->|step 2| C(( ))
C(( )) -->|step 3| D(( ))
linkStyle 1 stroke:greenyellow,stroke-width:2px
style C fill:greenyellow,stroke:green,stroke-width:4px
`,
{ flowchart: { htmlLabels: false } }
);
});
it('25: Handle link click events (link, anchor, mailto, other protocol, script)', () => {
imgSnapshotTest(
`graph TB
TITLE["Link Click Events<br>(click the nodes below)"]
A[link test]
B[anchor test]
C[mailto test]
D[other protocol test]
E[script test]
TITLE --> A & B & C & D & E
click A "https://mermaid-js.github.io/mermaid/#/" "link test"
click B "#link-clicked" "anchor test"
click C "mailto:user@user.user" "mailto test"
click D "notes://do-your-thing/id" "other protocol test"
click E "javascript:alert('test')" "script test"
`,
{ securityLevel: 'loose' }
);
});
it('26: Set text color of nodes and links according to styles when html labels are enabled', () => {
imgSnapshotTest(
`graph LR
A[red<br>text] -->|red<br>text| B(blue<br>text)
C[/red<br/>text/] -->|blue<br/>text| D{blue<br/>text}
E{{default<br />style}} -->|default<br />style| F([default<br />style])
linkStyle default color:Sienna;
linkStyle 0 color:red;
linkStyle 1 stroke:DarkGray,stroke-width:2px,color:#0000ff
style A color:red;
style B color:blue;
style C stroke:#ff0000,fill:#ffcccc,color:#ff0000
style D stroke:#0000ff,fill:#ccccff,color:#0000ff
click B "index.html#link-clicked" "link test"
click D testClick "click test"
`,
{ flowchart: { htmlLabels: true } }
);
});
it('27: Set text color of nodes and links according to styles when html labels are disabled', () => {
imgSnapshotTest(
`graph LR
A[red<br>text] -->|red<br>text| B(blue<br>text)
C[/red<br/>text/] -->|blue<br/>text| D{blue<br/>text}
E{{default<br />style}} -->|default<br />style| F([default<br />style])
linkStyle default color:Sienna;
linkStyle 0 color:red;
linkStyle 1 stroke:DarkGray,stroke-width:2px,color:#0000ff
style A color:red;
style B color:blue;
style C stroke:#ff0000,fill:#ffcccc,color:#ff0000
style D stroke:#0000ff,fill:#ccccff,color:#0000ff
click B "index.html#link-clicked" "link test"
click D testClick "click test"
`,
{ flowchart: { htmlLabels: false } }
);
});
it('28: Apply default class to all nodes which do not have another class assigned (htmlLabels enabled)', () => {
imgSnapshotTest(
`graph TD
A[myClass1] --> B[default] & C[default]
B[default] & C[default] --> D[myClass2]
classDef default stroke-width:2px,fill:none,stroke:silver
classDef node color:red
classDef myClass1 color:#0000ff
classDef myClass2 stroke:#0000ff,fill:#ccccff
class A myClass1
class D myClass2
`,
{ flowchart: { htmlLabels: true } }
);
});
it('29: Apply default class to all nodes which do not have another class assigned (htmlLabels disabled)', () => {
imgSnapshotTest(
`graph TD
A[myClass1] --> B[default] & C[default]
B[default] & C[default] --> D[myClass2]
classDef default stroke-width:2px,fill:none,stroke:silver
classDef node color:red
classDef myClass1 color:#0000ff
classDef myClass2 stroke:#0000ff,fill:#ccccff
class A myClass1
class D myClass2
`,
{ flowchart: { htmlLabels: false } }
);
});
it('30: Possibility to style text color of nodes and subgraphs as well as apply classes to subgraphs', () => {
imgSnapshotTest(
`graph LR
subgraph id1 [title is set]
A-->B
end
subgraph id2 [title]
E
end
B-->C
subgraph id3
C-->D
end
class id3,id2,A redBg;
class id3,A whiteTxt;
classDef redBg fill:#622;
classDef whiteTxt color: white;
`,
{ flowchart: { htmlLabels: false } }
);
});
it('31: should not slice off edges that are to the left of the left-most vertex', () => {
imgSnapshotTest(
`graph TD
work --> sleep
sleep --> work
eat --> sleep
work --> eat
`,
{ flowchart: { htmlLabels: false } }
);
});
it('32: Render Subroutine shape', () => {
imgSnapshotTest(
`graph LR
A[[subroutine shape test]]
A -->|Get money| B[[Go shopping]]
B --> C[[Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?]]
C -->|One| D[[Laptop]]
C -->|Two| E[[iPhone]]
C -->|Three| F[[Car<br/>wroom wroom]]
click A "index.html#link-clicked" "link test"
click B testClick "click test"
classDef someclass fill:#f96;
class A someclass;
class C someclass;
`,
{ flowchart: { htmlLabels: false } }
);
});
});

View File

@@ -0,0 +1,163 @@
/* eslint-env jest */
import { imgSnapshotTest } from '../../helpers/util.js';
describe('Gantt diagram', () => {
it('should render a gantt chart', () => {
imgSnapshotTest(
`
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
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
section Critical tasks
Completed task in the critical line :crit, done, 2014-01-06,24h
Implement parser and jison :crit, done, after des1, 2d
Create tests for parser :crit, active, 3d
Future task in critical line :crit, 5d
Create tests for renderer :2d
Add to mermaid :1d
section Documentation
Describe gantt syntax :active, a1, after des1, 3d
Add gantt diagram to demo page :after a1 , 20h
Add another diagram to demo page :doc1, after a1 , 48h
section Last section
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
`,
{}
);
});
it('Handle multiline section titles with different line breaks', () => {
imgSnapshotTest(
`
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
title GANTT diagram with multiline section titles
excludes weekdays 2014-01-10
section A section<br>multiline
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
section Critical tasks<br/>multiline
Completed task in the critical line : crit, done, 2014-01-06, 24h
Implement parser and jison : crit, done, after des1, 2d
Create tests for parser : crit, active, 3d
Future task in critical line : crit, 5d
Create tests for renderer : 2d
Add to mermaid : 1d
section Documentation<br />multiline
Describe gantt syntax : active, a1, after des1, 3d
Add gantt diagram to demo page : after a1, 20h
Add another diagram to demo page : doc1, after a1, 48h
section Last section<br />multiline
Describe gantt syntax : after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
`,
{}
);
});
it('Multiple dependencies syntax', () => {
imgSnapshotTest(
`
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
title Adding GANTT diagram to mermaid
excludes weekdays 2014-01-10
apple :a, 2017-07-20, 1w
banana :crit, b, 2017-07-23, 1d
cherry :active, c, after b a, 1d
`,
{}
);
});
it('should render a gantt chart for issue #1060', () => {
imgSnapshotTest(
`
gantt
excludes weekdays 2017-01-10
title Projects Timeline
section asdf
specs :done, :ps, 2019-05-10, 50d
Plasma :pc, 2019-06-20, 60d
Rollup :or, 2019-08-20, 50d
section CEL
plasma-chamber :done, :pc, 2019-05-20, 60d
Plasma Implementation (Rust) :por, 2019-06-20, 120d
Predicates (Atomic Swap) :pred, 2019-07-20, 60d
section DEX
History zkSNARK :hs, 2019-08-10, 40d
Exit :vs, after hs, 60d
PredicateSpec :ps, 2019-09-1, 20d
PlasmaIntegration :pi, after ps,40d
section Events
ETHBoston :done, :eb, 2019-09-08, 3d
DevCon :active, :dc, 2019-10-08, 3d
section Plasma Calls & updates
OVM :ovm, 2019-07-12, 120d
Plasma call 26 :pc26, 2019-08-21, 1d
Plasma call 27 :pc27, 2019-09-03, 1d
Plasma call 28 :pc28, 2019-09-17, 1d
`,
{}
);
});
it('should hide today marker', () => {
imgSnapshotTest(
`
gantt
title Hide today marker (vertical line should not be visible)
dateFormat YYYY-MM-DD
axisFormat %d
todayMarker off
section Section1
Today: 1, -1h
`,
{}
);
});
it('should style today marker', () => {
imgSnapshotTest(
`
gantt
title Style today marker (vertical line should be 5px wide and half-transparent blue)
dateFormat YYYY-MM-DD
axisFormat %d
todayMarker stroke-width:5px,stroke:#00f,opacity:0.5
section Section1
Today: 1, -1h
`,
{}
);
});
});

View File

@@ -0,0 +1,21 @@
/* eslint-env jest */
import { imgSnapshotTest } from '../../helpers/util.js';
describe('Sequencediagram', () => {
// it('should render a simple git graph', () => {
// imgSnapshotTest(
// `
// gitGraph:
// commit
// branch newbranch
// checkout newbranch
// commit
// commit
// checkout master
// commit
// commit
// merge newbranch`,
// { logLevel: 0 }
// );
// });
});

View File

@@ -0,0 +1,14 @@
/* eslint-env jest */
import { imgSnapshotTest } from '../../helpers/util.js';
describe('Sequencediagram', () => {
it('should render a simple info diagrams', () => {
imgSnapshotTest(
`
info
showInfo
`,
{}
);
});
});

View File

@@ -0,0 +1,31 @@
/* eslint-env jest */
import { imgSnapshotTest } from '../../helpers/util.js';
describe('User journey diagram', () => {
it('Simple test', () => {
imgSnapshotTest(
`journey
title Adding journey diagram functionality to mermaid
section Order from website
`,
{}
);
});
it('should render a user journey chart', () => {
imgSnapshotTest(
`
journey
title My working day
section Go to work
Make tea: 5: Me
Go upstairs: 3: Me
Do work: 1: Me, Cat
section Go home
Go downstairs: 5: Me
Sit down: 3: Me
`,
{}
);
});
});

View File

@@ -0,0 +1,40 @@
/* eslint-env jest */
import { imgSnapshotTest } from '../../helpers/util.js';
describe('Pie Chart', () => {
it('should render a simple pie diagram', () => {
imgSnapshotTest(
`
pie title Sports in Sweden
"Bandy" : 40
"Ice-Hockey" : 80
"Football" : 90
`,
{}
);
cy.get('svg');
});
it('should render a simple pie diagram with long labels', () => {
imgSnapshotTest(
`
pie title NETFLIX
"Time spent looking for movie" : 90
"Time spent watching it" : 10
`,
{}
);
cy.get('svg');
});
it('should render a simple pie diagram with capital letters for labels', () => {
imgSnapshotTest(
`
pie title What Voldemort doesn't have?
"FRIENDS" : 2
"FAMILY" : 3
"NOSE" : 45
`,
{}
);
cy.get('svg');
});
});

View File

@@ -0,0 +1,331 @@
/// <reference types="Cypress" />
import { imgSnapshotTest } from '../../helpers/util';
context('Sequence diagram', () => {
it('should render a simple sequence diagram', () => {
imgSnapshotTest(
`
sequenceDiagram
participant Alice
participant Bob
participant John as John<br/>Second Line
Alice ->> Bob: Hello Bob, how are you?
Bob-->>John: How about you John?
Bob--x Alice: I am good thanks!
Bob-x John: I am good thanks!
Note right of John: Bob thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row.
Bob-->Alice: Checking with John...
alt either this
Alice->>John: Yes
else or this
Alice->>John: No
else or this will happen
Alice->John: Maybe
end
par this happens in parallel
Alice -->> Bob: Parallel message 1
and
Alice -->> John: Parallel message 2
end
`,
{}
);
});
it('should handle different line breaks', () => {
imgSnapshotTest(
`
sequenceDiagram
participant 1 as multiline<br>using #lt;br#gt;
participant 2 as multiline<br/>using #lt;br/#gt;
participant 3 as multiline<br />using #lt;br /#gt;
participant 4 as multiline<br \t/>using #lt;br \t/#gt;
1->>2: multiline<br>using #lt;br#gt;
note right of 2: multiline<br>using #lt;br#gt;
2->>3: multiline<br/>using #lt;br/#gt;
note right of 3: multiline<br/>using #lt;br/#gt;
3->>4: multiline<br />using #lt;br /#gt;
note right of 4: multiline<br />using #lt;br /#gt;
4->>1: multiline<br />using #lt;br /#gt;
note right of 1: multiline<br \t/>using #lt;br \t/#gt;
`,
{}
);
});
it('should render loops with a slight margin', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice->>Bob: Extremely utterly long line of longness which had preivously overflown the actor box as it is much longer than what it should be
loop Loopy
Bob->>Alice: Pasten
end `,
{}
);
});
context('font settings', () => {
it('should render different note fonts when configured', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice->>Bob: I'm short
note left of Alice: I should have bigger fonts
Bob->>Alice: Short as well
`,
{ sequence: { noteFontSize: 18, noteFontFamily: 'Arial' } }
);
});
it('should render different message fonts when configured', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice->>Bob: I'm short
Bob->>Alice: Short as well
`,
{ sequence: { messageFontSize: 18, messageFontFamily: 'Arial' } }
);
});
it('should render different actor fonts when configured', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice->>Bob: I'm short
Bob->>Alice: Short as well
`,
{ sequence: { actorFontSize: 18, actorFontFamily: 'Arial' } }
);
});
it('should render notes aligned to the left when configured', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice->>Bob: I'm short
note left of Alice: I am left aligned
Bob->>Alice: Short as well
`,
{ sequence: { noteAlign: 'left' } }
);
});
it('should render notes aligned to the right when configured', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice->>Bob: I'm short
note left of Alice: I am right aligned
Bob->>Alice: Short as well
`,
{ sequence: { noteAlign: 'right' } }
);
});
});
context('auth width scaling', () => {
it('should render long actor descriptions', () => {
imgSnapshotTest(
`
sequenceDiagram
participant A as Extremely utterly long line of longness which had preivously overflown the actor box as it is much longer than what it should be
A->>Bob: Hola
Bob-->A: Pasten !
`,
{}
);
});
it('should render long notes left of actor', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice->>Bob: Hola
Note left of Alice: Extremely utterly long line of longness which had preivously overflown the actor box as it is much longer than what it should be
Bob->>Alice: I'm short though
`,
{}
);
});
it('should render long notes right of actor', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice->>Bob: Hola
Note right of Alice: Extremely utterly long line of longness which had preivously overflown the actor box as it is much longer than what it should be
Bob->>Alice: I'm short though
`,
{}
);
});
it('should render long notes over actor', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice->>Bob: Hola
Note over Alice: Extremely utterly long line of longness which had preivously overflown the actor box as it is much longer than what it should be
Bob->>Alice: I'm short though
`,
{}
);
});
it('should render long messages from an actor to the left to one to the right', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice->>Bob: Extremely utterly long line of longness which had preivously overflown the actor box as it is much longer than what it should be
Bob->>Alice: I'm short though
`,
{}
);
});
it('should render long messages from an actor to the right to one to the left', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice->>Bob: I'm short
Bob->>Alice: Extremely utterly long line of longness which had preivously overflown the actor box as it is much longer than what it should be
`,
{}
);
});
});
context('background rects', () => {
it('should render a single and nested rects', () => {
imgSnapshotTest(
`
sequenceDiagram
participant A
participant B
participant C
participant D
participant E
participant G
A ->>+ B: Task 1
rect rgb(178, 102, 255)
B ->>+ C: Task 2
C -->>- B: Return
end
A ->> D: Task 3
rect rgb(0, 128, 255)
D ->>+ E: Task 4
rect rgb(0, 204, 0)
E ->>+ G: Task 5
G -->>- E: Return
end
E ->> E: Task 6
end
D -->> A: Complete
`,
{}
);
});
it('should render rect around and inside loops', () => {
imgSnapshotTest(
`
sequenceDiagram
A ->> B: 1
rect rgb(204, 0, 102)
loop check C
C ->> C: Every 10 seconds
end
end
A ->> B: 2
loop check D
C ->> D: 3
rect rgb(153, 153, 255)
D -->> D: 5
D --> C: 4
end
end
`,
{}
);
});
it('should render rect around and inside alts', () => {
imgSnapshotTest(
`
sequenceDiagram
A ->> B: 1
rect rgb(204, 0, 102)
alt yes
C ->> C: 1
else no
rect rgb(0, 204, 204)
C ->> C: 0
end
end
end
B ->> A: Return
`,
{}
);
});
it('should render rect around and inside opts', () => {
imgSnapshotTest(
`
sequenceDiagram
A ->> B: 1
rect rgb(204, 0, 102)
opt maybe
C -->> D: Do something
rect rgb(0, 204, 204)
C ->> C: 0
end
end
end
opt possibly
rect rgb(0, 204, 204)
C ->> C: 0
end
end
B ->> A: Return
`,
{}
);
});
it('should render autonumber when configured with such', () => {
imgSnapshotTest(
`
sequenceDiagram
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
`,
{ sequence: { actorMargin: 50, showSequenceNumbers: true } }
);
});
it('should render autonumber when autonumber keyword is used', () => {
imgSnapshotTest(
`
sequenceDiagram
autonumber
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
`,
{}
);
});
it('should render autonumber with different line breaks', () => {
imgSnapshotTest(
`
sequenceDiagram
autonumber
Alice->>John: Hello John,<br>how are you?
Alice->>John: John,<br/>can you hear me?
John-->>Alice: Hi Alice,<br />I can hear you!
John-->>Alice: I feel great!
`,
{}
);
});
});
});

View File

@@ -0,0 +1,358 @@
/* eslint-env jest */
import { imgSnapshotTest } from '../../helpers/util';
describe('State diagram', () => {
it('v2 should render a simple info', () => {
imgSnapshotTest(
`
info
`,
{ logLevel: 1 }
);
cy.get('svg');
});
it('v2 should render a simple state diagrams', () => {
imgSnapshotTest(
`
stateDiagram-v2
[*] --> State1
State1 --> [*]
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render a long descriptions instead of id when available', () => {
imgSnapshotTest(
`
stateDiagram-v2
[*] --> S1
state "Some long name" as S1
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render a long descriptions with additional descriptions', () => {
imgSnapshotTest(
`
stateDiagram-v2
[*] --> S1
state "Some long name" as S1: The description
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render a single state with short descr', () => {
imgSnapshotTest(
`
stateDiagram-v2
state "A long long name" as long1
state "A" as longlonglongid
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render a transition descrions with new lines', () => {
imgSnapshotTest(
`
stateDiagram-v2
[*] --> S1
S1 --> S2: long line using<br/>should work
S1 --> S3: long line using <br>should work
S1 --> S4: long line using \\nshould work
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render a state with a note', () => {
imgSnapshotTest(
`
stateDiagram-v2
State1: The state with a note
note right of State1
Important information! You can write
notes.
end note
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render a state with on the left side when so specified', () => {
imgSnapshotTest(
`
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
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render a state with a note together with another state', () => {
imgSnapshotTest(
`
stateDiagram-v2
State1: The state with a note +,-
note right of State1
Important information! You can write +,-
notes.
end note
State1 --> State2 : With +,-
note left of State2 : This is the note +,-<br/>
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render a note with multiple lines in it', () => {
imgSnapshotTest(
`
stateDiagram-v2
State1: The state with a note
note right of State1
Important information! You\ncan write
notes with multiple lines...
Here is another line...
And another line...
end note
`,
{}
);
});
it('v2 should handle multiline notes with different line breaks', () => {
imgSnapshotTest(
`
stateDiagram-v2
State1
note right of State1
Line1<br>Line2<br/>Line3<br />Line4<br />Line5
end note
`,
{}
);
});
it('v2 should render a states with descriptions including multi-line descriptions', () => {
imgSnapshotTest(
`
stateDiagram-v2
State1: This a a single line description
State2: This a a multi line description
State2: here comes the multi part
[*] --> State1
State1 --> State2
State2 --> [*]
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render a simple state diagrams', () => {
imgSnapshotTest(
`
stateDiagram-v2
[*] --> State1
State1 --> State2
State1 --> State3
State1 --> [*]
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render a simple state diagrams with labels', () => {
imgSnapshotTest(
`
stateDiagram-v2
[*] --> State1
State1 --> State2 : Transition 1
State1 --> State3 : Transition 2
State1 --> State4 : Transition 3
State1 --> State5 : Transition 4
State2 --> State3 : Transition 5
State1 --> [*]
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render state descriptions', () => {
imgSnapshotTest(
`
stateDiagram-v2
state "Long state description" as XState1
state "Another Long state description" as XState2
XState2 : New line
XState1 --> XState2
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render composit states', () => {
imgSnapshotTest(
`
stateDiagram-v2
[*] --> NotShooting: Pacifist
NotShooting --> A
NotShooting --> B
NotShooting --> C
state NotShooting {
[*] --> Idle: Yet another long long öong öong öong label
Idle --> Configuring : EvConfig
Configuring --> Idle : EvConfig EvConfig EvConfig EvConfig EvConfig
}
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render multiple composit states', () => {
imgSnapshotTest(
`
stateDiagram-v2
[*]-->TV
state TV {
[*] --> Off: Off to start with
On --> Off : Turn off
Off --> On : Turn on
}
TV--> Console
state Console {
[*] --> Off2: Off to start with
On2--> Off2 : Turn off
Off2 --> On2 : Turn on
On2-->Playing
state Playing {
Alive --> Dead
Dead-->Alive
}
}
`,
{ logLevel: 0 }
);
});
it('v2 should render forks in composit states', () => {
imgSnapshotTest(
`
stateDiagram-v2
[*]-->TV
state TV {
state fork_state &lt;&lt;fork&gt;&gt;
[*] --> fork_state
fork_state --> State2
fork_state --> State3
state join_state &lt;&lt;join&gt;&gt;
State2 --> join_state
State3 --> join_state
join_state --> State4
State4 --> [*]
}
`,
{ logLevel: 0 }
);
});
it('v2 should render forks and joins', () => {
imgSnapshotTest(
`
stateDiagram-v2
state fork_state &lt;&lt;fork&gt;&gt;
[*] --> fork_state
fork_state --> State2
fork_state --> State3
state join_state &lt;&lt;join&gt;&gt;
State2 --> join_state
State3 --> join_state
join_state --> State4
State4 --> [*]
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render concurrency states', () => {
imgSnapshotTest(
`
stateDiagram-v2
[*] --> Active
state Active {
[*] --> NumLockOff
NumLockOff --> NumLockOn : EvNumLockPressed
NumLockOn --> NumLockOff : EvNumLockPressed
--
[*] --> CapsLockOff
CapsLockOff --> CapsLockOn : EvCapsLockPressed
CapsLockOn --> CapsLockOff : EvCapsLockPressed
--
[*] --> ScrollLockOff
ScrollLockOff --> ScrollLockOn : EvCapsLockPressed
ScrollLockOn --> ScrollLockOff : EvCapsLockPressed
}
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('v2 should render a state with states in it', () => {
imgSnapshotTest(
`
stateDiagram-v2
state PilotCockpit {
state Parent {
C
}
}
`,
{
logLevel: 0,
}
);
});
it('v2 Simplest composit state', () => {
imgSnapshotTest(
`
stateDiagram-v2
state Parent {
C
}
`,
{
logLevel: 0,
}
);
});
it('v2 should handle multiple arrows from one node to another', () => {
imgSnapshotTest(
`
stateDiagram-v2
a --> b: Start
a --> b: Stop
`,
{
logLevel: 0,
}
);
});
});

View File

@@ -0,0 +1,348 @@
/* eslint-env jest */
import { imgSnapshotTest } from '../../helpers/util';
describe('State diagram', () => {
it('should render a simple state diagrams', () => {
imgSnapshotTest(
`
stateDiagram
[*] --> State1
State1 --> [*]
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render a long descriptions instead of id when available', () => {
imgSnapshotTest(
`
stateDiagram
[*] --> S1
state "Some long name" as S1
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render a long descriptions with additional descriptions', () => {
imgSnapshotTest(
`
stateDiagram
[*] --> S1
state "Some long name" as S1: The description
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render a single state with short descr', () => {
imgSnapshotTest(
`
stateDiagram
state "A long long name" as long1
state "A" as longlonglongid
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render a transition descrions with new lines', () => {
imgSnapshotTest(
`
stateDiagram
[*] --> S1
S1 --> S2: long line using<br/>should work
S1 --> S3: long line using <br>should work
S1 --> S4: long line using \\nshould work
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render a state with a note', () => {
imgSnapshotTest(
`
stateDiagram
State1: The state with a note
note right of State1
Important information! You can write
notes.
end note
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render a state with on the left side when so specified', () => {
imgSnapshotTest(
`
stateDiagram
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
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render a state with a note together with another state', () => {
imgSnapshotTest(
`
stateDiagram
State1: The state with a note +,-
note right of State1
Important information! You can write +,-
notes.
end note
State1 --> State2 : With +,-
note left of State2 : This is the note +,-<br/>
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render a note with multiple lines in it', () => {
imgSnapshotTest(
`
stateDiagram
State1: The state with a note
note right of State1
Important information! You\ncan write
notes with multiple lines...
Here is another line...
And another line...
end note
`,
{}
);
});
it('should handle multiline notes with different line breaks', () => {
imgSnapshotTest(
`
stateDiagram
State1
note right of State1
Line1<br>Line2<br/>Line3<br />Line4<br />Line5
end note
`,
{}
);
});
it('should render a states with descriptions including multi-line descriptions', () => {
imgSnapshotTest(
`
stateDiagram
State1: This a a single line description
State2: This a a multi line description
State2: here comes the multi part
[*] --> State1
State1 --> State2
State2 --> [*]
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render a simple state diagrams', () => {
imgSnapshotTest(
`
stateDiagram
[*] --> State1
State1 --> State2
State1 --> State3
State1 --> [*]
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render a simple state diagrams with labels', () => {
imgSnapshotTest(
`
stateDiagram
[*] --> State1
State1 --> State2 : Transition 1
State1 --> State3 : Transition 2
State1 --> State4 : Transition 3
State1 --> State5 : Transition 4
State2 --> State3 : Transition 5
State1 --> [*]
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render state descriptions', () => {
imgSnapshotTest(
`
stateDiagram
state "Long state description" as XState1
state "Another Long state description" as XState2
XState2 : New line
XState1 --> XState2
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render composit states', () => {
imgSnapshotTest(
`
stateDiagram
[*] --> NotShooting: Pacifist
NotShooting --> A
NotShooting --> B
NotShooting --> C
state NotShooting {
[*] --> Idle: Yet another long long öong öong öong label
Idle --> Configuring : EvConfig
Configuring --> Idle : EvConfig EvConfig EvConfig EvConfig EvConfig
}
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render multiple composit states', () => {
imgSnapshotTest(
`
stateDiagram
[*]-->TV
state TV {
[*] --> Off: Off to start with
On --> Off : Turn off
Off --> On : Turn on
}
TV--> Console
state Console {
[*] --> Off2: Off to start with
On2--> Off2 : Turn off
Off2 --> On2 : Turn on
On2-->Playing
state Playing {
Alive --> Dead
Dead-->Alive
}
}
`,
{ logLevel: 0 }
);
});
it('should render forks in composit states', () => {
imgSnapshotTest(
`
stateDiagram
[*]-->TV
state TV {
state fork_state &lt;&lt;fork&gt;&gt;
[*] --> fork_state
fork_state --> State2
fork_state --> State3
state join_state &lt;&lt;join&gt;&gt;
State2 --> join_state
State3 --> join_state
join_state --> State4
State4 --> [*]
}
`,
{ logLevel: 0 }
);
});
it('should render forks and joins', () => {
imgSnapshotTest(
`
stateDiagram
state fork_state &lt;&lt;fork&gt;&gt;
[*] --> fork_state
fork_state --> State2
fork_state --> State3
state join_state &lt;&lt;join&gt;&gt;
State2 --> join_state
State3 --> join_state
join_state --> State4
State4 --> [*]
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render conurrency states', () => {
imgSnapshotTest(
`
stateDiagram
[*] --> Active
state Active {
[*] --> NumLockOff
NumLockOff --> NumLockOn : EvNumLockPressed
NumLockOn --> NumLockOff : EvNumLockPressed
--
[*] --> CapsLockOff
CapsLockOff --> CapsLockOn : EvCapsLockPressed
CapsLockOn --> CapsLockOff : EvCapsLockPressed
--
[*] --> ScrollLockOff
ScrollLockOff --> ScrollLockOn : EvCapsLockPressed
ScrollLockOn --> ScrollLockOff : EvCapsLockPressed
}
`,
{ logLevel: 0 }
);
cy.get('svg');
});
it('should render a state with states in it', () => {
imgSnapshotTest(
`
stateDiagram
state PilotCockpit {
state Parent {
C
}
}
`,
{
logLevel: 0,
}
);
});
it('Simplest composit state', () => {
imgSnapshotTest(
`
stateDiagram
state Parent {
C
}
`,
{
logLevel: 0,
}
);
});
it('should handle multiple arrows from one node to another', () => {
imgSnapshotTest(
`
stateDiagram
a --> b: Start
a --> b: Stop
`,
{
logLevel: 0,
}
);
});
});

View File

@@ -0,0 +1,10 @@
import mermaid from '../../dist/mermaid.core'
mermaid.initialize({
theme: 'forest',
gantt: { axisFormatter: [
['%Y-%m-%d', (d) => {
return d.getDay() === 1
}]
] }
})

View File

@@ -0,0 +1,88 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
</head>
<body>
<div id="FirstLine" class="mermaid">
graph TB
Function-->URL
click Function clickByFlow "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid">
graph TB
1Function-->2URL
click 1Function clickByFlow "Add a div"
click 2URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div class="mermaid">
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
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
section Critical tasks
Completed task in the critical line :crit, done, 2014-01-06,24h
Implement parser and jison :crit, done, after des1, 2d
Create tests for parser :crit, active, 3d
Future task in critical line :crit, 5d
Create tests for renderer :2d
Add to mermaid :1d
section Documentation
Describe gantt syntax :active, a1, after des1, 3d
Add gantt diagram to demo page :after a1 , 20h
Add another diagram to demo page :doc1, after a1 , 48h
section Clickable
Visit mermaidjs :active, cl1, 2014-01-07,2014-01-10
Calling a Callback (look at the console log) :cl2, after cl1, 3d
Calling a Callback with args :cl3, after cl1, 3d
click cl1 href "http://localhost:9000/webpackUsage.html"
click cl2 call clickByGantt()
click cl3 call clickByGantt("test1", test2, test3)
section Last section
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
</div>
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div')
div.className = 'created-by-click'
div.style = 'padding: 20px; background: green; color: white;'
div.innerText = 'Clicked By Flow'
document.getElementsByTagName('body')[0].appendChild(div)
}
function clickByGantt(arg1, arg2, arg3) {
const div = document.createElement('div')
div.className = 'created-by-gant-click'
div.style = 'padding: 20px; background: green; color: white;'
div.innerText = 'Clicked By Gant'
if (arg1) div.innerText += ' ' + arg1;
if (arg2) div.innerText += ' ' + arg2;
if (arg3) div.innerText += ' ' + arg3;
document.getElementsByTagName('body')[0].appendChild(div)
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'loose', logLevel: 1 });
</script>
</body>
</html>

View File

@@ -0,0 +1,83 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
</head>
<body>
<div id="FirstLine" class="mermaid">
graph TB
Function-->URL
click Function clickByFlow "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid">
graph TB
1Function-->2URL
click 1Function clickByFlow "Add a div"
click 2URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div class="mermaid">
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
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
section Critical tasks
Completed task in the critical line :crit, done, 2014-01-06,24h
Implement parser and jison :crit, done, after des1, 2d
Create tests for parser :crit, active, 3d
Future task in critical line :crit, 5d
Create tests for renderer :2d
Add to mermaid :1d
section Documentation
Describe gantt syntax :active, a1, after des1, 3d
Add gantt diagram to demo page :after a1 , 20h
Add another diagram to demo page :doc1, after a1 , 48h
section Clickable
Visit mermaidjs :active, cl1, 2014-01-07,2014-01-10
Calling a Callback (look at the console log) :cl2, after cl1, 3d
click cl1 href "http://localhost:9000/webpackUsage.html"
click cl2 call clickByGantt("test", test, test)
section Last section
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
</div>
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div')
div.className = 'created-by-click'
div.style = 'padding: 20px; background: green; color: white;'
div.innerText = 'Clicked By Flow'
document.getElementsByTagName('body')[0].appendChild(div)
}
function clickByGantt(elemName) {
const div = document.createElement('div')
div.className = 'created-by-gant-click'
div.style = 'padding: 20px; background: green; color: white;'
div.innerText = 'Clicked By Gant'
document.getElementsByTagName('body')[0].appendChild(div)
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'strct', logLevel: 1 });
</script>
</body>
</html>

View File

@@ -0,0 +1,88 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
</head>
<body>
<div id="FirstLine" class="mermaid">
graph TB
Function-->URL
click Function clickByFlow "Add a div"
click URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div id="FirstLine" class="mermaid">
graph TB
1Function-->2URL
click 1Function clickByFlow "Add a div"
click 2URL "http://localhost:9000/webpackUsage.html" "Visit <strong>mermaid docs</strong>"
</div>
<div class="mermaid">
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
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
section Critical tasks
Completed task in the critical line :crit, done, 2014-01-06,24h
Implement parser and jison :crit, done, after des1, 2d
Create tests for parser :crit, active, 3d
Future task in critical line :crit, 5d
Create tests for renderer :2d
Add to mermaid :1d
section Documentation
Describe gantt syntax :active, a1, after des1, 3d
Add gantt diagram to demo page :after a1 , 20h
Add another diagram to demo page :doc1, after a1 , 48h
section Clickable
Visit mermaidjs :active, cl1, 2014-01-07,2014-01-10
Calling a Callback (look at the console log) :cl2, after cl1, 3d
Calling a Callback with args :cl3, after cl1, 3d
click cl1 href "http://localhost:9000/webpackUsage.html"
click cl2 call clickByGantt()
click cl3 call clickByGantt("test1", test2, test3)
section Last section
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
</div>
<script src="./mermaid.js"></script>
<script>
function clickByFlow(elemName) {
const div = document.createElement('div')
div.className = 'created-by-click'
div.style = 'padding: 20px; background: green; color: white;'
div.innerText = 'Clicked By Flow'
document.getElementsByTagName('body')[0].appendChild(div)
}
function clickByGantt(arg1, arg2, arg3) {
const div = document.createElement('div')
div.className = 'created-by-gant-click'
div.style = 'padding: 20px; background: green; color: white;'
div.innerText = 'Clicked By Gant'
if (arg1) div.innerText += ' ' + arg1;
if (arg2) div.innerText += ' ' + arg2;
if (arg3) div.innerText += ' ' + arg3;
document.getElementsByTagName('body')[0].appendChild(div)
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'strict', logLevel: 1 });
</script>
</body>
</html>

View File

@@ -0,0 +1,278 @@
<html>
<head>
<link
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
rel="stylesheet"
/>
<link href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap" rel="stylesheet">
<style>
body {
background: rgb(221, 208, 208);
font-family: 'Arial';
}
h1 { color: white;}
.mermaid2 {
display: none;
}
</style>
</head>
<body>
<h1>info below</h1>
<div class="mermaid2" style="width: 100%; height: 20%;">
flowchart LR
a --> b
subgraph b [Test]
c --> d -->e
end
</div>
<div class="mermaid2" style="width: 100%; height: 20%;">
flowchart LR
a --> b
subgraph id1 [Test]
a --apa--> c
b
c-->b
b-->H
end
G-->H
G-->c
</div>
<div class="mermaid" style="width: 50%; height: 20%;">
flowchart LR
A{{A}}-->B{{B}};
click A callback "Tooltip"
click B "http://www.github.com" "This is a link"
</div>
<div class="mermaid" style="width: 50%; height: 20%;">
flowchart LR
A{{A}}-->B{{B}};
</div>
<div class="mermaid2" style="width: 50%; height: 20%;">
stateDiagram-v2
[*]-->TV
state TV {
state fork_state &lt;&lt;fork&gt;&gt;
[*] --> fork_state
fork_state --> State2
fork_state --> State3
state join_state &lt;&lt;join&gt;&gt;
State2 --> join_state
State3 --> join_state
join_state --> State4
State4 --> [*]
}
</div>
<div class="mermaid2 mermaid-apa" style="width: 100%; height: 20%;">
stateDiagram
[*] --> Still
Still --> [*]
</div>
<div class="mermaid2" style="width: 100%; height: 100%;">
stateDiagram-v2
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
</div>
<div class="mermaid2" style="width: 100%; height: 100%;">
stateDiagram-v2
[*] --> First
First --> Third
First --> sec
state First {
[*] --> fir
fir --> [*]
}
state Second {
[*] --> sec
sec --> [*]
}
state Third {
[*] --> thi
thi --> [*]
}
thi --> sec
</div>
<div class="mermaid2" style="width: 100%; height: 100%;">
flowchart TD
subgraph A
a
end
subgraph B
b
end
subgraph C
subgraph D
d
end
end
A -- oAo --o B
A --> C
</div>
<div class="mermaid2" style="width: 100%; height: 100%;">
flowchart TD
subgraph A
a
end
subgraph B
b
end
c-->A
c-->B
</div>
<div class="mermaid2" style="width: 100%; height: 100%;">
stateDiagram-v2
[*] --> First
First --> Second
First --> Third
state First {
[*] --> fir
fir --> [*]
}
state Second {
[*] --> sec
sec --> [*]
}
state Third {
[*] --> thi
thi --> [*]
}
</div>
<div class="mermaid2" style="width: 100%; height: 100%;">
stateDiagram-v2
[*]-->TV
state TV {
[*] --> Off: Off to start with
On --> Off : Turn off
Off --> On : Turn on
}
TV--> Console
state Console {
[*] --> Off2: Off to start with
On2--> Off2 : Turn off
Off2 --> On2 : Turn on
On2-->Playing
state Playing {
Alive --> Dead
Dead-->Alive
}
}
</div>
<div style="display: flex;flex-direction:column;width: 100%; height: 100%">
<div class="mermaid2" style="width: 100%; height: 100%;">
stateDiagram-v2
state apa {
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
}
</div>
<div class="mermaid2" style="width: 100%; height: 100%">
flowchart TB
a --> b
subgraph id1 [Test]
a --apa--> c
b
c-->b
b-->H
end
G-->H
G-->id1
id1 --> I
I --> G
</div>
<div class="mermaid2" style="width: 100%; height: 100%">
flowchart RL
a --> b
subgraph id1 [Test]
a --apa--> c
b
c-->b
b-->H
end
G-->H
G-->id1
id1 --> I
I --> G
</div>
<div class="mermaid2" style="width: 100%; height: 100%">
flowchart RL
subgraph id1 [Test]
a
end
b-->id1
</div>
<div class="mermaid2" style="width: 100%; height: 100%">
flowchart RL
subgraph id1 [Test1]
a
end
subgraph id2 [Test2]
b
end
a --> id2
a --> b
b-->id1
id1 --> id2
</div>
new:
<div class="mermaid2" style="width: 100%; height: 100%">
flowchart LR
a <--> b
b o--o c
c x--x d
a21([In the box]) --> b2
b2((b2)) --o c2
c2(c2) --x d2 --> id1{{This is the text in the box}} --> A[(cylindrical<br />shape<br />test)]
</div>
old:
<div class="mermaid2" style="width: 100%; height: 100%">
graph LR
a((a)) --> b --> id1{{This is the text in the box}}
A[(cylindrical<br />shape<br />test)]
</div>
</div>
<script src="./mermaid.js"></script>
<script>
mermaid.initialize({
// theme: 'dark',
// arrowMarkerAbsolute: true,
// themeCSS: '.edgePath .path {stroke: red;} .arrowheadPath {fill: red;}',
logLevel: 0,
flowchart: { curve: 'linear', "htmlLabels": false },
// gantt: { axisFormat: '%m/%d/%Y' },
sequence: { actorMargin: 50, showSequenceNumbers: true },
// sequenceDiagram: { actorMargin: 300 } // deprecated
fontFamily: '"arial", sans-serif',
curve: 'linear',
securityLevel: 'loose'
});
function callback(){alert('It worked');}
</script>
</body>
</html>

41
cypress/platform/e2e.html Normal file
View File

@@ -0,0 +1,41 @@
<html>
<head>
<script src="/e2e.js"></script>
<link href="https://fonts.googleapis.com/css?family=Mansalva&display=swap" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap" rel="stylesheet">
<style>
body {
/* font-family: 'Mansalva', cursive;*/
font-family: 'Mansalva', cursive;
}
/* .mermaid-main-font {
font-family: "trebuchet ms", verdana, arial;
font-family: var(--mermaid-font-family);
} */
/* :root {
--mermaid-font-family: '"trebuchet ms", verdana, arial';
--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive;
--mermaid-font-family: '"Lucida Console", Monaco, monospace';
} */
svg {
border: 2px solid darkred;
}
</style>
</head>
<body>
<script src="./mermaid.js"></script>
<script>
// Notice startOnLoad=false
// This prevents default handling in mermaid from render before the e2e logic is applied
mermaid.initialize({
startOnLoad: false,
useMaxWidth: true,
// "themeCSS": ":root { --mermaid-font-family: \"trebuchet ms\", verdana, arial;}",
// fontFamily: '\"trebuchet ms\", verdana, arial;'
// fontFamily: '"Comic Sans MS", "Comic Sans", cursive'
// fontFamily: '"Mansalva", cursive',
fontFamily: '"Noto Sans SC", sans-serif'
});
</script>
</body>
</html>

View File

@@ -0,0 +1,46 @@
<html>
<head>
<link
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
rel="stylesheet"
/>
<style>body {
font-family: 'trebuchet ms', verdana, arial;
}</style>
</head>
<body>
<div class="mermaid">
graph TB
subgraph One
a1-->a2-->a3
end
</div>
<div class="mermaid">
graph TB
a_a --> b_b:::apa --> c_c:::apa
classDef apa fill:#f9f,stroke:#333,stroke-width:4px;
class a_a apa;
</div>
<div class="mermaid">
graph TB
a_a(Aftonbladet) --> b_b[gorilla]:::apa --> c_c{chimp}:::apa -->a_a
a_a --> c --> d_d --> c_c
classDef apa fill:#f9f,stroke:#333,stroke-width:4px;
class a_a apa;
click a_a "http://www.aftonbladet.se" "apa"
</div>
<script src="./mermaid.js"></script>
<script>
mermaid.initialize({
theme: 'forest',
// themeCSS: '.node rect { fill: red; }',
logLevel: 3,
flowchart: { curve: 'linear' },
gantt: { axisFormat: '%m/%d/%Y' },
sequence: { actorMargin: 50 },
// sequenceDiagram: { actorMargin: 300 } // deprecated
});
</script>
</script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,26 @@
<html>
<head>
<link
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
rel="stylesheet"
/>
</head>
<body>
<h1>info below</h1>
<div class="mermaid">info</div>
<script src="./mermaid.js"></script>
<script>
mermaid.initialize({
theme: 'forest',
// themeCSS: '.node rect { fill: red; }',
logLevel: 3,
flowchart: { curve: 'linear' },
gantt: { axisFormat: '%m/%d/%Y' },
sequence: { actorMargin: 50 },
// sequenceDiagram: { actorMargin: 300 } // deprecated
});
</script>
</script>
</body>
</html>

View File

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

View File

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

View File

@@ -0,0 +1,41 @@
<html>
<head>
<link
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
rel="stylesheet"
/>
</head>
<body>
<h1>User Journey</h1>
<div class="mermaid">
journey
title Go shopping
section Get to the shops
Get car keys:5: Dad
Get into car:5: Dad, Mum, Child 1, Child 2
Really drive to supermarket:3: Dad
section Do shopping
Do actual shop:3: Mum
Get in the way:2: Dad, Child 1, Child 2
Pay: 2: Dad
section Go home
Lose keys:3: Dad
Get cross:1: Dad, Child 1
Find keys:4: Mum
Get into car:4: Dad, Mum, Child 1, Child 2
Drive home:3: Dad
</div>
<script src="./mermaid.js"></script>
<script>
mermaid.initialize({
theme: 'forest',
logLevel: 3,
journey: { taskMargin: 30 },
});
</script>
</body>
</html>

View File

@@ -0,0 +1,37 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
<style>
body {
font-family: 'trebuchet ms', verdana, arial;
}
</style>
</head>
<body>
<div class="mermaid">
info
</div>
<div class="mermaid">
graph TD
subgraph one
1
end
</div>
<!-- <div class="mermaid">
graph TD
A --> B --> C
</div> -->
<script src="./mermaid.js"></script>
<script>
function showFullFirstSquad(elemName) {
console.log('show ' + elemName);
}
mermaid.initialize({ startOnLoad: true, securityLevel: 'loose', logLevel: 1 });
</script>
</body>
</html>

111
cypress/platform/viewer.js Normal file
View File

@@ -0,0 +1,111 @@
import { Base64 } from 'js-base64';
import mermaid2 from '../../src/mermaid';
/**
* ##contentLoaded
* Callback function that is called when page is loaded. This functions fetches configuration for mermaid rendering and
* calls init for rendering the mermaid diagrams on the page.
*/
const contentLoaded = function() {
let pos = document.location.href.indexOf('?graph=');
if (pos > 0) {
pos = pos + 7;
const graphBase64 = document.location.href.substr(pos);
const graphObj = JSON.parse(Base64.decode(graphBase64));
// const graph = 'hello'
console.log(graphObj);
if (Array.isArray(graphObj.code)) {
const numCodes = graphObj.code.length;
for (let i = 0; i < numCodes; i++) {
const div = document.createElement('div');
div.id = 'block' + i;
div.className = 'mermaid';
div.innerHTML = graphObj.code[i];
document.getElementsByTagName('body')[0].appendChild(div);
}
} else {
const div = document.createElement('div');
div.id = 'block';
div.className = 'mermaid';
div.innerHTML = graphObj.code;
document.getElementsByTagName('body')[0].appendChild(div);
}
global.mermaid.initialize(graphObj.mermaid);
global.mermaid.init();
}
};
const contentLoadedApi = function() {
let pos = document.location.href.indexOf('?graph=');
if (pos > 0) {
pos = pos + 7;
const graphBase64 = document.location.href.substr(pos);
const graphObj = JSON.parse(Base64.decode(graphBase64));
// const graph = 'hello'
if (Array.isArray(graphObj.code)) {
const numCodes = graphObj.code.length;
const divs = [];
let div;
for (let i = 0; i < numCodes; i++) {
div = document.createElement('div');
div.id = 'block' + i;
div.className = 'mermaid';
// div.innerHTML = graphObj.code
document.getElementsByTagName('body')[0].appendChild(div);
divs[i] = div;
}
mermaid2.initialize(graphObj.mermaid);
for (let i = 0; i < numCodes; i++) {
mermaid2.render(
'newid' + i,
graphObj.code[i],
(svgCode, bindFunctions) => {
div.innerHTML = svgCode;
bindFunctions(div);
},
divs[i]
);
}
} else {
const div = document.createElement('div');
div.id = 'block';
div.className = 'mermaid';
// div.innerHTML = graphObj.code
console.warn('graphObj.mermaid', graphObj.mermaid);
document.getElementsByTagName('body')[0].appendChild(div);
mermaid2.initialize(graphObj.mermaid);
mermaid2.render(
'newid',
graphObj.code,
(svgCode, bindFunctions) => {
div.innerHTML = svgCode;
if (bindFunctions) bindFunctions(div);
},
div
);
}
}
};
if (typeof document !== 'undefined') {
/*!
* Wait for document loaded before starting the execution
*/
window.addEventListener(
'load',
function() {
if (this.location.href.match('xss.html')) {
this.console.log('Using api');
contentLoadedApi();
} else {
this.console.log('Not using api');
contentLoaded();
}
},
false
);
}

View File

@@ -0,0 +1,23 @@
<!doctype html>
<html>
<body>
<div class="mermaid">
graph LR
A-->B
</div>
<div class="mermaid">
gantt
title A Gantt Diagram
dateFormat YYYY-MM-DD
section Section
A task :a1, 2014-01-01, 30d
Another task :after a1 , 20d
section Another
Task in sec :2014-01-12 , 12d
another task : 24d
</div>
<script src="./bundle-test.js" charset="utf-8"></script>
</body>
</html>

47
cypress/platform/xss.html Normal file
View File

@@ -0,0 +1,47 @@
<html>
<head>
<script src="/e2e.js"></script>
<link
href="https://fonts.googleapis.com/css?family=Montserrat&display=swap"
rel="stylesheet"
/>
<style>
.malware {
position: fixed;
bottom:0;
left:0;
right:0;
height: 150px;
background: red;
color: black;
display: flex;
display: flex;
justify-content: center;
align-items: center;
font-family: monospace;
font-size: 72px;
}
</style>
<script>
function xssAttack(){
const div = document.createElement('div')
div.id = 'the-malware'
div.className = 'malware'
div.innerHTML = 'XSS Succeeded'
document.getElementsByTagName('body')[0].appendChild(div);
// const el = document.querySelector('.mermaid');
// el.parentNode.removeChild(el);
throw new Error('XSS Succeded');
}
</script>
</head>
<body>
<script src="./mermaid.js"></script>
<script>
mermaid.initialize({
startOnLoad: false,
useMaxWidth: true,
});
</script>
</body>
</html>

BIN
cypress/platform/xss.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

25
cypress/plugins/index.js Normal file
View File

@@ -0,0 +1,25 @@
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************
// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)
// module.exports = (on, config) => {
// // `on` is used to hook into various events Cypress emits
// // `config` is the resolved Cypress config
// }
let percyHealthCheck = require("@percy/cypress/task");
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
on("task", percyHealthCheck);
};

View File

@@ -0,0 +1,27 @@
// ***********************************************
// This example commands.js shows you how to
// create various custom commands and overwrite
// existing commands.
//
// For more comprehensive examples of custom
// commands please read more here:
// https://on.cypress.io/custom-commands
// ***********************************************
//
//
// -- This is a parent command --
// Cypress.Commands.add("login", (email, password) => { ... })
//
//
// -- This is a child command --
// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... })
//
//
// -- This is a dual command --
// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... })
//
//
// -- This is will overwrite an existing command --
// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })
import '@percy/cypress'

20
cypress/support/index.js Normal file
View File

@@ -0,0 +1,20 @@
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import commands.js using ES2015 syntax:
import './commands'
// Alternatively you can use CommonJS syntax:
// require('./commands')

721
dist/index.html vendored Normal file
View File

@@ -0,0 +1,721 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
<style>
div.mermaid {
/* font-family: 'trebuchet ms', verdana, arial; */
font-family: 'Courier New', Courier, monospace !important;
}
</style>
</head>
<body>
<div class="mermaid">
info
</div>
<hr/>
<div class="mermaid">
gantt
title Exclusive end dates (Manual date should end on 3d)
dateFormat YYYY-MM-DD
axisFormat %d
section Section1
2 Days: 1, 2019-01-01,2d
Manual Date: 2, 2019-01-01,2019-01-03
</div>
<div class="mermaid">
gantt
title Inclusive end dates (Manual date should end on 4th)
dateFormat YYYY-MM-DD
axisFormat %d
inclusiveEndDates
section Section1
2 Days: 1, 2019-01-01,2d
Manual Date: 2, 2019-01-01,2019-01-03
</div>
<div class="mermaid">
gantt
title Hide today marker (vertical line should not be visible)
dateFormat YYYY-MM-DD
axisFormat %d
todayMarker off
section Section1
Today: 1, -1h
</div>
<div class="mermaid">
gantt
title Style today marker (vertical line should be 5px wide and half-transparent blue)
dateFormat YYYY-MM-DD
axisFormat %d
todayMarker stroke-width:5px,stroke:#00f,opacity:0.5
section Section1
Today: 1, -1h
</div>
<hr/>
<div class="mermaid">
graph LR
sid-B3655226-6C29-4D00-B685-3D5C734DC7E1["
提交申请
熊大
"];
class sid-B3655226-6C29-4D00-B685-3D5C734DC7E1 node-executed;
sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A["
负责人审批
强子
"];
class sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A node-executed;
sid-E27C0367-E6D6-497F-9736-3CDC21FDE221["
DBA审批
强子
"];
class sid-E27C0367-E6D6-497F-9736-3CDC21FDE221 node-executed;
sid-BED98281-9585-4D1B-934E-BD1AC6AC0EFD["
SA审批
阿美
"];
class sid-BED98281-9585-4D1B-934E-BD1AC6AC0EFD node-executed;
sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7["
主管审批
光头强
"];
class sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7 node-executed;
sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89["
DBA确认
强子
"];
class sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89 node-executed;
sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937["
SA确认
阿美
"];
class sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937 node-executed;
sid-4FC27B48-A6F9-460A-A675-021F5854FE22["
结束
"];
class sid-4FC27B48-A6F9-460A-A675-021F5854FE22 node-executed;
sid-19DD9E9F-98C1-44EE-B604-842AFEE76F1E["
SA执行1
强子
"];
class sid-19DD9E9F-98C1-44EE-B604-842AFEE76F1E node-executed;
sid-6C2120F3-D940-4958-A067-0903DCE879C4["
SA执行2
强子
"];
class sid-6C2120F3-D940-4958-A067-0903DCE879C4 node-executed;
sid-9180E2A0-5C4B-435F-B42F-0D152470A338["
DBA执行1
强子
"];
class sid-9180E2A0-5C4B-435F-B42F-0D152470A338 node-executed;
sid-03A2C3AC-5337-48A5-B154-BB3FD0EC8DAD["
DBA执行3
强子
"];
class sid-03A2C3AC-5337-48A5-B154-BB3FD0EC8DAD node-executed;
sid-D5E1F2F4-306C-47A2-BF74-F66E3D769756["
DBA执行2
强子
"];
class sid-D5E1F2F4-306C-47A2-BF74-F66E3D769756 node-executed;
sid-8C3F2F1D-F014-4F99-B966-095DC1A2BD93["
DBA执行4
强子
"];
class sid-8C3F2F1D-F014-4F99-B966-095DC1A2BD93 node-executed;
sid-1897B30A-9C5C-4D5B-B80B-76A038785070["
负责人确认
梁静茹
"];
class sid-1897B30A-9C5C-4D5B-B80B-76A038785070 node-executed;
sid-B3655226-6C29-4D00-B685-3D5C734DC7E1-->sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7;
sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A-->sid-1897B30A-9C5C-4D5B-B80B-76A038785070;
sid-E27C0367-E6D6-497F-9736-3CDC21FDE221-->sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89;
sid-BED98281-9585-4D1B-934E-BD1AC6AC0EFD-->sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937;
sid-19DD9E9F-98C1-44EE-B604-842AFEE76F1E-->sid-6C2120F3-D940-4958-A067-0903DCE879C4;
sid-9180E2A0-5C4B-435F-B42F-0D152470A338-->sid-D5E1F2F4-306C-47A2-BF74-F66E3D769756;
sid-03A2C3AC-5337-48A5-B154-BB3FD0EC8DAD-->sid-8C3F2F1D-F014-4F99-B966-095DC1A2BD93;
sid-6C2120F3-D940-4958-A067-0903DCE879C4-->sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A;
sid-1897B30A-9C5C-4D5B-B80B-76A038785070-->sid-4FC27B48-A6F9-460A-A675-021F5854FE22;
sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937-->sid-19DD9E9F-98C1-44EE-B604-842AFEE76F1E;
sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89-->sid-9180E2A0-5C4B-435F-B42F-0D152470A338;
sid-A1B3CD96-7697-4D7C-BEAA-73D187B1BE89-->sid-03A2C3AC-5337-48A5-B154-BB3FD0EC8DAD;
sid-D5E1F2F4-306C-47A2-BF74-F66E3D769756-->sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A;
sid-8C3F2F1D-F014-4F99-B966-095DC1A2BD93-->sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A;
sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7-->sid-BED98281-9585-4D1B-934E-BD1AC6AC0EFD;
sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7-->sid-E27C0367-E6D6-497F-9736-3CDC21FDE221;
sid-3E35A7FF-A2F4-4E07-9247-DBF884C81937-->sid-6C2120F3-D940-4958-A067-0903DCE879C4;
sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7-->sid-4DA958A0-26D9-4D47-93A7-70F39FD7D51A;
sid-7CE72B24-E0C1-46D3-8132-8BA66BE05AA7-->sid-4FC27B48-A6F9-460A-A675-021F5854FE22;
</div>
<div class="mermaid">
graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me thinksssssx<br/>sssssssssssssssssssuuu<br />tttsssssssssssssssssssssss}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[Car]
</div>
<div class="mermaid">
graph TD
A[/Christmas\]
A -->|Get money| B[\Go shopping/]
B --> C{Let me thinksssss<br/>ssssssssssssssssssssss<br/>sssssssssssssssssssssssssss}
C -->|One| D[/Laptop/]
C -->|Two| E[\iPhone\]
C -->|Three| F[Car]
</div>
<div class="mermaid">
graph LR
47(SAM.CommonFA.FMESummary)-->48(SAM.CommonFA.CommonFAFinanceBudget)
37(SAM.CommonFA.BudgetSubserviceLineVolume)-->48(SAM.CommonFA.CommonFAFinanceBudget)
35(SAM.CommonFA.PopulationFME)-->47(SAM.CommonFA.FMESummary)
41(SAM.CommonFA.MetricCost)-->47(SAM.CommonFA.FMESummary)
44(SAM.CommonFA.MetricOutliers)-->47(SAM.CommonFA.FMESummary)
46(SAM.CommonFA.MetricOpportunity)-->47(SAM.CommonFA.FMESummary)
40(SAM.CommonFA.OPVisits)-->47(SAM.CommonFA.FMESummary)
38(SAM.CommonFA.CommonFAFinanceRefund)-->47(SAM.CommonFA.FMESummary)
43(SAM.CommonFA.CommonFAFinancePicuDays)-->47(SAM.CommonFA.FMESummary)
42(SAM.CommonFA.CommonFAFinanceNurseryDays)-->47(SAM.CommonFA.FMESummary)
45(SAM.CommonFA.MetricPreOpportunity)-->46(SAM.CommonFA.MetricOpportunity)
35(SAM.CommonFA.PopulationFME)-->45(SAM.CommonFA.MetricPreOpportunity)
41(SAM.CommonFA.MetricCost)-->45(SAM.CommonFA.MetricPreOpportunity)
41(SAM.CommonFA.MetricCost)-->44(SAM.CommonFA.MetricOutliers)
39(SAM.CommonFA.ChargeDetails)-->43(SAM.CommonFA.CommonFAFinancePicuDays)
39(SAM.CommonFA.ChargeDetails)-->42(SAM.CommonFA.CommonFAFinanceNurseryDays)
39(SAM.CommonFA.ChargeDetails)-->41(SAM.CommonFA.MetricCost)
39(SAM.CommonFA.ChargeDetails)-->40(SAM.CommonFA.OPVisits)
35(SAM.CommonFA.PopulationFME)-->39(SAM.CommonFA.ChargeDetails)
36(SAM.CommonFA.PremetricCost)-->39(SAM.CommonFA.ChargeDetails)
</div>
<div class="mermaid">
graph TD
9e122290_1ec3_e711_8c5a_005056ad0002("fa:fa-creative-commons My System | Test Environment")
82072290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Shared Business Logic Server:Service 1")
db052290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Shared Business Logic Server:Service 2")
4e112290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Shared Report Server:Service 1")
30122290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Shared Report Server:Service 2")
5e112290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Dedicated Test Business Logic Server:Service 1")
c1112290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs Dedicated Test Business Logic Server:Service 2")
b7042290_1ec3_e711_8c5a_005056ad0002("fa:fa-circle [DBServer\SharedDbInstance].[SupportDb]")
8f102290_1ec3_e711_8c5a_005056ad0002("fa:fa-circle [DBServer\SharedDbInstance].[DevelopmentDb]")
0e102290_1ec3_e711_8c5a_005056ad0002("fa:fa-circle [DBServer\SharedDbInstance].[TestDb]")
07132290_1ec3_e711_8c5a_005056ad0002("fa:fa-circle [DBServer\SharedDbInstance].[SharedReportingDb]")
c7072290_1ec3_e711_8c5a_005056ad0002("fa:fa-server Shared Business Logic Server")
ca122290_1ec3_e711_8c5a_005056ad0002("fa:fa-server Shared Report Server")
68102290_1ec3_e711_8c5a_005056ad0002("fa:fa-server Dedicated Test Business Logic Server")
f4112290_1ec3_e711_8c5a_005056ad0002("fa:fa-database [DBServer\SharedDbInstance]")
d6072290_1ec3_e711_8c5a_005056ad0002("fa:fa-server DBServer")
71082290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs DBServer\:MSSQLSERVER")
c0102290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs DBServer\:SQLAgent")
9a072290_1ec3_e711_8c5a_005056ad0002("fa:fa-cogs DBServer\:SQLBrowser")
1d0a2290_1ec3_e711_8c5a_005056ad0002("fa:fa-server VmHost1")
200a2290_1ec3_e711_8c5a_005056ad0002("fa:fa-server VmHost2")
1c0a2290_1ec3_e711_8c5a_005056ad0002("fa:fa-server VmHost3")
9e122290_1ec3_e711_8c5a_005056ad0002-->82072290_1ec3_e711_8c5a_005056ad0002
9e122290_1ec3_e711_8c5a_005056ad0002-->db052290_1ec3_e711_8c5a_005056ad0002
9e122290_1ec3_e711_8c5a_005056ad0002-->4e112290_1ec3_e711_8c5a_005056ad0002
9e122290_1ec3_e711_8c5a_005056ad0002-->30122290_1ec3_e711_8c5a_005056ad0002
9e122290_1ec3_e711_8c5a_005056ad0002-->5e112290_1ec3_e711_8c5a_005056ad0002
9e122290_1ec3_e711_8c5a_005056ad0002-->c1112290_1ec3_e711_8c5a_005056ad0002
82072290_1ec3_e711_8c5a_005056ad0002-->b7042290_1ec3_e711_8c5a_005056ad0002
82072290_1ec3_e711_8c5a_005056ad0002-->8f102290_1ec3_e711_8c5a_005056ad0002
82072290_1ec3_e711_8c5a_005056ad0002-->0e102290_1ec3_e711_8c5a_005056ad0002
82072290_1ec3_e711_8c5a_005056ad0002-->c7072290_1ec3_e711_8c5a_005056ad0002
db052290_1ec3_e711_8c5a_005056ad0002-->c7072290_1ec3_e711_8c5a_005056ad0002
db052290_1ec3_e711_8c5a_005056ad0002-->82072290_1ec3_e711_8c5a_005056ad0002
4e112290_1ec3_e711_8c5a_005056ad0002-->b7042290_1ec3_e711_8c5a_005056ad0002
4e112290_1ec3_e711_8c5a_005056ad0002-->8f102290_1ec3_e711_8c5a_005056ad0002
4e112290_1ec3_e711_8c5a_005056ad0002-->0e102290_1ec3_e711_8c5a_005056ad0002
4e112290_1ec3_e711_8c5a_005056ad0002-->07132290_1ec3_e711_8c5a_005056ad0002
4e112290_1ec3_e711_8c5a_005056ad0002-->ca122290_1ec3_e711_8c5a_005056ad0002
30122290_1ec3_e711_8c5a_005056ad0002-->ca122290_1ec3_e711_8c5a_005056ad0002
30122290_1ec3_e711_8c5a_005056ad0002-->4e112290_1ec3_e711_8c5a_005056ad0002
5e112290_1ec3_e711_8c5a_005056ad0002-->8f102290_1ec3_e711_8c5a_005056ad0002
5e112290_1ec3_e711_8c5a_005056ad0002-->68102290_1ec3_e711_8c5a_005056ad0002
c1112290_1ec3_e711_8c5a_005056ad0002-->68102290_1ec3_e711_8c5a_005056ad0002
c1112290_1ec3_e711_8c5a_005056ad0002-->5e112290_1ec3_e711_8c5a_005056ad0002
b7042290_1ec3_e711_8c5a_005056ad0002-->f4112290_1ec3_e711_8c5a_005056ad0002
8f102290_1ec3_e711_8c5a_005056ad0002-->f4112290_1ec3_e711_8c5a_005056ad0002
0e102290_1ec3_e711_8c5a_005056ad0002-->f4112290_1ec3_e711_8c5a_005056ad0002
07132290_1ec3_e711_8c5a_005056ad0002-->f4112290_1ec3_e711_8c5a_005056ad0002
c7072290_1ec3_e711_8c5a_005056ad0002-->1d0a2290_1ec3_e711_8c5a_005056ad0002
ca122290_1ec3_e711_8c5a_005056ad0002-->200a2290_1ec3_e711_8c5a_005056ad0002
68102290_1ec3_e711_8c5a_005056ad0002-->1c0a2290_1ec3_e711_8c5a_005056ad0002
f4112290_1ec3_e711_8c5a_005056ad0002-->d6072290_1ec3_e711_8c5a_005056ad0002
f4112290_1ec3_e711_8c5a_005056ad0002-->71082290_1ec3_e711_8c5a_005056ad0002
f4112290_1ec3_e711_8c5a_005056ad0002-->c0102290_1ec3_e711_8c5a_005056ad0002
f4112290_1ec3_e711_8c5a_005056ad0002-->9a072290_1ec3_e711_8c5a_005056ad0002
d6072290_1ec3_e711_8c5a_005056ad0002-->1c0a2290_1ec3_e711_8c5a_005056ad0002
71082290_1ec3_e711_8c5a_005056ad0002-->d6072290_1ec3_e711_8c5a_005056ad0002
c0102290_1ec3_e711_8c5a_005056ad0002-->d6072290_1ec3_e711_8c5a_005056ad0002
c0102290_1ec3_e711_8c5a_005056ad0002-->71082290_1ec3_e711_8c5a_005056ad0002
9a072290_1ec3_e711_8c5a_005056ad0002-->d6072290_1ec3_e711_8c5a_005056ad0002
9a072290_1ec3_e711_8c5a_005056ad0002-->71082290_1ec3_e711_8c5a_005056ad0002
</div>
<div class="mermaid">
graph TB
subgraph One
a1-->a2
end
</div>
<div class="mermaid">
graph TB
A
B
subgraph foo[Foo SubGraph]
C
D
end
subgraph bar[Bar SubGraph]
E
F
end
G
A-->B
B-->C
C-->D
B-->D
D-->E
E-->A
E-->F
F-->D
F-->G
B-->G
G-->D
style foo fill:#F99,stroke-width:2px,stroke:#F0F
style bar fill:#999,stroke-width:10px,stroke:#0F0
</div>
<div class="mermaid">
graph LR
456ac9b0d15a8b7f1e71073221059886[1051 AAA fa:fa-check]
f7f580e11d00a75814d2ded41fe8e8fe[1141 BBB fa:fa-check]
81dc9bdb52d04dc20036dbd8313ed055[1234 CCC fa:fa-check]
456ac9b0d15a8b7f1e71073221059886 -->|Node| f7f580e11d00a75814d2ded41fe8e8fe
f7f580e11d00a75814d2ded41fe8e8fe -->|Node| 81dc9bdb52d04dc20036dbd8313ed055
click 456ac9b0d15a8b7f1e71073221059886 "/admin/user/view?id=1051" "AAA
6000"
click f7f580e11d00a75814d2ded41fe8e8fe "/admin/user/view?id=1141" "BBB
600"
click 81dc9bdb52d04dc20036dbd8313ed055 "/admin/user/view?id=1234" "CCC
3000"
style 456ac9b0d15a8b7f1e71073221059886 fill:#f9f,stroke:#333,stroke-width:4px
</div>
<div class="mermaid">
graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{{Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?}}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[Car]
click A "index.html#link-clicked" "link test"
click B testClick "click test"
classDef someclass fill:#f96;
class A someclass;
class C someclass;
</div>
<div class="mermaid">
graph TD
A([stadium shape test])
A -->|Get money| B([Go shopping])
B --> C([Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?])
C -->|One| D([Laptop])
C -->|Two| E([iPhone])
C -->|Three| F([Car<br/>wroom wroom])
click A "index.html#link-clicked" "link test"
click B testClick "click test"
classDef someclass fill:#f96;
class A someclass;
class C someclass;
</div>
<div class="mermaid">
graph LR
A[[subroutine shape test]]
A -->|Get money| B[[Go shopping]]
B --> C[[Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?]]
C -->|One| D[[Laptop]]
C -->|Two| E[[iPhone]]
C -->|Three| F[[Car<br/>wroom wroom]]
click A "index.html#link-clicked" "link test"
click B testClick "click test"
classDef someclass fill:#f96;
class A someclass;
class C someclass;
</div>
<div class="mermaid">
graph LR
A[(cylindrical<br />shape<br />test)]
A -->|Get money| B1[(Go shopping 1)]
A -->|Get money| B2[(Go shopping 2)]
A -->|Get money| B3[(Go shopping 3)]
C[(Let me think...<br />Do I want something for work,<br />something to spend every free second with,<br />or something to get around?)]
B1 --> C
B2 --> C
B3 --> C
C -->|One| D[(Laptop)]
C -->|Two| E[(iPhone)]
C -->|Three| F[(Car)]
click A "index.html#link-clicked" "link test"
click B testClick "click test"
classDef someclass fill:#f96;
class A someclass;
</div>
<div class="mermaid">
graph LR
A1[Multi<br>Line] -->|Multi<br>Line| B1(Multi<br>Line)
C1[Multi<br/>Line] -->|Multi<br/>Line| D1(Multi<br/>Line)
E1[Multi<br />Line] -->|Multi<br />Line| F1(Multi<br />Line)
A2[Multi<br>Line] -->|Multi<br>Line| B2(Multi<br>Line)
C2[Multi<br/>Line] -->|Multi<br/>Line| D2(Multi<br/>Line)
E2[Multi<br />Line] -->|Multi<br />Line| F2(Multi<br />Line)
linkStyle 0 stroke:DarkGray,stroke-width:2px
linkStyle 1 stroke:DarkGray,stroke-width:2px
linkStyle 2 stroke:DarkGray,stroke-width:2px
</div>
<div class="mermaid">
graph LR
A(( )) -->|step 1| B(( ))
B(( )) -->|step 2| C(( ))
C(( )) -->|step 3| D(( ))
linkStyle 1 stroke:greenyellow,stroke-width:2px
style C fill:greenyellow,stroke:green,stroke-width:4px
</div>
<div class="mermaid">
graph TB
TITLE["Link Click Events<br>(click the nodes below)"]
A[link test]
B[anchor test]
C[mailto test]
D[other protocol test]
E[script test]
TITLE --> A & B & C & D & E
click A "https://mermaid-js.github.io/mermaid/#/" "link test"
click B "#link-clicked" "anchor test"
click C "mailto:user@user.user" "mailto test"
click D "notes://do-your-thing/id" "other protocol test"
click E "javascript:alert('test')" "script test"
</div>
<hr/>
<div class="mermaid">
graph LR
A[red<br>text] -->|red<br>text| B(blue<br>text)
C[/red<br/>text/] -->|blue<br/>text| D{blue<br/>text}
E{{default<br />style}} -->|default<br />style| F([default<br />style])
linkStyle default color:Sienna;
linkStyle 0 color:red;
linkStyle 1 stroke:DarkGray,stroke-width:2px,color:#0000ff
style A color:red;
style B color:blue;
style C stroke:#ff0000,fill:#ffcccc,color:#ff0000
style D stroke:#0000ff,fill:#ccccff,color:#0000ff
click B "index.html#link-clicked" "link test"
click D testClick "click test"
</div>
<div class="mermaid">
graph TD
A[myClass1] --> B[default] & C[default]
B[default] & C[default] --> D[myClass2]
classDef default stroke-width:2px,fill:none,stroke:silver
classDef node color:red
classDef myClass1 color:#0000ff
classDef myClass2 stroke:#0000ff,fill:#ccccff
class A myClass1
class D myClass2
</div>
<hr/>
<div class="mermaid">
sequenceDiagram
participant Alice
participant Bob
participant John as John<br/>Second Line
rect rgb(200, 220, 100)
rect rgb(200, 255, 200)
Alice ->> Bob: Hello Bob, how are you?
Bob-->>John: How about you John?
end
Bob--x Alice: I am good thanks!
Bob-x John: I am good thanks!
Note right of John: Bob thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row.
Bob-->Alice: Checking with John...
end
alt either this
Alice->>John: Yes
else or this
Alice->>John: No
else or this will happen
Alice->John: Maybe
end
par this happens in parallel
Alice -->> Bob: Parallel message 1
and
Alice -->> John: Parallel message 2
end
</div>
<div class="mermaid">
sequenceDiagram
participant 1 as multiline<br>using #lt;br#gt;
participant 2 as multiline<br/>using #lt;br/#gt;
participant 3 as multiline<br />using #lt;br /#gt;
participant 4 as multiline<br />using #lt;br /#gt;
1->>2: multiline<br>using #lt;br#gt;
note right of 2: multiline<br>using #lt;br#gt;
2->>3: multiline<br/>using #lt;br/#gt;
note right of 3: multiline<br/>using #lt;br/#gt;
3->>4: multiline<br />using #lt;br /#gt;
note right of 4: multiline<br />using #lt;br /#gt;
4->>1: multiline<br />using #lt;br /#gt;
note right of 1: multiline<br />using #lt;br /#gt;
</div>
<div class="mermaid">
sequenceDiagram
autonumber
Alice->>John: Hello John,<br>how are you?
Alice->>John: John,<br/>can you hear me?
John-->>Alice: Hi Alice,<br />I can hear you!
John-->>Alice: I feel great!
</div>
<hr/>
<div class="mermaid">
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
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
section Critical tasks
Completed task in the critical line :crit, done, 2014-01-06,24h
Implement parser and jison :crit, done, after des1, 2d
Create tests for parser :crit, active, 3d
Future task in critical line :crit, 5d
Create tests for renderer :2d
Add to mermaid :1d
section Documentation
Describe gantt syntax :active, a1, after des1, 3d
Add gantt diagram to demo page :after a1 , 20h
Add another diagram to demo page :doc1, after a1 , 48h
section Clickable
Visit mermaidjs :active, cl1, 2014-01-07,2014-01-10
Calling a Callback (look at the console log) :cl2, after cl1, 3d
click cl1 href "https://mermaidjs.github.io/"
click cl2 call ganttTestClick("test", test, test)
section Last section
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
</div>
<div class="mermaid">
gantt
dateFormat YYYY-MM-DD
axisFormat %d/%m
title GANTT diagram with multiline section titles
excludes weekdays 2014-01-10
section A section<br>multiline
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
section Critical tasks<br/>multiline
Completed task in the critical line : crit, done, 2014-01-06, 24h
Implement parser and jison : crit, done, after des1, 2d
Create tests for parser : crit, active, 3d
Future task in critical line : crit, 5d
Create tests for renderer : 2d
Add to mermaid : 1d
section Documentation<br />multiline
Describe gantt syntax : active, a1, after des1, 3d
Add gantt diagram to demo page : after a1, 20h
Add another diagram to demo page : doc1, after a1, 48h
section Last section<br />multiline
Describe gantt syntax : after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
</div>
<hr/>
<div class="mermaid">
gitGraph:
options
{
"nodeSpacing": 150,
"nodeRadius": 10
}
end
commit
branch newbranch
checkout newbranch
commit
commit
checkout master
commit
commit
merge newbranch
</div>
<hr/>
<div class="mermaid">
classDiagram
Class01 <|-- AveryLongClass : Cool
&lt;&lt;interface&gt;&gt; Class01
Class03 "0" *-- "0..n" Class04
Class05 "1" o-- "many" Class06
Class07 .. Class08
Class09 "many" --> "1" C2 : Where am i?
Class09 "0" --* "1..n" C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : #size()
Class01 : -int chimp
Class01 : +int gorilla
Class08 <--> C2: Cool label
class Class10 {
&lt;&lt;service&gt;&gt;
int id
size()
}
</div>
<div class="mermaid">
classDiagram
class Class01~T~
Class01 : #size()
Class01 : -int chimp
Class01 : +int gorilla
class Class10~T~ {
&lt;&lt;service&gt;&gt;
int id
size()
}
</div>
<div class="mermaid">
classDiagram
Class01~T~ <|-- AveryLongClass : Cool
&lt;&lt;interface&gt;&gt; Class01
Class03~T~ "0" *-- "0..n" Class04
Class05 "1" o-- "many" Class06
Class07~T~ .. Class08
Class09 "many" --> "1" C2 : Where am i?
Class09 "0" --* "1..n" C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : #size()
Class01 : -int chimp
Class01 : +int gorilla
Class08 <--> C2: Cool label
class Class10 {
&lt;&lt;service&gt;&gt;
int id
size()
}
</div>
<div class="mermaid">
stateDiagram
State1
</div>
<hr>
<div class="mermaid">
stateDiagram
[*] --> First
state First {
[*] --> second
second --> [*]
}
</div>
<div class="mermaid">
stateDiagram
State1: The state with a note
note right of State1
Important information! You can write
notes.
end note
State1 --> State2
note left of State2 : This is the note to the left.
</div>
<div class="mermaid">
stateDiagram
State1
note right of State1
Line1<br>Line2<br/>Line3<br />Line4<br />Line5
end note
</div>
<h1 id="link-clicked">Anchor for "link-clicked" test</h1>
<script src="./mermaid.js"></script>
<script>
mermaid.initialize({
theme: 'forest',
// themeCSS: '.node rect { fill: red; }',
logLevel: 3,
securityLevel: 'loose',
flowchart: { curve: 'basis' },
gantt: { axisFormat: '%m/%d/%Y' },
sequence: { actorMargin: 50 },
// sequenceDiagram: { actorMargin: 300 } // deprecated
});
</script>
<script>
function ganttTestClick(a, b, c){
console.log("a:", a)
console.log("b:", b)
console.log("c:", c)
}
function testClick(nodeId) {
console.log("clicked", nodeId)
var originalBgColor = document.querySelector('body').style.backgroundColor
document.querySelector('body').style.backgroundColor = 'yellow'
setTimeout(function() {
document.querySelector('body').style.backgroundColor = originalBgColor
}, 100)
}
</script>
<script>
const testLineEndings = (test, input) => {
try {
mermaid.render(test, input, () => {});
} catch (err) {
console.error("Error in %s:\n\n%s", test, err);
}
};
testLineEndings("CR", "graph LR\rsubgraph CR\rA --> B\rend");
testLineEndings("LF", "graph LR\nsubgraph LF\nA --> B\nend");
testLineEndings("CRLF", "graph LR\r\nsubgraph CRLF\r\nA --> B\r\nend");
</script>
</body>
</html>

41
dist/info.html vendored Normal file
View File

@@ -0,0 +1,41 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Mermaid Quick Test Page</title>
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
</head>
<body>
<div class="mermaid">info
showInfo
</div>
<script src="./mermaid.js"></script>
<script>
mermaid.initialize({
theme: 'forest',
// themeCSS: '.node rect { fill: red; }',
logLevel: 1,
flowchart: { curve: 'linear' },
gantt: { axisFormat: '%m/%d/%Y' },
sequence: { actorMargin: 50 },
// sequenceDiagram: { actorMargin: 300 } // deprecated
});
</script>
<script>
function ganttTestClick(a, b, c){
console.log("a:", a)
console.log("b:", b)
console.log("c:", c)
}
function testClick(nodeId) {
console.log("clicked", nodeId)
var originalBgColor = document.querySelector('body').style.backgroundColor
document.querySelector('body').style.backgroundColor = 'yellow'
setTimeout(function() {
document.querySelector('body').style.backgroundColor = originalBgColor
}, 100)
}
</script>
</body>
</html>

269
dist/mermaid.css vendored
View File

@@ -1,269 +0,0 @@
/* Flowchart variables */
/* Sequence Diagram variables */
/* Gantt chart variables */
.mermaid .label {
color: #333333;
}
.node rect,
.node circle,
.node polygon {
fill: #ececff;
stroke: #ccccff;
stroke-width: 1px;
}
.edgePath .path {
stroke: #333333;
}
.cluster rect {
fill: #ffffde !important;
rx: 4 !important;
stroke: #aaaa33 !important;
stroke-width: 1px !important;
}
.cluster text {
fill: #333333;
}
.actor {
stroke: #ccccff;
fill: #ececff;
}
text.actor {
fill: black;
stroke: none;
}
.actor-line {
stroke: grey;
}
.messageLine0 {
stroke-width: 1.5;
stroke-dasharray: "2 2";
marker-end: "url(#arrowhead)";
stroke: #333333;
}
.messageLine1 {
stroke-width: 1.5;
stroke-dasharray: "2 2";
stroke: #333333;
}
#arrowhead {
fill: #333333;
}
#crosshead path {
fill: #333333 !important;
stroke: #333333 !important;
}
.messageText {
fill: #333333;
stroke: none;
}
.labelBox {
stroke: #ccccff;
fill: #ececff;
}
.labelText {
fill: black;
stroke: none;
}
.loopText {
fill: black;
stroke: none;
}
.loopLine {
stroke-width: 2;
stroke-dasharray: "2 2";
marker-end: "url(#arrowhead)";
stroke: #ccccff;
}
.note {
stroke: #aaaa33;
fill: #fff5ad;
}
.noteText {
fill: black;
stroke: none;
font-family: 'trebuchet ms', verdana, arial;
font-size: 14px;
}
/** Section styling */
.section {
stroke: none;
opacity: 0.2;
}
.section0 {
fill: rgba(102, 102, 255, 0.49);
}
.section2 {
fill: #fff400;
}
.section1,
.section3 {
fill: white;
opacity: 0.2;
}
.sectionTitle0 {
fill: #333333;
}
.sectionTitle1 {
fill: #333333;
}
.sectionTitle2 {
fill: #333333;
}
.sectionTitle3 {
fill: #333333;
}
.sectionTitle {
text-anchor: start;
font-size: 11px;
text-height: 14px;
}
/* Grid and axis */
.grid .tick {
stroke: lightgrey;
opacity: 0.3;
shape-rendering: crispEdges;
}
.grid path {
stroke-width: 0;
}
/* Today line */
.today {
fill: none;
stroke: red;
stroke-width: 2px;
}
/* Task styling */
/* Default task */
.task {
stroke-width: 2;
}
.taskText {
text-anchor: middle;
font-size: 11px;
}
.taskTextOutsideRight {
fill: black;
text-anchor: start;
font-size: 11px;
}
.taskTextOutsideLeft {
fill: black;
text-anchor: end;
font-size: 11px;
}
/* Specific task settings for the sections*/
.taskText0,
.taskText1,
.taskText2,
.taskText3 {
fill: white;
}
.task0,
.task1,
.task2,
.task3 {
fill: #8a90dd;
stroke: #534fbc;
}
.taskTextOutside0,
.taskTextOutside2 {
fill: black;
}
.taskTextOutside1,
.taskTextOutside3 {
fill: black;
}
/* Active task */
.active0,
.active1,
.active2,
.active3 {
fill: #bfc7ff;
stroke: #534fbc;
}
.activeText0,
.activeText1,
.activeText2,
.activeText3 {
fill: black !important;
}
/* Completed task */
.done0,
.done1,
.done2,
.done3 {
stroke: grey;
fill: lightgrey;
stroke-width: 2;
}
.doneText0,
.doneText1,
.doneText2,
.doneText3 {
fill: black !important;
}
/* Tasks on the critical line */
.crit0,
.crit1,
.crit2,
.crit3 {
stroke: #ff8888;
fill: red;
stroke-width: 2;
}
.activeCrit0,
.activeCrit1,
.activeCrit2,
.activeCrit3 {
stroke: #ff8888;
fill: #bfc7ff;
stroke-width: 2;
}
.doneCrit0,
.doneCrit1,
.doneCrit2,
.doneCrit3 {
stroke: #ff8888;
fill: lightgrey;
stroke-width: 2;
cursor: pointer;
shape-rendering: crispEdges;
}
.doneCritText0,
.doneCritText1,
.doneCritText2,
.doneCritText3 {
fill: black !important;
}
.activeCritText0,
.activeCritText1,
.activeCritText2,
.activeCritText3 {
fill: black !important;
}
.titleText {
text-anchor: middle;
font-size: 18px;
fill: black;
}
/*
*/
text {
font-family: 'trebuchet ms', verdana, arial;
font-size: 14px;
}
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: 'trebuchet ms', verdana, arial;
font-size: 12px;
background: #ffffde;
border: 1px solid #aaaa33;
border-radius: 2px;
pointer-events: none;
z-index: 100;
}

View File

@@ -1,271 +0,0 @@
/* Flowchart variables */
/* Sequence Diagram variables */
/* Gantt chart variables */
.mermaid .label {
font-family: 'trebuchet ms', verdana, arial;
color: #333333;
}
.node rect,
.node circle,
.node polygon {
fill: #cde498;
stroke: #13540c;
stroke-width: 1px;
}
.edgePath .path {
stroke: green;
stroke-width: 1.5px;
}
.cluster rect {
fill: #cdffb2 !important;
rx: 4 !important;
stroke: #6eaa49 !important;
stroke-width: 1px !important;
}
.cluster text {
fill: #333333;
}
.actor {
stroke: #13540c;
fill: #cde498;
}
text.actor {
fill: black;
stroke: none;
}
.actor-line {
stroke: grey;
}
.messageLine0 {
stroke-width: 1.5;
stroke-dasharray: "2 2";
marker-end: "url(#arrowhead)";
stroke: #333333;
}
.messageLine1 {
stroke-width: 1.5;
stroke-dasharray: "2 2";
stroke: #333333;
}
#arrowhead {
fill: #333333;
}
#crosshead path {
fill: #333333 !important;
stroke: #333333 !important;
}
.messageText {
fill: #333333;
stroke: none;
}
.labelBox {
stroke: #326932;
fill: #cde498;
}
.labelText {
fill: black;
stroke: none;
}
.loopText {
fill: black;
stroke: none;
}
.loopLine {
stroke-width: 2;
stroke-dasharray: "2 2";
marker-end: "url(#arrowhead)";
stroke: #326932;
}
.note {
stroke: #6eaa49;
fill: #fff5ad;
}
.noteText {
fill: black;
stroke: none;
font-family: 'trebuchet ms', verdana, arial;
font-size: 14px;
}
/** Section styling */
.section {
stroke: none;
opacity: 0.2;
}
.section0 {
fill: #6eaa49;
}
.section2 {
fill: #6eaa49;
}
.section1,
.section3 {
fill: white;
opacity: 0.2;
}
.sectionTitle0 {
fill: #333333;
}
.sectionTitle1 {
fill: #333333;
}
.sectionTitle2 {
fill: #333333;
}
.sectionTitle3 {
fill: #333333;
}
.sectionTitle {
text-anchor: start;
font-size: 11px;
text-height: 14px;
}
/* Grid and axis */
.grid .tick {
stroke: lightgrey;
opacity: 0.3;
shape-rendering: crispEdges;
}
.grid path {
stroke-width: 0;
}
/* Today line */
.today {
fill: none;
stroke: red;
stroke-width: 2px;
}
/* Task styling */
/* Default task */
.task {
stroke-width: 2;
}
.taskText {
text-anchor: middle;
font-size: 11px;
}
.taskTextOutsideRight {
fill: black;
text-anchor: start;
font-size: 11px;
}
.taskTextOutsideLeft {
fill: black;
text-anchor: end;
font-size: 11px;
}
/* Specific task settings for the sections*/
.taskText0,
.taskText1,
.taskText2,
.taskText3 {
fill: white;
}
.task0,
.task1,
.task2,
.task3 {
fill: #487e3a;
stroke: #13540c;
}
.taskTextOutside0,
.taskTextOutside2 {
fill: black;
}
.taskTextOutside1,
.taskTextOutside3 {
fill: black;
}
/* Active task */
.active0,
.active1,
.active2,
.active3 {
fill: #cde498;
stroke: #13540c;
}
.activeText0,
.activeText1,
.activeText2,
.activeText3 {
fill: black !important;
}
/* Completed task */
.done0,
.done1,
.done2,
.done3 {
stroke: grey;
fill: lightgrey;
stroke-width: 2;
}
.doneText0,
.doneText1,
.doneText2,
.doneText3 {
fill: black !important;
}
/* Tasks on the critical line */
.crit0,
.crit1,
.crit2,
.crit3 {
stroke: #ff8888;
fill: red;
stroke-width: 2;
}
.activeCrit0,
.activeCrit1,
.activeCrit2,
.activeCrit3 {
stroke: #ff8888;
fill: #cde498;
stroke-width: 2;
}
.doneCrit0,
.doneCrit1,
.doneCrit2,
.doneCrit3 {
stroke: #ff8888;
fill: lightgrey;
stroke-width: 2;
cursor: pointer;
shape-rendering: crispEdges;
}
.doneCritText0,
.doneCritText1,
.doneCritText2,
.doneCritText3 {
fill: black !important;
}
.activeCritText0,
.activeCritText1,
.activeCritText2,
.activeCritText3 {
fill: black !important;
}
.titleText {
text-anchor: middle;
font-size: 18px;
fill: black;
}
/*
*/
text {
font-family: 'trebuchet ms', verdana, arial;
font-size: 14px;
}
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: 'trebuchet ms', verdana, arial;
font-size: 12px;
background: #cdffb2;
border: 1px solid #6eaa49;
border-radius: 2px;
pointer-events: none;
z-index: 100;
}

38434
dist/mermaid.js vendored

File diff suppressed because one or more lines are too long

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