diff --git a/src/EAVFW.Extensions.Docs.Generator/ReadMeDocumentationGenerator.cs b/src/EAVFW.Extensions.Docs.Generator/ReadMeDocumentationGenerator.cs
index bae36e2..7f55d74 100644
--- a/src/EAVFW.Extensions.Docs.Generator/ReadMeDocumentationGenerator.cs
+++ b/src/EAVFW.Extensions.Docs.Generator/ReadMeDocumentationGenerator.cs
@@ -102,13 +102,13 @@ public async Task Write(FileInfo outputLocation, string component)
await writer.WriteLineAsync("## Table of contents");
var index = 2;
- await writer.WriteLineAsync("1. [Class diagram](#class-diagram)");
+ await writer.WriteLineAsync("1. [Class diagram](#Class-diagram)");
foreach (var (key, value) in entitiesToWrite)
{
- await writer.WriteLineAsync($"{index++}. [{key}](#{_schemaNameManager.ToSchemaName(key)})");
+ await writer.WriteLineAsync($"{index++}. [{key}](#{key.Replace(' ', '-')})");
}
- await writer.WriteLineAsync("# Class diagram ");
+ await writer.WriteLineAsync("# Class diagram");
await writer.WriteAsync(EntitiesToClassDiagram(_manifestObject, component));
var ignored = new List
@@ -116,7 +116,7 @@ public async Task Write(FileInfo outputLocation, string component)
foreach (var (key, value) in entitiesToWrite)
{
- await writer.WriteLineAsync($"## {key} ");
+ await writer.WriteLineAsync($"## {key}");
await writer.WriteLineAsync(value.Description);
@@ -276,15 +276,20 @@ private string EntitiesToClassDiagram(ManifestDefinition manifest, string compon
{
var diagramBuilder = new StringBuilder();
- diagramBuilder.AppendLine("```mermaid");
+ diagramBuilder.AppendLine("::: mermaid");
diagramBuilder.AppendLine("classDiagram");
diagramBuilder.AppendLine($"\tnote \"Class diagram for {component}\"");
var t = new DefaultSchemaNameManager();
- var entities = manifest.Entities.Where(entity =>
- entity.Value.AdditionalFields.ContainsKey("moduleSource") &&
- entity.Value.AdditionalFields["moduleSource"].ToString() == component);
+ var entities = manifest.Entities;
+ if (!string.IsNullOrWhiteSpace(component))
+ {
+ entities = manifest.Entities.Where(entity =>
+ entity.Value.AdditionalFields.ContainsKey("moduleSource") &&
+ entity.Value.AdditionalFields["moduleSource"].ToString() == component)
+ .ToDictionary(x => x.Key, x => x.Value);
+ }
var ignored = new List
{ "Modified On", "Modified By", "Created By", "Created On", "Row Version", "Owner" };
@@ -293,7 +298,7 @@ private string EntitiesToClassDiagram(ManifestDefinition manifest, string compon
{
var attributes = value.Attributes.Where(x => !ignored.Contains(x.Key)).ToList();
- diagramBuilder.AppendLine($"\tclass {t.ToSchemaName(key)}[\"{key}\"]{{");
+ diagramBuilder.AppendLine($"\tclass {t.ToSchemaName(key)}{{");
foreach (var (s, attributeDefinitionBase) in attributes)
{
if (attributeDefinitionBase is AttributeObjectDefinition o)
@@ -327,7 +332,7 @@ private string EntitiesToClassDiagram(ManifestDefinition manifest, string compon
}
}
- diagramBuilder.AppendLine("```");
+ diagramBuilder.AppendLine(":::");
return diagramBuilder.ToString();
}
}