Learning about Mermaid

Pedro
—Jan 13, 2025

TinaCMS is designed to empower content creators with an intuitive and flexible editing experience, and our markdown support is no exception. Whether you're managing a simple blog or a complex documentation site, TinaCMS seamlessly integrates markdown, combining the power of structured content with the ease of real-time editing. From headings and links to images and custom syntax, TinaCMS ensures your markdown files are easy to manage and customize while maintaining complete control over your content.
Flowcharts
Use a flowchart to visualize processes, decision trees, or workflows. It’s ideal for simplifying complex systems or explaining logic visually.
flowchart TDA(Napoleon's Aspirations) --> B{Skills Needed?}B -->|"Nunchuck Skills"| C[Nunchucks Training]B -->|Computer Hacking Skills| D[Hacking Practice]B -->|Bow Hunting Skills| E[Archery Club]C --> F[Become a Martial Arts Master]D --> G[Create the Ultimate Chat Program]E --> H[Win a Hunting Trophy]F --> I{Impress Girls?}G --> IH --> II -->|Yes| J[Date Deb]I -->|No| K[Draw Ligers]K --> L[Become Awesome Anyway]
Sequence Diagram
Use a sequence diagram to illustrate interactions between components or systems over time, particularly for APIs, workflows, or system interactions.
sequenceDiagramparticipant Frodoparticipant Samparticipant RingFrodo->>Sam: "We need to destroy it."Sam->>Ring: Carries the burdenRing-->>Sam: "It's too heavy!"Sam-->>Frodo: "I can't carry it, but I can carry you!"Frodo-->>Ring: Throws it into Mount Doom
Class Diagram
Use a class diagram for object-oriented system design, showing the structure of classes, attributes, and their relationships.
classDiagramclass Jedi {+String name+String lightsaberColor+useForce()}class Sith {+String name+String lightsaberColor+useDarkSide()}Jedi <|-- Sith
State Diagram
Use a state diagram to represent different states of a system or object and transitions between those states.
stateDiagram-v2[*] --> TheShireTheShire --> Rivendell: Begin the journeyRivendell --> Moria: Pass through the minesMoria --> Gondor: Battle forces of evilGondor --> Mordor: Approach Mount DoomMordor --> [*]: Mission complete
Entity Relationship Diagram
Use an ER diagram to model database structures, showing entities, attributes, and relationships.
erDiagramAVENGER ||--o{ MISSION : participatesMISSION ||--|{ ENEMY : targetsAVENGER {string namestring superPower}MISSION {int idstring location}ENEMY {string namestring weakness}
User Journey
Use a user journey diagram to track user interactions with your product or service and identify pain points or areas for improvement.
journeytitle Star Wars User Journeysection DiscoverLearn the Force: 5: LukeTrain with Yoda: 4: Lukesection ConflictFace Vader: 5: LukeResist the Dark Side: 5: Lukesection TriumphRedeem Vader: 4: LukeSave the Galaxy: 5: Luke
Gantt Chart
Use a Gantt chart to visualize timelines and project schedules, tracking progress and dependencies.
gantttitle Build the Death StardateFormat YYYY-MM-DDsection PlanningAcquire Funds :done, a1, 2025-01-01, 2025-01-15Blueprints Approval :active, a2, 2025-01-16, 2025-01-30section ConstructionBuild Core Structure :b1, 2025-02-01, 2025-03-31Install Laser Cannon :b2, 2025-04-01, 2025-06-30
Pie Chart
Use a pie chart to represent data proportions visually, such as resource allocation or survey results.
pietitle Avengers Assemble"Iron Man" : 25"Thor" : 20"Hulk" : 15"Captain America" : 30"Black Widow" : 10
Quadrant Chart
Use a quadrant chart to prioritize tasks or visualize elements across two dimensions.
quadrantCharttitle Reach and engagement of campaignsx-axis Low Reach --> High Reachy-axis Low Engagement --> High Engagementquadrant-1 We should expandquadrant-2 Need to promotequadrant-3 Re-evaluatequadrant-4 May be improvedCampaign A: [0.3, 0.6]Campaign B: [0.45, 0.23]Campaign C: [0.57, 0.69]Campaign D: [0.78, 0.34]Campaign E: [0.40, 0.34]Campaign F: [0.35, 0.78]
Requirement Diagram
Use a requirement diagram to track project requirements and their relationships.
requirementDiagramrequirement test_req {id: 1text: the test text.risk: highverifymethod: test}element test_entity {type: simulation}test_entity - satisfies -> test_req
Gitgraph (Git) Diagram
Use a Gitgraph diagram to visualize Git workflows and branching strategies.
gitGraphcommitbranch featurecheckout featurecommitbranch hotfixcheckout hotfixcommitcheckout mainmerge featuremerge hotfix
C4 Diagram
Use a C4 diagram for software architecture, showing system contexts, containers, components, and code.
C4Contexttitle System Context diagram for Internet Banking SystemEnterprise_Boundary(b0, "BankBoundary0") {Person(customerA, "Banking Customer A", "A customer of the bank, with personal bank accounts.")Person(customerB, "Banking Customer B")Person_Ext(customerC, "Banking Customer C", "desc")Person(customerD, "Banking Customer D", "A customer of the bank, <br/> with personal bank accounts.")System(SystemAA, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.")Enterprise_Boundary(b1, "BankBoundary") {SystemDb_Ext(SystemE, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")System_Boundary(b2, "BankBoundary2") {System(SystemA, "Banking System A")System(SystemB, "Banking System B", "A system of the bank, with personal bank accounts. next line.")}System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.")SystemDb(SystemD, "Banking System D Database", "A system of the bank, with personal bank accounts.")Boundary(b3, "BankBoundary3", "boundary") {SystemQueue(SystemF, "Banking System F Queue", "A system of the bank.")SystemQueue_Ext(SystemG, "Banking System G Queue", "A system of the bank, with personal bank accounts.")}}}BiRel(customerA, SystemAA, "Uses")BiRel(SystemAA, SystemE, "Uses")Rel(SystemAA, SystemC, "Sends e-mails", "SMTP")Rel(SystemC, customerA, "Sends e-mails to")UpdateElementStyle(customerA, $fontColor="red", $bgColor="grey", $borderColor="red")UpdateRelStyle(customerA, SystemAA, $textColor="blue", $lineColor="blue", $offsetX="5")UpdateRelStyle(SystemAA, SystemE, $textColor="blue", $lineColor="blue", $offsetY="-10")UpdateRelStyle(SystemAA, SystemC, $textColor="blue", $lineColor="blue", $offsetY="-40", $offsetX="-50")UpdateRelStyle(SystemC, customerA, $textColor="red", $lineColor="red", $offsetX="-50", $offsetY="20")UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1")
Mindmaps
Use a mindmap to brainstorm ideas or visually organize information hierarchically.
mindmaproot((mindmap))OriginsLong history::icon(fa fa-book)PopularisationBritish popular psychology author Tony BuzanResearchOn effectiveness<br/>and featuresOn Automatic creationUsesCreative techniquesStrategic planningArgument mappingToolsPen and paperMermaid
Timeline
Use a timeline to show events chronologically, such as milestones or historical data.
timelinetitle Harry Potter Timeline1991 : Harry starts Hogwarts1992 : Chamber of Secrets opened1993 : Sirius Black escapes Azkaban1994 : Triwizard Tournament1998 : Battle of Hogwarts
Sankey Diagram
Use a Sankey diagram to show the flow of resources, energy, or data between stages.
---config:sankey:showValues: false---sankey-betaAgricultural 'waste',Bio-conversion,124.729Bio-conversion,Liquid,0.597Bio-conversion,Losses,26.862Bio-conversion,Solid,280.322Bio-conversion,Gas,81.144Biofuel imports,Liquid,35Biomass imports,Solid,35Coal imports,Coal,11.606Coal reserves,Coal,63.965Coal,Solid,75.571District heating,Industry,10.639District heating,Heating and cooling - commercial,22.505District heating,Heating and cooling - homes,46.184Electricity grid,Over generation / exports,104.453Electricity grid,Heating and cooling - homes,113.726Electricity grid,H2 conversion,27.14Electricity grid,Industry,342.165Electricity grid,Road transport,37.797Electricity grid,Agriculture,4.412Electricity grid,Heating and cooling - commercial,40.858Electricity grid,Losses,56.691Electricity grid,Rail transport,7.863Electricity grid,Lighting & appliances - commercial,90.008Electricity grid,Lighting & appliances - homes,93.494Gas imports,Ngas,40.719Gas reserves,Ngas,82.233Gas,Heating and cooling - commercial,0.129Gas,Losses,1.401Gas,Thermal generation,151.891Gas,Agriculture,2.096Gas,Industry,48.58Geothermal,Electricity grid,7.013H2 conversion,H2,20.897H2 conversion,Losses,6.242H2,Road transport,20.897Hydro,Electricity grid,6.995Liquid,Industry,121.066Liquid,International shipping,128.69Liquid,Road transport,135.835Liquid,Domestic aviation,14.458Liquid,International aviation,206.267Liquid,Agriculture,3.64Liquid,National navigation,33.218Liquid,Rail transport,4.413Marine algae,Bio-conversion,4.375Ngas,Gas,122.952Nuclear,Thermal generation,839.978Oil imports,Oil,504.287Oil reserves,Oil,107.703Oil,Liquid,611.99Other waste,Solid,56.587Other waste,Bio-conversion,77.81Pumped heat,Heating and cooling - homes,193.026Pumped heat,Heating and cooling - commercial,70.672Solar PV,Electricity grid,59.901Solar Thermal,Heating and cooling - homes,19.263Solar,Solar Thermal,19.263Solar,Solar PV,59.901Solid,Agriculture,0.882Solid,Thermal generation,400.12Solid,Industry,46.477Thermal generation,Electricity grid,525.531Thermal generation,Losses,787.129Thermal generation,District heating,79.329Tidal,Electricity grid,9.452UK land based bioenergy,Bio-conversion,182.01Wave,Electricity grid,19.013Wind,Electricity grid,289.366
XY Chart
Use an XY chart to compare data points across two dimensions, such as performance vs. cost.
xychart-betatitle "Sales Revenue"x-axis [jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec]y-axis "Revenue (in $)" 4000 --> 11000bar [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]line [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]
Packet Diagram
When to use: Use a packet diagram to describe network communications and data flows.
packet-beta0-15: "Source Port"16-31: "Destination Port"32-63: "Sequence Number"64-95: "Acknowledgment Number"96-99: "Data Offset"100-105: "Reserved"106: "URG"107: "ACK"108: "PSH"109: "RST"110: "SYN"111: "FIN"112-127: "Window"128-143: "Checksum"144-159: "Urgent Pointer"160-191: "(Options and Padding)"192-255: "Data (variable length)"
Kanban
Use a Kanban board to visualize work items and their statuses in workflows.
kanbanTodo[Create Documentation]docs[Create Blog about the new diagram][In progress]id6[Create renderer so that it works in all cases. We also add som extra text here for testing purposes. And some more just for the extra flare.]id9[Ready for deploy]id8[Design grammar]@{ assigned: 'knsv' }id10[Ready for test]id4[Create parsing tests]@{ ticket: MC-2038, assigned: 'K.Sveidqvist', priority: 'High' }id66[last item]@{ priority: 'Very Low', assigned: 'knsv' }
Architecture Diagram
Use an architecture diagram to represent high-level system components and their interactions.
flowchart LRUser --> StarkServer[Iron Man's AI Server]StarkServer --> Database[Mission Logs]StarkServer --> AIModel[Jarvis AI]