StatelessMermaid 1.0.3
dotnet add package StatelessMermaid --version 1.0.3
NuGet\Install-Package StatelessMermaid -Version 1.0.3
<PackageReference Include="StatelessMermaid" Version="1.0.3" />
<PackageVersion Include="StatelessMermaid" Version="1.0.3" />
<PackageReference Include="StatelessMermaid" />
paket add StatelessMermaid --version 1.0.3
#r "nuget: StatelessMermaid, 1.0.3"
#:package StatelessMermaid@1.0.3
#addin nuget:?package=StatelessMermaid&version=1.0.3
#tool nuget:?package=StatelessMermaid&version=1.0.3
StatelessMermaid
Generates Mermaid state diagrams from Stateless state machines via a single extension method.
Installation
dotnet add package StatelessMermaid
Usage
Call ToMermaid() on any StateMachine<TState, TTrigger>:
var machine = new StateMachine<State, Trigger>(State.Offline);
// ... configure machine ...
string diagram = machine.ToMermaid();
The output is a fenced ```mermaid code block ready to embed in a Markdown document, GitHub README, or any Mermaid-compatible renderer.
Options
Pass a MermaidOptions instance to control rendering:
string diagram = machine.ToMermaid(new MermaidOptions
{
Title = "Device Lifecycle",
Direction = DiagramDirection.LeftToRight,
Version = DiagramVersion.V2,
IncludeMarkdownBlocks = true,
});
| Property | Type | Default | Description |
|---|---|---|---|
Title |
string? |
null |
Adds a Mermaid front-matter title above the diagram. |
Direction |
DiagramDirection |
TopToBottom |
Layout direction: TopToBottom, LeftToRight, RightToLeft, BottomToTop. |
Version |
DiagramVersion |
V2 |
V2 (stateDiagram-v2, recommended) or V1 (stateDiagram). Composite states, notes, and choice nodes require V2. |
IncludeMarkdownBlocks |
bool |
true |
Wraps output in a fenced ```mermaid block. Set to false when passing to a renderer that expects raw Mermaid syntax. |
Process-wide defaults
To avoid passing options on every call, configure a default once at startup:
MermaidOptions.ConfigureDefaults(new MermaidOptions
{
Direction = DiagramDirection.LeftToRight,
});
ConfigureDefaults returns an IDisposable that resets to the original defaults on dispose, which is useful in tests.
Provenance
Each release is published via an attested GitHub Actions build. To verify a package:
gh attestation verify <path-to-nupkg> --repo ChaseFlorell/StatelessMermaid
Full release history and attached .nupkg files are available on the GitHub Releases page.
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Stateless (>= 5.17.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.