NOTE: This site has just upgraded to Forester 5.x and is still having some style and functionality issues, we will fix them ASAP.

test mermaid [uts-016F]

We test hybrid markdown with forester markup and mermaid diagrams.

They should render to a mermaid diagram or fail gracefully as the mermaid source code.

The following examples are taken from various DeepWiki generated by AI or official Mermaid examples.

graph TD
    RaftNode["raftNode"] --> WAL["Write-Ahead Log (WAL)"]
    RaftNode --> MemoryStorage["raft.MemoryStorage"]
    MemoryStorage --> Snapshot["snap.Snapshotter"]
    WAL --> DiskStorage["Storage on Disk"]
    Snapshot --> DiskStorage

    subgraph "Log Compaction"
        Snapshot -->|"Creates"| SnapshotFile["Snapshot File"]
        SnapshotFile -->|"Allows truncation of"| WAL
    end
sequenceDiagram
    participant App as "Your Application"
    participant Config as "embed.Config"
    participant Etcd as "embed.Etcd"
    participant Server as "etcdserver.EtcdServer"

    App->>Config: NewConfig()
    Note over Config: Configure options
    App->>Config: Customize configuration
    App->>Etcd: StartEtcd(config)
    Etcd->>Config: Validate()
    Etcd->>Server: NewServer(serverConfig)
    Etcd->>Server: Start()
    Etcd-->>App: Return Etcd instance
    App->>Etcd: Server.ReadyNotify()
    Note over App,Etcd: Wait for server to be ready
    App->>Etcd: Use etcd server
classDiagram
    class Config {
        +Name string
        +Dir string
        +WalDir string
        +ListenPeerUrls []url.URL
        +ListenClientUrls []url.URL
        +AdvertisePeerUrls []url.URL
        +AdvertiseClientUrls []url.URL
        +ClientTLSInfo transport.TLSInfo
        +PeerTLSInfo transport.TLSInfo
        +ClusterState string
        +InitialCluster string
        +InitialClusterToken string
        +LogOutput[] string
        +LogLevel string
        +Logger *zap.Logger
        +AuthToken string
        +ServerFeatureGate featuregate.FeatureGate
        +...other fields
    }

    Config --> ServerConfig
    Config --> ClientConfig
    Config --> SecurityConfig

    class ServerConfig {
        +Name string
        +DataDir string
        +...other fields
    }

    class ClientConfig {
        +ConnectionType ClientConnType
        +CertAuthority bool
        +AutoTLS bool
        +...other fields
    }

    class SecurityConfig {
        +CertFile string
        +KeyFile string
        +TrustedCAFile string
        +...other fields
    }
stateDiagram-v2
    [*] --> Still
    Still --> [*]
    Still --> Moving
    Moving --> Still
    Moving --> Crash
    Crash --> [*]
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"
%%{init: { 'logLevel': 'debug', 'timeline': {'disableMulticolor': true}}}%%
timeline
    title History of Social Media Platform
      2002 : LinkedIn
      2004 : Facebook : Google
      2005 : YouTube
      2006 : Twitter
sankey-beta
%% source,target,value
Electricity grid,Over generation / exports,104.453
Electricity grid,Heating and cooling - homes,113.726
Electricity grid,H2 conversion,27.14
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
gantt
    title A Gantt Diagram
    dateFormat MM-DD
    section sec 1
    task1     : a1, 2014-01-01, 3d
    task2     : after a1, 2d
    section sec 2
    task3      : 2014-01-02, 2d
    task4      : 4d