算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
mermaid-diagram【设计与创意】Generate beautiful Mermaid diagrams — flowcharts, sequence, ER, class, state, pie, gantt, mindmap, timeline, gitgraph, C4, kanban, block, quadrant, sankey, XY charts. Renders to PNG locally and Markdown for GitHub. Use when the user asks for diagrams, visualizations, schemas, flowcharts, architecture overviews, database schemas, API flows, project ti…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Generate well-structured, colorful diagrams using Mermaid syntax. Produces both editable source files and rendered PNGs.
Activate when the user mentions any of:
Mermaid CLI renders diagrams to PNG/SVG:
npx --yes @mermaid-js/mermaid-cli -i input.mmd -o output.png -b white --scale 2
Auto-installs via npx on first use. No setup required.
<name>.mmd file with Mermaid syntaxnpx --yes @mermaid-js/mermaid-cli -i <name>.mmd -o <name>.png -b white --scale 2.md with embedded ```mermaid blocksAlways produce both: <name>.mmd (editable source) + <name>.png (rendered image)
| User Wants | Diagram Type | Syntax Keyword |
|---|---|---|
| Process flow, decision tree, algorithm | Flowchart | flowchart TD or flowchart LR |
| API calls, request/response, message passing | Sequence | sequenceDiagram |
| Database tables and relationships | ER Diagram | erDiagram |
| Object-oriented design, interfaces | Class Diagram | classDiagram |
| Lifecycle, state transitions | State Diagram | stateDiagram-v2 |
| Data distribution, percentages | Pie Chart | pie title ... |
| Project schedule, milestones | Gantt Chart | gantt |
| Idea exploration, topic breakdown | Mindmap | mindmap |
| Historical events, chronological | Timeline | timeline |
| Git branching, merge strategy | Git Graph | gitgraph |
| System architecture (C4 model) | C4 Diagram | C4Context / C4Container / C4Component / C4Dynamic / C4Deployment |
| Task board, workflow stages | Kanban | kanban |
| Component layout, block arrangement | Block Diagram | block |
| Two-axis comparison, priority matrix | Quadrant Chart | quadrantChart |
| Data flow volumes, proportional | Sankey | sankey |
| Data plots, bar/line charts | XY Chart | xychart |
| User experience steps, satisfaction | User Journey | journey |
| Compliance, traceability | Requirement | requirementDiagram |
| Network topology, cloud infra | Architecture | architecture-beta |
| Org chart, hierarchy | Flowchart TD | flowchart TD with subgraphs |
| Radar/spider comparison | Radar | radar-beta |
Direction: TD (top-down), LR (left-right), BT (bottom-top), RL (right-left)
Node shapes:
A["Rectangle"] B("Rounded") C(["Stadium"])
D[["Subroutine"]] E[("Cylinder/DB")] F(("Circle"))
G>"Asymmetric"] H{"Diamond"} I{{"Hexagon"}}
J[/"Parallelogram"/] K[\"Parallelogram"\]
Link types:
A --> B %% Arrow
A --- B %% Line (no arrow)
A -->|"label"| B %% Arrow with label
A -.-> B %% Dotted arrow
A ==> B %% Thick arrow
A <--> B %% Bidirectional
A --x B %% Cross end
A --o B %% Circle end
Example:
flowchart TD
START(["Start"]) --> INPUT["User Input"]
INPUT --> VALIDATE{"Valid?"}
VALIDATE -->|Yes| PROCESS["Process Data"]
VALIDATE -->|No| ERROR["Show Error"]
ERROR --> INPUT
PROCESS --> DB[("Database")]
DB --> RESPONSE["Return Response"]
RESPONSE --> END(["End"])
style START fill:#a7f3d0,stroke:#047857
style END fill:#a7f3d0,stroke:#047857
style ERROR fill:#fee2e2,stroke:#dc2626
style VALIDATE fill:#fef3c7,stroke:#b45309
style DB fill:#dbeafe,stroke:#1e40af
Participant types: participant (box), actor (stick figure)
Arrow types: ->> (solid), -->> (dashed), -x (cross), -) (async)
Activation: activate/deactivate or +/- shorthand
Features: Note, loop, alt/else, opt, par, critical, break, rect (highlight)
sequenceDiagram
actor U as User
participant FE as Frontend
participant API as API Server
participant DB as Database
participant CACHE as Redis Cache
U->>+FE: Click "Load Data"
FE->>+API: GET /api/data
API->>CACHE: Check cache
alt Cache hit
CACHE-->>API: Return cached data
else Cache miss
API->>+DB: SELECT * FROM items
DB-->>-API: Result set
API->>CACHE: Store in cache (TTL: 5m)
end
API-->>-FE: JSON response
FE-->>-U: Render table
Note over API,CACHE: Cache reduces DB load by ~80%
Relationship types:
||--|| exactly one to exactly one
||--o{ exactly one to zero or more
}|--|{ one or more to one or more
}o--o{ zero or more to zero or more
erDiagram
USER ||--o{ ORDER : places
USER {
int id PK
string email UK
string name
string password_hash
datetime created_at
}
ORDER ||--|{ ORDER_ITEM : contains
ORDER {
int id PK
int user_id FK
string status
decimal total
datetime created_at
}
PRODUCT ||--o{ ORDER_ITEM : "ordered in"
PRODUCT {
int id PK
string name
string sku UK
decimal price
int stock
}
ORDER_ITEM {
int id PK
int order_id FK
int product_id FK
int quantity
decimal unit_price
}
CATEGORY ||--o{ PRODUCT : contains
CATEGORY {
int id PK
string name
int parent_id FK
}
classDiagram
class Animal {
<<abstract>>
+String name
+int age
+makeSound()* void
+move() void
}
class Dog {
+String breed
+fetch() void
+makeSound() void
}
class Cat {
+bool isIndoor
+purr() void
+makeSound() void
}
class Pet {
<<interface>>
+getName() String
+getOwner() Person
}
Animal <|-- Dog : extends
Animal <|-- Cat : extends
Pet <|.. Dog : implements
Pet <|.. Cat : implements
Relationship types: <|-- inheritance, <|.. implementation, *-- composition, o-- aggregation, --> association, ..> dependency
stateDiagram-v2
[*] --> Draft
Draft --> Review : submit
Review --> Approved : approve
Review --> Draft : request_changes
Approved --> Published : publish
Published --> Archived : archive
Archived --> Draft : restore
Published --> [*]
state Review {
[*] --> Pending
Pending --> InReview : assign_reviewer
InReview --> Pending : reassign
}
note right of Draft : Author can edit
note right of Published : Visible to public
pie title Tech Stack Distribution
"TypeScript" : 35
"Python" : 25
"Go" : 15
"Rust" : 10
"Other" : 15
gantt
title Project Roadmap Q1 2026
dateFormat YYYY-MM-DD
axisFormat %b %d
section Design
Requirements :done, des1, 2026-01-01, 7d
Wireframes :done, des2, after des1, 5d
UI Design :active, des3, after des2, 10d
section Development
Backend API :dev1, after des2, 14d
Frontend :dev2, after des3, 14d
Integration :dev3, after dev1, 7d
section Testing
Unit Tests :test1, after dev1, 7d
E2E Tests :test2, after dev3, 5d
UAT :test3, after test2, 5d
section Launch
Deployment :milestone, launch, after test3, 0d
mindmap
root((Project Architecture))
Frontend
React
Next.js
Tailwind CSS
Backend
Node.js
Express
GraphQL
Database
PostgreSQL
Redis Cache
Infrastructure
AWS
Docker
Kubernetes
CI/CD
GitHub Actions
Terraform
timeline
title Product Evolution
2024 : MVP Launch
: Core features
: 100 users
2025 : Series A
: Mobile app
: 10K users
: API platform
2026 : Enterprise
: SOC2 compliance
: 100K users
: International
gitgraph
commit id: "init"
commit id: "setup"
branch develop
checkout develop
commit id: "feature-a"
commit id: "feature-b"
branch feature/auth
checkout feature/auth
commit id: "auth-impl"
commit id: "auth-tests"
checkout develop
merge feature/auth id: "merge-auth"
checkout main
merge develop id: "release-1.0" tag: "v1.0.0"
commit id: "hotfix" type: HIGHLIGHT
C4Context
title System Context — E-Commerce Platform
Person(customer, "Customer", "Browses and purchases products")
Person(admin, "Admin", "Manages inventory and orders")
System(ecom, "E-Commerce Platform", "Handles catalog, cart, checkout, orders")
System_Ext(payment, "Stripe", "Payment processing")
System_Ext(email, "SendGrid", "Transactional emails")
System_Ext(shipping, "ShipStation", "Shipping & fulfillment")
Rel(customer, ecom, "Uses", "HTTPS")
Rel(admin, ecom, "Manages", "HTTPS")
Rel(ecom, payment, "Processes payments", "API")
Rel(ecom, email, "Sends emails", "API")
Rel(ecom, shipping, "Creates shipments", "API")
kanban
backlog[Backlog]
task1[Design login page]
task2[API rate limiting]
todo[Todo]
task3[User authentication]
task4[Password reset flow]
inprogress[In Progress]
task5[Dashboard layout]
task6[Search functionality]
review[Review]
task7[Profile settings]
done[Done]
task8[Project setup]
task9[Database schema]
block
columns 3
Frontend blockArrowId1<[" "]>(right) Backend
space:2 down<[" "]>(down)
Disk left<[" "]>(left) Database[("Database")]
classDef front fill:#a7f3d0,stroke:#047857
classDef back fill:#dbeafe,stroke:#1e40af
class Frontend front
class Backend,Database back
quadrantChart
title Technology Evaluation
x-axis Low Effort --> High Effort
y-axis Low Impact --> High Impact
quadrant-1 Do First
quadrant-2 Plan Carefully
quadrant-3 Delegate
quadrant-4 Eliminate
TypeScript: [0.8, 0.9]
GraphQL: [0.6, 0.7]
Microservices: [0.9, 0.6]
Monorepo: [0.3, 0.5]
Docker: [0.4, 0.8]
Kubernetes: [0.85, 0.75]
xychart
title "Monthly Revenue (2026)"
x-axis [Jan, Feb, Mar, Apr, May, Jun]
y-axis "Revenue ($K)" 0 --> 120
bar [45, 52, 68, 75, 89, 110]
line [45, 52, 68, 75, 89, 110]
journey
title Onboarding Experience
section Sign Up
Visit landing page: 5: User
Click "Get Started": 4: User
Fill registration form: 3: User
Verify email: 2: User
section First Use
Complete tutorial: 4: User
Create first project: 5: User
Invite team member: 3: User
section Retention
Return next day: 4: User
Upgrade to paid: 2: User
requirementDiagram
requirement high_availability {
id: REQ-001
text: System must have 99.9% uptime
risk: high
verifymethod: test
}
requirement data_encryption {
id: REQ-002
text: All data must be encrypted at rest and in transit
risk: medium
verifymethod: inspection
}
element load_balancer {
type: service
docref: arch/lb.md
}
element tls_cert {
type: config
docref: infra/tls.md
}
load_balancer - satisfies -> high_availability
tls_cert - satisfies -> data_encryption
sankey
Source A,Target X,25
Source A,Target Y,15
Source B,Target X,10
Source B,Target Z,30
Target X,Final,35
Target Y,Final,15
Target Z,Final,30
architecture-beta
group cloud(cloud)[Cloud Infrastructure]
service api(server)[API Server] in cloud
service db(database)[PostgreSQL] in cloud
service cache(database)[Redis] in cloud
service cdn(internet)[CDN]
cdn:R --> L:api
api:R --> L:db
api:B --> T:cache
| Purpose | Fill | Stroke | When to Use |
|---|---|---|---|
| Primary / Main | #dbeafe | #1e40af | Core components, main systems |
| Secondary | #e0e7ff | #4338ca | Supporting components |
| Action / Trigger | #fed7aa | #c2410c | User actions, entry points, APIs |
| Success / Output | #a7f3d0 | #047857 | Results, endpoints, success states |
| Decision / Logic | #fef3c7 | #b45309 | Conditionals, routers, switches |
| AI / Processing | #ddd6fe | #6d28d9 | AI, ML, async processing |
| Error / Warning | #fee2e2 | #dc2626 | Errors, alerts, failures |
| Database / Storage | #e0f2fe | #0369a1 | DBs, caches, file storage |
| External / Third-party | #f3f4f6 | #6b7280 | External services, 3rd party APIs |
| Highlight | #fef9c3 | #a16207 | Important callouts |
Individual nodes:
style NODE_ID fill:#color,stroke:#color,stroke-width:2px
Class-based (reusable):
classDef primary fill:#dbeafe,stroke:#1e40af,stroke-width:2px
classDef error fill:#fee2e2,stroke:#dc2626,stroke-width:2px
class NodeA,NodeB primary
class ErrorNode error
Subgraph styling:
style SubgraphName fill:#dbeafe,stroke:#1e40af,stroke-width:2px
Flowcharts & Block Diagrams:
LR for processes, TD for hierarchies.A["My Label"].(["Start"]). DBs: cylinder [("DB")]. Decisions: diamond {"Q?"}.Sequence Diagrams:
8. Use actor for humans, participant for systems.
9. Activation bars (+/-) for request-response pairs.
10. Use alt/opt/par/loop for conditional/parallel/repeated logic.
All Diagrams:
11. Use <br/> for multiline — max 3 lines per node.
12. Add accTitle and accDescr for accessibility (screen readers).
13. Don't rely on color alone — combine with shapes, line styles, and labels.
Add to any diagram for screen reader support:
accTitle: Descriptive title of the diagram
accDescr: Brief description of what the diagram shows
Example:
flowchart TD
accTitle: User Authentication Flow
accDescr: Shows login, validation, and session creation steps
A["Login"] --> B{"Valid?"}
B -->|Yes| C["Create Session"]
B -->|No| D["Show Error"]
# PNG (recommended for local viewing)
npx --yes @mermaid-js/mermaid-cli -i input.mmd -o output.png -b white --scale 2
# SVG (scalable, good for docs)
npx --yes @mermaid-js/mermaid-cli -i input.mmd -o output.svg -b white
# PDF
npx --yes @mermaid-js/mermaid-cli -i input.mmd -o output.pdf -b white
# Custom width
npx --yes @mermaid-js/mermaid-cli -i input.mmd -o output.png -b white --scale 2 --width 1600
# With config (dark theme, etc)
npx --yes @mermaid-js/mermaid-cli -i input.mmd -o output.png -b white -c config.json
| Scenario | Recommended Approach |
|---|---|
| "Show me the architecture" | Flowchart with subgraphs OR C4 Context |
| "Database design" | ER diagram with PKs/FKs |
| "How does the API work?" | Sequence diagram with participants |
| "What's the deploy process?" | Flowchart LR with stages |
| "Project timeline" | Gantt chart with sections |
| "Compare technologies" | Quadrant chart |
| "Show data breakdown" | Pie chart |
| "Git branching strategy" | Git graph |
| "Feature lifecycle" | State diagram |
| "System components" | Block diagram or C4 Container |
| "Brainstorm topics" | Mindmap |
| "Sprint board" | Kanban |
| "Revenue/metrics over time" | XY chart |
| "Data pipeline flow" | Flowchart with styled nodes |
| "Microservice communication" | Sequence + Flowchart combo |
| "User experience / satisfaction" | User Journey diagram |
| "Compliance / traceability" | Requirement diagram |
| "Cloud infrastructure / topology" | Architecture diagram (beta) |
| "Org chart / team hierarchy" | Flowchart TD with subgraphs |
| "Data flow volumes" | Sankey diagram |
| "Skill/feature comparison" | Radar chart (beta) |