Mermaid diagram support for Goldmark Markdown parser.
BSD-3-CLAUSE License
This release brings support for rendering diagrams server-side
without the need for the MermaidJS CLI.
You can use this functionality by installing a mermaidcdp.Compiler
into your mermaid.Extender
or mermaid.ServerRenderer
.
For example:
import "go.abhg.dev/goldmark/mermaid/mermaidcdp"
compiler, err := mermaidcdp.New(&mermaidcdp.Config{
JSSource: mermaidJSSource, // contents of mermaid.min.js
})
if err != nil {
return err
}
defer compiler.Close()
md := goldmark.New(
goldmark.WithExtensions(
// ...
&mermaid.Extender{
Compiler: compiler,
},
),
// ...
)
Use of mermaidcdp is highly recommended for server-side rendering
if you have lots of diagrams or documents to render.
This should be substantially faster than invoking the mmdc
CLI.
MMDC
and Theme
fields.CLICompiler
instead.CLI
and MMDC
were flipped.MMDC
interface is now named CLI
, and it now accepts a context.MMDC
function to build an instance of it.MermaidJS
to MermaidURL
.DefaultMMDC
to DefaultCLI
.MMDC
field with the CLI
field.Compiler
s.CLICompiler
to render diagrams by invoking MermaidJS CLI. Plugs into ServerRenderer.Published by abhinav over 1 year ago
<pre>
instead of <div>
for diagram containers.ContainerTag
option.Full Changelog: https://github.com/abhinav/goldmark-mermaid/compare/v0.3.0...v0.4.0
Published by abhinav almost 2 years ago
go.abhg.dev/goldmark/mermaid
.Published by abhinav almost 2 years ago
<script>
tag.Extender.NoScript
or Transformer.NoScript
to true.Published by abhinav over 3 years ago