D2Sharp 0.1.0-alpha.7
dotnet add package D2Sharp --version 0.1.0-alpha.7
NuGet\Install-Package D2Sharp -Version 0.1.0-alpha.7
<PackageReference Include="D2Sharp" Version="0.1.0-alpha.7" />
paket add D2Sharp --version 0.1.0-alpha.7
#r "nuget: D2Sharp, 0.1.0-alpha.7"
// Install D2Sharp as a Cake Addin #addin nuget:?package=D2Sharp&version=0.1.0-alpha.7&prerelease // Install D2Sharp as a Cake Tool #tool nuget:?package=D2Sharp&version=0.1.0-alpha.7&prerelease
D2Sharp
D2Sharp is a .NET wrapper for the D2 diagramming library, allowing you to create diagrams programmatically in your .NET applications.
Installation
You can install D2Sharp via NuGet Package Manager:
Install-Package D2Sharp
Or via .NET CLI:
dotnet add package D2Sharp
Usage
Here's a basic example of how to use D2Sharp:
using D2Sharp;
using Microsoft.Extensions.Logging;
// Create a logger (optional)
var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole());
var logger = loggerFactory.CreateLogger<D2Wrapper>();
// Create an instance of D2Wrapper
var wrapper = new D2Wrapper(logger);
// Define your D2 script
var script = @"
direction: right
A -> B -> C
";
// Render the diagram
try
{
string svg = wrapper.RenderDiagram(script);
// Use the SVG string as needed (e.g., save to file, display in a web page)
}
catch (Exception ex)
{
Console.WriteLine($"Error rendering diagram: {ex.Message}");
}
Error Handling
The RenderDiagram
method now returns a RenderResult
object, which includes both the rendered SVG (if successful) and detailed error information (if rendering failed). Here's how you can use it:
var wrapper = new D2Wrapper();
string script = @"
A -> B
B -> // This line has an error
C -> D
";
var result = wrapper.RenderDiagram(script);
if (result.IsSuccess)
{
Console.WriteLine("Diagram rendered successfully:");
Console.WriteLine(result.Svg);
}
else
{
Console.WriteLine("Error rendering diagram:");
Console.WriteLine($"Message: {result.Error.Message}");
if (result.Error.LineNumber.HasValue)
{
Console.WriteLine($"Line {result.Error.LineNumber}: {result.Error.LineContent}");
}
}
Features
- Render D2 diagrams as SVG
- Cross-platform support (Windows, macOS, Linux)
- Integration with .NET logging
Requirements
- .NET 8.0 or later
Acknowledgements
D2Sharp is built on top of the following open-source projects:
Issues and Contributions
For issues, feature requests, or contributions, please visit the GitHub repository.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- Microsoft.Extensions.Logging (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.1.0-alpha.7 | 98 | 8/6/2024 |
0.1.0-alpha.6 | 57 | 8/5/2024 |