Sign in

    moomaid

    Mermaid diagram renderer for MoonBit (ASCII and SVG output)

    mermaid
    diagram
    ascii
    svg
    flowchart
    sequence
    Download zip
    Author
    Version
    0.1.0
    License
    Apache-2.0
    Last updated
    8 months ago
    Downloads
    9K

    #mizchi/moonbit_template

    ActorKind

    pub enum ActorKind {
    Participant
    Actor
    }

    impl Eq for ActorKind
    impl Show for ActorKind

    Canvas

    type Canvas

    impl Eq for Canvas
    impl Show for Canvas

    Cell

    type Cell

    impl Eq for Cell
    impl Show for Cell

    Defaults

    type Defaults

    impl Eq for Defaults
    impl Show for Defaults

    DiagramColors

    pub struct DiagramColors {
    bg : String
    fg : String
    line : String
    accent : String
    muted : String
    surface : String
    border : String
    }

    impl Eq for DiagramColors

    DiagramKind

    pub enum DiagramKind {
    Flowchart
    State
    Class
    Er
    }

    impl Eq for DiagramKind
    impl Show for DiagramKind

    Direction

    pub enum Direction {
    TD
    LR
    BT
    RL
    }

    impl Eq for Direction
    impl Show for Direction

    GraphDiagram

    pub struct GraphDiagram {
    kind : DiagramKind
    direction : Direction
    nodes : Array[GraphNode]
    edges : Array[GraphEdge]
    }

    impl Eq for GraphDiagram

    GraphEdge

    pub struct GraphEdge {
    from : String
    to : String
    label : String?
    }

    impl Eq for GraphEdge
    impl Show for GraphEdge

    GraphNode

    pub struct GraphNode {
    id : String
    label : String
    shape : NodeShape
    sections : Array[Array[String]]
    }

    impl Eq for GraphNode
    impl Show for GraphNode

    LayoutBox

    type LayoutBox

    impl Eq for LayoutBox
    impl Show for LayoutBox

    MermaidDiagram

    pub enum MermaidDiagram {
    Graph(GraphDiagram)
    Sequence(SequenceDiagram)
    }

    NodeShape

    pub enum NodeShape {
    Rect
    Rounded
    Circle
    StateStart
    StateEnd
    }

    impl Eq for NodeShape
    impl Show for NodeShape

    Options

    pub(all) struct Options {
    use_ascii : Bool
    padding_x : Int
    padding_y : Int
    box_border_padding : Int
    max_width : Int
    }

    impl Eq for Options
    impl Show for Options

    Point

    type Point

    impl Eq for Point
    impl Show for Point

    PositionedActor

    type PositionedActor

    PositionedEdge

    type PositionedEdge

    PositionedGraph

    type PositionedGraph

    PositionedMessage

    type PositionedMessage

    PositionedNode

    type PositionedNode

    PositionedSequence

    type PositionedSequence

    SequenceActor

    pub struct SequenceActor {
    id : String
    label : String
    kind : ActorKind
    }

    impl Eq for SequenceActor

    SequenceDiagram

    pub struct SequenceDiagram {
    actors : Array[SequenceActor]
    messages : Array[SequenceMessage]
    }

    SequenceMessage

    pub struct SequenceMessage {
    from : String
    to : String
    text : String
    dashed : Bool
    }

    SvgOptions

    pub struct SvgOptions {
    bg : String?
    fg : String?
    line : String?
    accent : String?
    muted : String?
    surface : String?
    border : String?
    font : String?
    transparent : Bool?
    }

    impl Eq for SvgOptions
    impl Show for SvgOptions

    experimental_render_to_svg

    fn experimental_render_to_svg(text : String, options? : SvgOptions) -> String

    parse

    fn parse(text : String) -> MermaidDiagram

    render_to_string

    fn render_to_string(text : String, options? : Options) -> String

    svg_options_from_theme

    fn svg_options_from_theme(name : String, font? : String, transparent? : Bool) -> SvgOptions?

    themes

    let themes : Map[String, DiagramColors]

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io