Scope (11) 
Additional options can be passed to mmdc with the third argument of MermaidJS. For example, if the PNG images are with too low resolution then the mmdc"--scale" option can be used:
The first argument can be a Graph object -- the corresponding mermaid-js graph is produced. Here is a random graph that has both directed and undirected edges (some edges have tags):
Here is the corresponding mermaid-js image:
Here is a left-to-right version:
Mermaid has a different type of diagrams: Flowchart, Sequence Diagram, Class Diagram, State Diagram, Entity Relationship Diagram, User Journey, Gantt, Pie Chart, Requirement Diagram, and others.
Sequence Diagram:
Here is Graphics expression of a Class Diagram obtained via a PDF file additionally tweaked to have large image size:
State diagram:
Entity Relationship Diagram:
User Journey -- PNG image is obtained and cropped:
Gantt chart:
Pie chart:
Requirement Diagram:
Options (5) 
Graphics
MermaidJS takes all options of Graphics. Those options are used when the second, type argument is "PDF".
MermaidDirectives (1) 
The option "MermaidDirectives" is used when the first argument is a Graph object. The value of that option is concatenated to the Mermaid graph specification prefix "graph". Here is an example:
MermaidOptions (2) 
The value of the option "MermaidOptions" is given to the CLI script "mmds". Here are the CLI options:
Here is examples with using different values for the theme option:
Prolog (2) 
The option "Prolog" can be used to used to specify code to be executed before the mermaid-js command. (The default value of the option "source ~/.zshrc".) The option value is passed to the option "Prolog" of ExternalEvaluate. Here is an example:
Note that "source ~/.zshrc" makes mermaid-js (the program "mmdc") reachable. if "mmdc" is unreachable, then the last image generated by MermaidJS will be returned (if the corresponding temporary file still exists):
ShellSession
This option allows the specification of shell session to be used by MermaidJS. Its values are external sessions objects (ExternalSessionObject) or "Shell".
Possible Issues (2) 
Make sure mermaid-cli is installed and accessible in WL. It mermaid-cli but cannot be found then (i) set up Shell's path variable(s) in a shell session and use the option "ShellSession" to pass that session to MermaidJS, or (ii) use appropriate Shell command to give to the option "Prolog". Consider using SetOptions. For example, here we use "ShellSession":
SetOptions[MermaidJS, "ShellSession" -> ExternalSessions[][[1]]]Here we use "Prolog":
SetOptions[MermaidJS, "Prolog" -> "source ~/.bashrc"]