|
|
12 months ago | |
|---|---|---|
| .. | ||
| Extensions | 12 months ago | |
| html | 12 months ago | |
| ClassDiagrammer.cs | 12 months ago | |
| ClassDiagrammerFactory.cs | 12 months ago | |
| EmbeddedResource.cs | 12 months ago | |
| Factory.BuildTypes.cs | 12 months ago | |
| Factory.FlatMembers.cs | 12 months ago | |
| Factory.Relationships.cs | 12 months ago | |
| Factory.TypeIds.cs | 12 months ago | |
| Factory.TypeNames.cs | 12 months ago | |
| GenerateHtmlDiagrammer.cs | 12 months ago | |
| Generator.Run.cs | 12 months ago | |
| ReadMe.md | 12 months ago | |
| XmlDocumentationFormatter.cs | 12 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.htmlalongside other resources like thescript.jsat 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.