|
6 months ago | |
---|---|---|
.. | ||
Extensions | 6 months ago | |
html | 6 months ago | |
ClassDiagrammer.cs | 6 months ago | |
ClassDiagrammerFactory.cs | 6 months ago | |
EmbeddedResource.cs | 6 months ago | |
Factory.BuildTypes.cs | 6 months ago | |
Factory.FlatMembers.cs | 6 months ago | |
Factory.Relationships.cs | 6 months ago | |
Factory.TypeIds.cs | 6 months ago | |
Factory.TypeNames.cs | 6 months ago | |
GenerateHtmlDiagrammer.cs | 6 months ago | |
Generator.Run.cs | 6 months ago | |
ReadMe.md | 6 months ago | |
XmlDocumentationFormatter.cs | 6 months ago |
ReadMe.md
How does it work?
To extract the type info from the source assembly, ILSpy side-loads it including all its dependencies.
The extracted type info is structured into a model optimized for the HTML diagrammer and serialized to JSON. The model is a mix between drop-in type definitions in mermaid class diagram syntax and destructured metadata about relations, inheritance and documentation comments.
The JSON type info is injected into the
template.html
alongside other resources like thescript.js
at corresponding{{placeholders}}
. It comes baked into the HTML diagrammer to enable
- accessing the data and
- importing the mermaid module from a CDN
locally without running a web server while also avoiding CORS restrictions.
In the final step, the HTML diagrammer app re-assembles the type info based on the in-app type selection and rendering options to generate mermaid class diagrams with the types, their relations and as much inheritance detail as you need.