{"id":26642007,"url":"https://github.com/knsv/mermaid","last_synced_at":"2025-03-24T19:01:20.906Z","repository":{"id":37269779,"uuid":"26066727","full_name":"mermaid-js/mermaid","owner":"mermaid-js","description":"Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown","archived":false,"fork":false,"pushed_at":"2024-10-29T10:04:47.000Z","size":239241,"stargazers_count":71813,"open_issues_count":1093,"forks_count":6518,"subscribers_count":639,"default_branch":"develop","last_synced_at":"2024-10-29T11:46:05.370Z","etag":null,"topics":["diagrams","diagrams-as-code","documentation","flowchart","javascript","mindmap","typescript","uml-diagrams"],"latest_commit_sha":null,"homepage":"https://mermaid.js.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mermaid-js.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["knsv","sidharthv96"]}},"created_at":"2014-11-01T23:52:32.000Z","updated_at":"2024-10-29T10:46:41.000Z","dependencies_parsed_at":"2023-09-29T07:58:18.084Z","dependency_job_id":"8c149ccb-df9c-4cb4-9e51-2f99157720cd","html_url":"https://github.com/mermaid-js/mermaid","commit_stats":{"total_commits":8230,"total_committers":688,"mean_commits":"11.962209302325581","dds":0.823086269744836,"last_synced_commit":"b3dee343d1536c8425539643c345a63ff58f59f4"},"previous_names":["knsv/mermaid"],"tags_count":156,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mermaid-js%2Fmermaid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mermaid-js%2Fmermaid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mermaid-js%2Fmermaid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mermaid-js%2Fmermaid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mermaid-js","download_url":"https://codeload.github.com/mermaid-js/mermaid/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245334841,"owners_count":20598385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["diagrams","diagrams-as-code","documentation","flowchart","javascript","mindmap","typescript","uml-diagrams"],"created_at":"2025-03-24T19:00:44.976Z","updated_at":"2025-03-24T19:01:20.889Z","avatar_url":"https://github.com/mermaid-js.png","language":"TypeScript","funding_links":["https://github.com/sponsors/knsv","https://github.com/sponsors/sidharthv96"],"categories":["Other tools","JavaScript","Miscellaneous","Web 前端","Tools"],"sub_categories":["Misc","Rails"],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/mermaid-js/mermaid/develop/docs/public/favicon.svg\" height=\"150\"\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003e\nMermaid\n\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\nGenerate diagrams from markdown-like text.\n\u003cp\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/mermaid\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/mermaid?color=ff3670\u0026label=\"\u003e\u003c/a\u003e\n\u003cp\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://mermaid.live/\"\u003e\u003cb\u003eLive Editor!\u003c/b\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://mermaid.js.org\"\u003e📖 Documentation\u003c/a\u003e | \u003ca href=\"https://mermaid.js.org/intro/\"\u003e🚀 Getting Started\u003c/a\u003e | \u003ca href=\"https://www.jsdelivr.com/package/npm/mermaid\"\u003e🌐 CDN\u003c/a\u003e | \u003ca href=\"https://discord.gg/sKeNQX4Wtj\" title=\"Discord invite\"\u003e🙌 Join Us\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"./README.zh-CN.md\"\u003e简体中文\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\nTry Live Editor previews of future releases: \u003ca href=\"https://develop.git.mermaid.live/\" title=\"Try the mermaid version from the develop branch.\"\u003eDevelop\u003c/a\u003e | \u003ca href=\"https://next.git.mermaid.live/\" title=\"Try the mermaid version from the next branch.\"\u003eNext\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n[![NPM](https://img.shields.io/npm/v/mermaid)](https://www.npmjs.com/package/mermaid)\n[![Build CI Status](https://github.com/mermaid-js/mermaid/actions/workflows/build.yml/badge.svg)](https://github.com/mermaid-js/mermaid/actions/workflows/build.yml)\n[![npm minified gzipped bundle size](https://img.shields.io/bundlephobia/minzip/mermaid)](https://bundlephobia.com/package/mermaid)\n[![Coverage Status](https://codecov.io/github/mermaid-js/mermaid/branch/develop/graph/badge.svg)](https://app.codecov.io/github/mermaid-js/mermaid/tree/develop)\n[![CDN Status](https://img.shields.io/jsdelivr/npm/hm/mermaid)](https://www.jsdelivr.com/package/npm/mermaid)\n[![NPM Downloads](https://img.shields.io/npm/dm/mermaid)](https://www.npmjs.com/package/mermaid)\n[![Join our Discord!](https://img.shields.io/static/v1?message=join%20chat\u0026color=9cf\u0026logo=discord\u0026label=discord)](https://discord.gg/sKeNQX4Wtj)\n[![Twitter Follow](https://img.shields.io/badge/Social-mermaidjs__-blue?style=social\u0026logo=X)](https://twitter.com/mermaidjs_)\n[![Covered by Argos Visual Testing](https://argos-ci.com/badge.svg)](https://argos-ci.com?utm_source=mermaid\u0026utm_campaign=oss)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mermaid-js/mermaid/badge)](https://securityscorecards.dev/viewer/?uri=github.com/mermaid-js/mermaid)\n\n\u003cimg src=\"./img/header.png\" alt=\"\" /\u003e\n\n:trophy: **Mermaid was nominated and won the [JS Open Source Awards (2019)](https://osawards.com/javascript/2019) in the category \"The most exciting use of technology\"!!!**\n\n**Thanks to all involved, people committing pull requests, people answering questions! 🙏**\n\n\u003ca href=\"https://mermaid.js.org/landing/\"\u003e\u003cimg src=\"https://github.com/mermaid-js/mermaid/blob/master/docs/intro/img/book-banner-post-release.jpg\" alt=\"Explore Mermaid.js in depth, with real-world examples, tips \u0026 tricks from the creator... The first official book on Mermaid is available for purchase. Check it out!\"\u003e\u003c/a\u003e\n\n## Table of content\n\n\u003cdetails\u003e\n\u003csummary\u003eExpand contents\u003c/summary\u003e\n\n- [About](#about)\n- [Examples](#examples)\n- [Release](#release)\n- [Related projects](#related-projects)\n- [Contributors](#contributors---)\n- [Security and safe diagrams](#security-and-safe-diagrams)\n- [Reporting vulnerabilities](#reporting-vulnerabilities)\n- [Appreciation](#appreciation)\n\n\u003c/details\u003e\n\n## About\n\n\u003c!-- \u003cMain description\u003e   --\u003e\n\nMermaid is a JavaScript-based diagramming and charting tool that uses Markdown-inspired text definitions and a renderer to create and modify complex diagrams. The main purpose of Mermaid is to help documentation catch up with development.\n\n\u003e Doc-Rot is a Catch-22 that Mermaid helps to solve.\n\nDiagramming and documentation costs precious developer time and gets outdated quickly.\nBut not having diagrams or docs ruins productivity and hurts organizational learning.\u003cbr/\u003e\nMermaid addresses this problem by enabling users to create easily modifiable diagrams. It can also be made part of production scripts (and other pieces of code).\u003cbr/\u003e\n\u003cbr/\u003e\n\nMermaid allows even non-programmers to easily create detailed diagrams through the [Mermaid Live Editor](https://mermaid.live/).\u003cbr/\u003e\nFor video tutorials, visit our [Tutorials](https://mermaid.js.org/ecosystem/tutorials.html) page.\nUse Mermaid with your favorite applications, check out the list of [Integrations and Usages of Mermaid](https://mermaid.js.org/ecosystem/integrations-community.html).\n\nYou can also use Mermaid within [GitHub](https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/) as well many of your other favorite applications—check out the list of [Integrations and Usages of Mermaid](https://mermaid.js.org/ecosystem/integrations-community.html).\n\nFor a more detailed introduction to Mermaid and some of its more basic uses, look to the [Beginner's Guide](https://mermaid.js.org/intro/getting-started.html), [Usage](https://mermaid.js.org/config/usage.html) and [Tutorials](https://mermaid.js.org/ecosystem/tutorials.html).\n\nOur PR Visual Regression Testing is powered by [Argos](https://argos-ci.com/?utm_source=mermaid\u0026utm_campaign=oss) with their generous Open Source plan. It makes the process of reviewing PRs with visual changes a breeze.\n\n[![Covered by Argos Visual Testing](https://argos-ci.com/badge-large.svg)](https://argos-ci.com?utm_source=mermaid\u0026utm_campaign=oss)\n\nIn our release process we rely heavily on visual regression tests using [applitools](https://applitools.com/). Applitools is a great service which has been easy to use and integrate with our tests.\n\n\u003ca href=\"https://applitools.com/\"\u003e\n\u003csvg width=\"170\" height=\"32\" viewBox=\"0 0 170 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\u003e\u003cmask id=\"a\" maskUnits=\"userSpaceOnUse\" x=\"27\" y=\"0\" width=\"143\" height=\"32\"\u003e\u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M27.732.227h141.391v31.19H27.733V.227z\" fill=\"#fff\"\u003e\u003c/path\u003e\u003c/mask\u003e\u003cg mask=\"url(#a)\"\u003e\u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M153.851 22.562l1.971-3.298c1.291 1.219 3.837 2.402 5.988 2.402 1.971 0 2.903-.753 2.903-1.829 0-2.832-10.253-.502-10.253-7.313 0-2.904 2.51-5.45 7.099-5.45 2.904 0 5.234 1.004 6.955 2.367l-1.829 3.226c-1.039-1.075-3.011-2.008-5.126-2.008-1.65 0-2.725.717-2.725 1.685 0 2.546 10.289.395 10.289 7.386 0 3.19-2.724 5.52-7.528 5.52-3.012 0-5.916-1.003-7.744-2.688zm-5.7 2.259h4.553V.908h-4.553v23.913zm-6.273-8.676c0-2.689-1.578-5.02-4.446-5.02-2.832 0-4.409 2.331-4.409 5.02 0 2.724 1.577 5.055 4.409 5.055 2.868 0 4.446-2.33 4.446-5.055zm-13.588 0c0-4.912 3.442-9.07 9.142-9.07 5.736 0 9.178 4.158 9.178 9.07 0 4.911-3.442 9.106-9.178 9.106-5.7 0-9.142-4.195-9.142-9.106zm-5.628 0c0-2.689-1.577-5.02-4.445-5.02-2.832 0-4.41 2.331-4.41 5.02 0 2.724 1.578 5.055 4.41 5.055 2.868 0 4.445-2.33 4.445-5.055zm-13.587 0c0-4.912 3.441-9.07 9.142-9.07 5.736 0 9.178 4.158 9.178 9.07 0 4.911-3.442 9.106-9.178 9.106-5.701 0-9.142-4.195-9.142-9.106zm-8.425 4.338v-8.999h-2.868v-3.98h2.868V2.773h4.553v4.733h3.514v3.979h-3.514v7.78c0 1.111.574 1.936 1.578 1.936.681 0 1.326-.251 1.577-.538l.968 3.478c-.681.609-1.9 1.11-3.8 1.11-3.191 0-4.876-1.648-4.876-4.767zm-8.962 4.338h4.553V7.505h-4.553V24.82zm-.43-21.905a2.685 2.685 0 012.688-2.69c1.506 0 2.725 1.184 2.725 2.69a2.724 2.724 0 01-2.725 2.724c-1.47 0-2.688-1.219-2.688-2.724zM84.482 24.82h4.553V.908h-4.553v23.913zm-6.165-8.676c0-2.976-1.793-5.02-4.41-5.02-1.47 0-3.119.825-3.908 1.973v6.094c.753 1.111 2.438 2.008 3.908 2.008 2.617 0 4.41-2.044 4.41-5.055zm-8.318 6.453v8.82h-4.553V7.504H70v2.187c1.327-1.685 3.227-2.618 5.342-2.618 4.446 0 7.672 3.299 7.672 9.07 0 5.773-3.226 9.107-7.672 9.107-2.043 0-3.907-.86-5.342-2.653zm-10.718-6.453c0-2.976-1.793-5.02-4.41-5.02-1.47 0-3.119.825-3.908 1.973v6.094c.753 1.111 2.438 2.008 3.908 2.008 2.617 0 4.41-2.044 4.41-5.055zm-8.318 6.453v8.82H46.41V7.504h4.553v2.187c1.327-1.685 3.227-2.618 5.342-2.618 4.446 0 7.672 3.299 7.672 9.07 0 5.773-3.226 9.107-7.672 9.107-2.043 0-3.908-.86-5.342-2.653zm-11.758-1.936V18.51c-.753-1.004-2.187-1.542-3.657-1.542-1.793 0-3.263.968-3.263 2.617 0 1.65 1.47 2.582 3.263 2.582 1.47 0 2.904-.502 3.657-1.506zm0 4.159v-1.829c-1.183 1.434-3.227 2.259-5.485 2.259-2.761 0-5.988-1.864-5.988-5.736 0-4.087 3.227-5.593 5.988-5.593 2.33 0 4.337.753 5.485 2.115V13.85c0-1.756-1.506-2.904-3.8-2.904-1.829 0-3.55.717-4.984 2.044L28.63 9.8c2.115-1.901 4.84-2.726 7.564-2.726 3.98 0 7.6 1.578 7.6 6.561v11.186h-4.588z\" fill=\"#00A298\"\u003e\u003c/path\u003e\u003c/g\u003e\u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.934 16.177c0 1.287-.136 2.541-.391 3.752-1.666-1.039-3.87-2.288-6.777-3.752 2.907-1.465 5.11-2.714 6.777-3.753.255 1.211.39 2.466.39 3.753m4.6-7.666V4.486a78.064 78.064 0 01-4.336 3.567c-1.551-2.367-3.533-4.038-6.14-5.207C11.1 4.658 12.504 6.7 13.564 9.262 5.35 15.155 0 16.177 0 16.177s5.35 1.021 13.564 6.915c-1.06 2.563-2.463 4.603-4.507 6.415 2.607-1.169 4.589-2.84 6.14-5.207a77.978 77.978 0 014.336 3.568v-4.025s-.492-.82-2.846-2.492c.6-1.611.93-3.354.93-5.174a14.8 14.8 0 00-.93-5.174c2.354-1.673 2.846-2.492 2.846-2.492\" fill=\"#00A298\"\u003e\u003c/path\u003e\u003c/svg\u003e\n\u003c/a\u003e\n\n\u003c!-- \u003c/Main description\u003e --\u003e\n\n## Mermaid AI Bot\n\n[Mermaid](https://codeparrot.ai/oracle?owner=mermaid-js\u0026repo=mermaid) Bot will help you understand this repository better. You can ask for code examples, installation guide, debugging help and much more.\n\n## Examples\n\n**The following are some examples of the diagrams, charts and graphs that can be made using Mermaid. Click here to jump into the [text syntax](https://mermaid.js.org/intro/syntax-reference.html).**\n\n\u003c!-- \u003cFlowchart\u003e --\u003e\n\n### Flowchart [\u003ca href=\"https://mermaid.js.org/syntax/flowchart.html\"\u003edocs\u003c/a\u003e - \u003ca href=\"https://mermaid.live/edit#pako:eNpNkMtqwzAQRX9FzKqFJK7t1km8KDQP6KJQSLOLvZhIY1tgS0GWmgbb_165IaFaiXvOFTPqgGtBkEJR6zOv0Fj2scsU8-ft8I5G5Gw6fe339GN7tnrYaafE45WvRsLW3Ya4bKVWwzVe_xU-FfVsc9hR62rLwvw_2591z7Y3FuUwgYZMg1L4ObrRzMBW1FAGqb8KKtCLGWRq8Ko7CbS0FdJqA2mBdUsTQGf110VxSK1xdJM2EkuDzd2qNQrypQ7s5TQuXcrW-ie5VoUsx9yZ2seVtac2DYIRz0ppK3eccd0ErRTjD1XfyyRIomSBUUzJPMaXOBb8GC4XRfQcFmL-FEYIwzD8AggvcHE\"\u003elive editor\u003c/a\u003e]\n\n```\nflowchart LR\n\nA[Hard] --\u003e|Text| B(Round)\nB --\u003e C{Decision}\nC --\u003e|One| D[Result 1]\nC --\u003e|Two| E[Result 2]\n```\n\n```mermaid\nflowchart LR\n\nA[Hard] --\u003e|Text| B(Round)\nB --\u003e C{Decision}\nC --\u003e|One| D[Result 1]\nC --\u003e|Two| E[Result 2]\n```\n\n### Sequence diagram [\u003ca href=\"https://mermaid.js.org/syntax/sequenceDiagram.html\"\u003edocs\u003c/a\u003e - \u003ca href=\"https://mermaid.live/edit#pako:eNo9kMluwjAQhl_F-AykQMuSA1WrbuLQQ3v1ZbAnsVXHkzrjVhHi3etQwKfRv4w-z0FqMihL2eF3wqDxyUEdoVHhwTuNk-12RzaU4g29JzHMY2HpV0BE0VO6V8ETtdkGz1Zb1F8qiPyG5LX84mrLAmpwoWNh-5a0pWCiAxUwGBXeiVHEU4oq8V_6AHYUwAu2lLLTjVQ4bc1rT2yleI0IfJG320faZ9ABbk-Jz3hZnFxBduR9L2oiM5Jj2WBswJn8-cMArSRbbFDJMo8GK0ielVThmKOpNcD4bBxTlGUFvsOxhMT02QctS44JL6HzAS-iJzCYOwfJfTscunYd542aQuXqQU_RZ9kyt11ZFIM9rR3btJ9qaorOGQuR7c9mWSznyzXMF7hcLeBusTB6P9usq_ntrDKrm9kc5PF4_AMJE56Z\"\u003elive editor\u003c/a\u003e]\n\n```\nsequenceDiagram\nAlice-\u003e\u003eJohn: Hello John, how are you?\nloop HealthCheck\n    John-\u003e\u003eJohn: Fight against hypochondria\nend\nNote right of John: Rational thoughts!\nJohn--\u003e\u003eAlice: Great!\nJohn-\u003e\u003eBob: How about you?\nBob--\u003e\u003eJohn: Jolly good!\n```\n\n```mermaid\nsequenceDiagram\nAlice-\u003e\u003eJohn: Hello John, how are you?\nloop HealthCheck\n    John-\u003e\u003eJohn: Fight against hypochondria\nend\nNote right of John: Rational thoughts!\nJohn--\u003e\u003eAlice: Great!\nJohn-\u003e\u003eBob: How about you?\nBob--\u003e\u003eJohn: Jolly good!\n```\n\n### Gantt chart [\u003ca href=\"https://mermaid.js.org/syntax/gantt.html\"\u003edocs\u003c/a\u003e - \u003ca href=\"https://mermaid.live/edit#pako:eNp90cGOgyAQBuBXIZxtFbG29bbZ3fsmvXKZylhJEAyOTZrGd1_sto3xsHMBhu-HBO689hp5xS_giJQbsCbjHTv9jcp9-q63SKhZpb3DhMXSOIiE5ZkoNpnYZGXynh6U-4jBK7JnVfBYJo9QvgjtEya1cj8QwFq0TMz4lZqxTBg0hOF5m1jifI2Lf7Bc490CyxUu1rhc4GLGPOEdhg6Mjq92V44xxanFDhWv4lRjA6MlxZWbIh17DYTf2pAPvGrADphwGMmfbq7mFYURX-jLwCVA91bWg8YYunO69Y8vMgPFI2vvGnOZ-2Owsd0S9UOVpvP29mKoHc_b2nfpYHQLgdrrsUzLvDxALrHcS9hJqeuzOB6avBCN3mciBz5N0y_wxZ0J\"\u003elive editor\u003c/a\u003e]\n\n```\ngantt\n    section Section\n    Completed :done,    des1, 2014-01-06,2014-01-08\n    Active        :active,  des2, 2014-01-07, 3d\n    Parallel 1   :         des3, after des1, 1d\n    Parallel 2   :         des4, after des1, 1d\n    Parallel 3   :         des5, after des3, 1d\n    Parallel 4   :         des6, after des4, 1d\n```\n\n```mermaid\ngantt\n    section Section\n    Completed :done,    des1, 2014-01-06,2014-01-08\n    Active        :active,  des2, 2014-01-07, 3d\n    Parallel 1   :         des3, after des1, 1d\n    Parallel 2   :         des4, after des1, 1d\n    Parallel 3   :         des5, after des3, 1d\n    Parallel 4   :         des6, after des4, 1d\n```\n\n### Class diagram [\u003ca href=\"https://mermaid.js.org/syntax/classDiagram.html\"\u003edocs\u003c/a\u003e - \u003ca href=\"https://mermaid.live/edit#pako:eNpdkTFPwzAQhf-K5QlQ2zQJJG1UBaGWDYmBgYEwXO1LYuTEwXYqlZL_jt02asXm--690zvfgTLFkWaUSTBmI6DS0BTt2lfzkKx-p1PytEO9f1FtdaQkI2ulZNGuVqK1qEtgmOfk7BitSzKdOhg59XuNGgk0RDxed-_IOr6uf8cZ6UhTZ8bvHqS5ub1mr9svZPbjk6DEBlu7AQuXyBkx4gcvDk9cUMJq0XT_YaW0kNK5j-ufAoRzcihaQvLcoN4Jv50vvVxw_xrnD3RCG9QNCO4-8OgpqK1dpoJm7smxhF7agp6kfcfB4jMXVmmalW4tnFDorXrbt4xmVvc4is53GKFUwNF5DtTuO3-sShjrJjLVlqLyvNfS4drazmRB4NuzSti6386YagIjeA3a1rtlEiRRsoAoxiSN4SGOOduGy0UZ3YclT-dhBHQYhj8dc6_I\"\u003elive editor\u003c/a\u003e]\n\n```\nclassDiagram\nClass01 \u003c|-- AveryLongClass : Cool\n\u003c\u003cInterface\u003e\u003e Class01\nClass09 --\u003e C2 : Where am I?\nClass09 --* C3\nClass09 --|\u003e Class07\nClass07 : equals()\nClass07 : Object[] elementData\nClass01 : size()\nClass01 : int chimp\nClass01 : int gorilla\nclass Class10 {\n  \u003c\u003cservice\u003e\u003e\n  int id\n  size()\n}\n\n```\n\n```mermaid\nclassDiagram\nClass01 \u003c|-- AveryLongClass : Cool\n\u003c\u003cInterface\u003e\u003e Class01\nClass09 --\u003e C2 : Where am I?\nClass09 --* C3\nClass09 --|\u003e Class07\nClass07 : equals()\nClass07 : Object[] elementData\nClass01 : size()\nClass01 : int chimp\nClass01 : int gorilla\nclass Class10 {\n  \u003c\u003cservice\u003e\u003e\n  int id\n  size()\n}\n\n```\n\n### State diagram [\u003ca href=\"https://mermaid.js.org/syntax/stateDiagram.html\"\u003edocs\u003c/a\u003e - \u003ca href=\"https://mermaid.live/edit#pako:eNpdkEFvgzAMhf8K8nEqpYSNthx22Xbcqcexg0sCiZQQlDhIFeK_L8A6TfXp6fOz9ewJGssFVOAJSbwr7ByadGR1n8T6evpO0vQ1uZDSekOrXGFsPqJPO6q-2-imH8f_0TeHXm50lfelsAMjnEHFY6xpMdRAUhhRQxUlFy0GTTXU_RytYeAx-AdXZB1ULWovdoCB7OXWN1CRC-Ju-r3uz6UtchGHJqDbsPygU57iysb2reoWHpyOWBINvsqypb3vFMlw3TfWZF5xiY7keC6zkpUnZIUojwW-FAVvrvn51LLnvOXHQ84Q5nn-AVtLcwk\"\u003elive editor\u003c/a\u003e]\n\n```\nstateDiagram-v2\n[*] --\u003e Still\nStill --\u003e [*]\nStill --\u003e Moving\nMoving --\u003e Still\nMoving --\u003e Crash\nCrash --\u003e [*]\n```\n\n```mermaid\nstateDiagram-v2\n[*] --\u003e Still\nStill --\u003e [*]\nStill --\u003e Moving\nMoving --\u003e Still\nMoving --\u003e Crash\nCrash --\u003e [*]\n```\n\n### Pie chart [\u003ca href=\"https://mermaid.js.org/syntax/pie.html\"\u003edocs\u003c/a\u003e - \u003ca href=\"https://mermaid.live/edit#pako:eNo9jsFugzAMhl8F-VzBgEEh13Uv0F1zcYkTIpEEBadShXj3BU3dzf_n77e8wxQUgYDVkvQSbsFsEgpRtEN_5i_kvzx05XiC-xvUHVzAUXRoVe7v0heFBJ7JkQSRR0Ua08ISpD-ymlaFTN_KcoggNC4bXQATh5-Xn0BwTPSWbhZNRPdvLQEV5dIO_FrPZ43dOJ-cgtfWnDzFJeOZed1EVZ3r0lie06Ocgqs2q2aMPD_HvuqbfsCmpf7aYte2anrU46Cbz1qr60fdIBzH8QvW9lkl\"\u003elive editor\u003c/a\u003e]\n\n```\npie\n\"Dogs\" : 386\n\"Cats\" : 85.9\n\"Rats\" : 15\n```\n\n```mermaid\npie\n\"Dogs\" : 386\n\"Cats\" : 85.9\n\"Rats\" : 15\n```\n\n### Git graph [experimental - \u003ca href=\"https://mermaid.live/edit#pako:eNqNkMFugzAMhl8F-VyVAR1tOW_aA-zKxSSGRCMJCk6lCvHuNZPKZdM0n-zf3_8r8QIqaIIGMqnB8kfEybQ--y4VnLP8-9RF9Mpkmm40hmlnDKmvkPiH_kfS7nFo_VN0FAf6XwocQGgxa_nGsm1bYEOOWmik1dRjGrmF1q-Cpkkj07u2HCI0PY4zHQATh8-7V9BwTPSE3iwOEd1OjQE1iWkBvk_bzQY7s0Sq4Hs7bHqKo8iGeZqbPN_WR7mpSd1RHpvPVhuMbG7XOq_L-oJlRfW5wteq0qorrpe-PBW9Pr8UJcK6rg-BLYPQ\"\u003elive editor\u003c/a\u003e]\n\n```\ngitGraph\n  commit\n  commit\n  branch develop\n  checkout develop\n  commit\n  commit\n  checkout main\n  merge develop\n  commit\n  commit\n```\n\n```mermaid\ngitGraph\n  commit\n  commit\n  branch develop\n  checkout develop\n  commit\n  commit\n  checkout main\n  merge develop\n  commit\n  commit\n```\n\n### Bar chart (using gantt chart) [\u003ca href=\"https://mermaid.js.org/syntax/gantt.html\"\u003edocs\u003c/a\u003e - \u003ca href=\"https://mermaid.live/edit#pako:eNptkU1vhCAQhv8KIenNugiI4rkf6bmXpvEyFVxJFDYyNt1u9r8X63Z7WQ9m5pknLzieaBeMpQ3dg0dsPUkPOhwteXZIXmJcbCT3xMAxkuh8Z8kIEclyMIB209fqKcwTICFvG4IvFy_oLrZ-g9F26ILfQgvNFN94VaRXQ1iWqpumZBcu1J8p1E1TXDx59eQNr5LyEqjJn6hv5QnGNlxevZJmdLLpy5xJSzut45biYCfb0iaVxvawjNjS1p-TCguG16PvaIPzYjO67e3BwX6GiTY9jPFKH43DMF_hGMDY1J4oHg-_f8hFTJFd8L3br3yZx4QHxENsdrt1nO8dDstH3oVpF50ZYMbhU6ud4qoGLqyqBJRCmO6j0HXPZdGbihUc6Pmc0QP49xD-b5X69ZQv2gjO81IwzWqhC1lKrjJ6pA3nVS7SMiVjrKirWlYp5fs3osgrWeo00lorLWvOzz8JVbXm\"\u003elive editor\u003c/a\u003e]\n\n```\ngantt\n    title Git Issues - days since last update\n    dateFormat  X\n    axisFormat %s\n\n    section Issue19062\n    71   : 0, 71\n    section Issue19401\n    36   : 0, 36\n    section Issue193\n    34   : 0, 34\n    section Issue7441\n    9    : 0, 9\n    section Issue1300\n    5    : 0, 5\n```\n\n```mermaid\ngantt\n    title Git Issues - days since last update\n    dateFormat  X\n    axisFormat %s\n\n    section Issue19062\n    71   : 0, 71\n    section Issue19401\n    36   : 0, 36\n    section Issue193\n    34   : 0, 34\n    section Issue7441\n    9    : 0, 9\n    section Issue1300\n    5    : 0, 5\n```\n\n### User Journey diagram [\u003ca href=\"https://mermaid.js.org/syntax/userJourney.html\"\u003edocs\u003c/a\u003e - \u003ca href=\"https://mermaid.live/edit#pako:eNplkMFuwjAQRH9l5TMiTVIC-FqqnjhxzWWJN4khsSN7XRSh_HsdKBVt97R6Mzsj-yoqq0hIAXCywRkaSwNxWHNHsB_hYt1ZmwYUfiueKtbWwIcFtjf5zgH2eCZgQgkrCXt64GgMg2fUzkvIn5Xd_V5COtMFvCH_62ht_5yk7MU8sn61HDTfxD8VYiF6cj1qFd94nWkpuKWYKWRcFdUYOi5FaaZoDYNCpnel2Toha-w8LQQGtofRVEKyC_Qw7TQ2DvsfV2dRUTy6Ch6H-UMb7TlGVtbUupl5cF3ELfPgZZLM8rLR3IbjsrJ94rVq0XH7uS2SIis2mOVUrHNc5bmqjul2U2evaa3WL2mGYpqmL2BGiho\"\u003elive editor\u003c/a\u003e]\n\n```\n  journey\n    title My working day\n    section Go to work\n      Make tea: 5: Me\n      Go upstairs: 3: Me\n      Do work: 1: Me, Cat\n    section Go home\n      Go downstairs: 5: Me\n      Sit down: 3: Me\n```\n\n```mermaid\n  journey\n    title My working day\n    section Go to work\n      Make tea: 5: Me\n      Go upstairs: 3: Me\n      Do work: 1: Me, Cat\n    section Go home\n      Go downstairs: 5: Me\n      Sit down: 3: Me\n```\n\n### C4 diagram [\u003ca href=\"https://mermaid.js.org/syntax/c4.html\"\u003edocs\u003c/a\u003e]\n\n```\nC4Context\ntitle System Context diagram for Internet Banking System\n\nPerson(customerA, \"Banking Customer A\", \"A customer of the bank, with personal bank accounts.\")\nPerson(customerB, \"Banking Customer B\")\nPerson_Ext(customerC, \"Banking Customer C\")\nSystem(SystemAA, \"Internet Banking System\", \"Allows customers to view information about their bank accounts, and make payments.\")\n\nPerson(customerD, \"Banking Customer D\", \"A customer of the bank, \u003cbr/\u003e with personal bank accounts.\")\n\nEnterprise_Boundary(b1, \"BankBoundary\") {\n\n  SystemDb_Ext(SystemE, \"Mainframe Banking System\", \"Stores all of the core banking information about customers, accounts, transactions, etc.\")\n\n  System_Boundary(b2, \"BankBoundary2\") {\n    System(SystemA, \"Banking System A\")\n    System(SystemB, \"Banking System B\", \"A system of the bank, with personal bank accounts.\")\n  }\n\n  System_Ext(SystemC, \"E-mail system\", \"The internal Microsoft Exchange e-mail system.\")\n  SystemDb(SystemD, \"Banking System D Database\", \"A system of the bank, with personal bank accounts.\")\n\n  Boundary(b3, \"BankBoundary3\", \"boundary\") {\n    SystemQueue(SystemF, \"Banking System F Queue\", \"A system of the bank, with personal bank accounts.\")\n    SystemQueue_Ext(SystemG, \"Banking System G Queue\", \"A system of the bank, with personal bank accounts.\")\n  }\n}\n\nBiRel(customerA, SystemAA, \"Uses\")\nBiRel(SystemAA, SystemE, \"Uses\")\nRel(SystemAA, SystemC, \"Sends e-mails\", \"SMTP\")\nRel(SystemC, customerA, \"Sends e-mails to\")\n```\n\n```mermaid\nC4Context\ntitle System Context diagram for Internet Banking System\n\nPerson(customerA, \"Banking Customer A\", \"A customer of the bank, with personal bank accounts.\")\nPerson(customerB, \"Banking Customer B\")\nPerson_Ext(customerC, \"Banking Customer C\")\nSystem(SystemAA, \"Internet Banking System\", \"Allows customers to view information about their bank accounts, and make payments.\")\n\nPerson(customerD, \"Banking Customer D\", \"A customer of the bank, \u003cbr/\u003e with personal bank accounts.\")\n\nEnterprise_Boundary(b1, \"BankBoundary\") {\n\n  SystemDb_Ext(SystemE, \"Mainframe Banking System\", \"Stores all of the core banking information about customers, accounts, transactions, etc.\")\n\n  System_Boundary(b2, \"BankBoundary2\") {\n    System(SystemA, \"Banking System A\")\n    System(SystemB, \"Banking System B\", \"A system of the bank, with personal bank accounts.\")\n  }\n\n  System_Ext(SystemC, \"E-mail system\", \"The internal Microsoft Exchange e-mail system.\")\n  SystemDb(SystemD, \"Banking System D Database\", \"A system of the bank, with personal bank accounts.\")\n\n  Boundary(b3, \"BankBoundary3\", \"boundary\") {\n    SystemQueue(SystemF, \"Banking System F Queue\", \"A system of the bank, with personal bank accounts.\")\n    SystemQueue_Ext(SystemG, \"Banking System G Queue\", \"A system of the bank, with personal bank accounts.\")\n  }\n}\n\nBiRel(customerA, SystemAA, \"Uses\")\nBiRel(SystemAA, SystemE, \"Uses\")\nRel(SystemAA, SystemC, \"Sends e-mails\", \"SMTP\")\nRel(SystemC, customerA, \"Sends e-mails to\")\n```\n\n## Release\n\nFor those who have the permission to do so:\n\nUpdate version number in `package.json`.\n\n```sh\nnpm publish\n```\n\nThe above command generates files into the `dist` folder and publishes them to \u003chttps://www.npmjs.com\u003e.\n\n## Related projects\n\n- [Command Line Interface](https://github.com/mermaid-js/mermaid-cli)\n- [Live Editor](https://github.com/mermaid-js/mermaid-live-editor)\n- [HTTP Server](https://github.com/TomWright/mermaid-server)\n\n## Contributors [![Good first issue](https://img.shields.io/github/labels/mermaid-js/mermaid/Good%20first%20issue%21)](https://github.com/mermaid-js/mermaid/issues?q=is%3Aissue+is%3Aopen+label%3A%22Good+first+issue%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)\n\nMermaid 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.\n\nDetailed information about how to contribute can be found in the [contribution guide](https://mermaid.js.org/community/contributing.html)\n\n## Security and safe diagrams\n\nFor public sites, it can be precarious to retrieve text from users on the internet, storing that content for presentation in a browser at a later stage. The reason is that the user content can contain embedded malicious scripts that will run when the data is presented. For Mermaid this is a risk, specially as mermaid diagrams contain many characters that are used in html which makes the standard sanitation unusable as it also breaks the diagrams. We still make an effort to sanitize the incoming code and keep refining the process but it is hard to guarantee that there are no loop holes.\n\nAs an extra level of security for sites with external users we are happy to introduce a new security level in which the diagram is rendered in a sandboxed iframe preventing javascript in the code from being executed. This is a great step forward for better security.\n\n_Unfortunately you can not have a cake and eat it at the same time which in this case means that some of the interactive functionality gets blocked along with the possible malicious code._\n\n## Reporting vulnerabilities\n\nTo report a vulnerability, please e-mail \u003csecurity@mermaid.live\u003e with a description of the issue, the steps you took to create the issue, affected versions, and if known, mitigations for the issue.\n\n## Appreciation\n\nA quick note from Knut Sveidqvist:\n\n\u003e _Many thanks to the [d3](https://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing the graphical layout and drawing libraries!_\n\u003e\n\u003e _Thanks also to the [js-sequence-diagram](https://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering._\n\u003e\n\u003e _Thank you to [Tyler Long](https://github.com/tylerlong) who has been a collaborator since April 2017._\n\u003e\n\u003e _Thank you to the ever-growing list of [contributors](https://github.com/mermaid-js/mermaid/graphs/contributors) that brought the project this far!_\n\n---\n\n_Mermaid was created by Knut Sveidqvist for easier documentation._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknsv%2Fmermaid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknsv%2Fmermaid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknsv%2Fmermaid/lists"}