Mermaid Diagrams in Yooz Notes
Yooz Notes supports Mermaid.js for creating beautiful diagrams directly in your notes.
What is Mermaid?
Mermaid is a JavaScript-based diagramming tool that renders text definitions into diagrams. Think "markdown for diagrams" - simple syntax, powerful visualizations.
Creating a Diagram
To create a Mermaid diagram in Yooz Notes:
- Type
```mermaid(code fence with mermaid language) - Add your diagram code
- Close with
```
The diagram renders automatically!
Supported Diagram Types
1. Flowcharts
Perfect for processes, decision trees, and workflows.
Example:
Code:
graph TD
A[Start] --> B{Is it encrypted?}
B -->|Yes| C[Store locally]
B -->|No| D[Encrypt first]
D --> C
C --> E[Sync to cloud]
E --> F[End]
style C fill:#4CAF50
style D fill:#FF9800
style E fill:#2196F3
Graph Directions:
TDorTB- Top to bottomBT- Bottom to topLR- Left to rightRL- Right to left
2. Sequence Diagrams
Great for API interactions, user flows, and communication protocols.
Example:
Code:
sequenceDiagram
participant User
participant App
participant Storage
participant Encryption
User->>App: Create note
App->>Encryption: Encrypt content
Encryption-->>App: Encrypted blob
App->>Storage: Store encrypted note
Storage-->>User: ✓ Saved
Note over App,Storage: All local, no network
Arrows:
->Solid line without arrow-->Dotted line without arrow->>Solid line with arrowhead-->>Dotted line with arrowhead
3. Class Diagrams
Useful for software architecture, data models, and relationships.
Example:
Code:
classDiagram
class Note {
+String id
+String title
+String content
+Date created
+Date modified
+encrypt()
+decrypt()
+save()
}
class Tag {
+String name
+String color
+List~Note~ notes
}
class Encryption {
+encrypt(data, key)
+decrypt(data, key)
+deriveKey(password)
}
Note "1" --> "*" Tag : has
Note --> Encryption : uses
4. State Diagrams
Perfect for state machines, app states, and user journeys.
Example:
Code:
stateDiagram-v2
[*] --> Unlocked
Unlocked --> Locked : Set password
Locked --> Unlocked : Correct password
Locked --> Locked : Wrong password
Unlocked --> AutoLocked : Timeout
AutoLocked --> Unlocked : Authenticate
Unlocked --> [*]
note right of Locked
AES-256-GCM encryption
PBKDF2 600k iterations
end note
5. Gantt Charts
Great for project planning, roadmaps, and timelines.
Example:
Code:
gantt
title Yooz Notes Roadmap
dateFormat YYYY-MM-DD
section MVP1
Editor & Tags :done, 2025-09-01, 30d
Search & Persistence :done, 2025-10-01, 15d
section MVP1.5
Encryption :done, 2025-10-15, 10d
PWA & Responsive :active, 2025-10-25, 7d
Mobile Apps :2025-11-01, 14d
section MVP2
Google Drive Sync :2026-01-01, 30d
Backlinks :2026-02-01, 20d
Templates :2026-02-21, 15d
6. Pie Charts
Simple data visualization for proportions and percentages.
Example:
Code:
pie title Storage Distribution
"Notes" : 45
"Images" : 25
"Diagrams" : 20
"Metadata" : 10
7. Entity Relationship Diagrams
Database schema and data relationships.
Example:
Code:
erDiagram
NOTE ||--o{ TAG : has
NOTE {
string id PK
string title
string content
datetime created
datetime modified
boolean encrypted
}
TAG {
string name PK
string color
}
NOTE }o--|| USER : belongs_to
USER {
string id PK
string email
string master_key
}
8. Git Graphs
Visualize git workflows and branching strategies.
Example:
Code:
gitGraph
commit id: "Initial commit"
branch develop
checkout develop
commit id: "Add editor"
commit id: "Add tags"
checkout main
merge develop tag: "v1.0"
branch feature-encryption
checkout feature-encryption
commit id: "Implement crypto"
commit id: "Add auto-lock"
checkout develop
merge feature-encryption
checkout main
merge develop tag: "v1.5"
9. User Journey
Map user experiences and touchpoints.
Styling & Customization
Node Shapes
Flowcharts:
A[Rectangle]- RectangleB(Rounded)- Rounded edgesC([Stadium])- Stadium-shapedD[[Subroutine]]- SubroutineE[(Database)]- CylinderF((Circle))- CircleG>Asymmetric]- Asymmetric shapeH{Diamond}- Diamond (decision)I{{Hexagon}}- Hexagon
Colors
Style nodes with fill colors:
style NodeID fill:#COLOR
Example:
Tips & Best Practices
1. Keep It Simple
Start with simple diagrams and add complexity as needed.
2. Use Comments
Add comments in your Mermaid code (lines starting with %%):
graph TD
%% This is a comment
A[Start] --> B[End]
3. Subgraphs for Organization
Group related nodes:
4. Combine with Markdown
Mix diagrams with regular text for comprehensive documentation:
Example: Note Creation Flow
Our app follows this data flow:
Key components:
- UI: The note editor interface
- State: Application state management
- Storage: Encrypted local storage
- Encryption: Secure encryption layer
Common Use Cases
Project Planning
Use Gantt charts for roadmaps and timelines.
System Architecture
Flowcharts and sequence diagrams for technical documentation.
Data Modeling
ER diagrams and class diagrams for database design.
Process Documentation
Flowcharts and state diagrams for workflows.
User Flows
Sequence diagrams and user journeys for UX design.
Troubleshooting
Diagram not rendering?
- Check syntax (use Mermaid Live Editor to test)
- Ensure proper code fence:
```mermaid - Verify closing fence:
```
Complex diagram slow?
- Simplify by breaking into multiple diagrams
- Reduce number of nodes and connections
- Use subgraphs to organize
Learn More
- Mermaid Official Docs - Complete reference
- Mermaid Live Editor - Test diagrams online
- Markdown Guide - Other markdown features
- Diagrams Guide - Practical examples
Ready to create amazing diagrams? Open Yooz Notes and start diagramming!