mermaid_go

package module
v0.0.16 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 5, 2024 License: MIT Imports: 7 Imported by: 1

README

mermaid.go

mermaid.go is a library for invoking mermaid.js and getting rending result.

sequenceDiagram
    Actor A as User
    participant B as mermaid.go
    participant C as chromedp

    A ->>+ B: NewRenderEngine()
    B ->>+ C: Lanch new instance of chrome and eval JS library
    C -->> B: 
    B -->> A: 
    
    loop Render Process
        A ->> B: Render()
        B ->> C: mermaid.render()
        C ->> B: { svg, boxModel, exceptions }
        B ->> A: Result{ Svg, BoxModel Error }
    end

    A ->> B: Cancel()
    B -->> C: Context done
    C -->>- C: Shutdown chrome instance
    B -->>- A: 

Installation:

go get -u github.com/dreampuf/mermaid.go

Example:

An example is available here.

How to build

  1. Checkout the code base git clone https://github.com/dreampuf/mermaid.go.git
  2. Fetch the latest version of mermaid.js
    curl -LO https://unpkg.com/mermaid/dist/mermaid.min.js Or if you want a specific version curl -LO https://unpkg.com/mermaid@10.3.0/dist/mermaid.min.js
  3. Test it
    go test ./...

License

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DEFAULT_PAGE = `data:text/html,<!DOCTYPE html>
<html lang="en">
    <head><meta charset="utf-8"></head>
    <body></body>
</html>`
View Source
var ERR_MERMAID_NOT_READY = errors.New("mermaid.js initial failed")
View Source
var SOURCE_MERMAID string

Functions

This section is empty.

Types

type BoxModel added in v0.0.4

type BoxModel = dom.BoxModel

type RenderEngine

type RenderEngine struct {
	// contains filtered or unexported fields
}

func NewRenderEngine

func NewRenderEngine(ctx context.Context, statements ...string) (*RenderEngine, error)

func (*RenderEngine) Cancel

func (r *RenderEngine) Cancel()

func (*RenderEngine) Render

func (r *RenderEngine) Render(content string) (string, error)

func (*RenderEngine) RenderAsPng added in v0.0.3

func (r *RenderEngine) RenderAsPng(content string) ([]byte, *BoxModel, error)

func (*RenderEngine) RenderAsScaledPng added in v0.0.12

func (r *RenderEngine) RenderAsScaledPng(content string, scale float64) ([]byte, *BoxModel, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL