diff --git a/src/Elastic.Markdown/DocumentationGenerator.cs b/src/Elastic.Markdown/DocumentationGenerator.cs index 517f847ec..728021163 100644 --- a/src/Elastic.Markdown/DocumentationGenerator.cs +++ b/src/Elastic.Markdown/DocumentationGenerator.cs @@ -72,7 +72,6 @@ public async Task GenerateAll(Cancel ctx) await ExtractEmbeddedStaticResources(ctx); - _logger.LogInformation($"Completing diagnostics channel"); Context.Collector.Channel.TryComplete(); @@ -92,6 +91,7 @@ private async Task ProcessDocumentationFiles(HashSet offendingFiles, Dat { var processedFileCount = 0; var exceptionCount = 0; + var totalFileCount = DocumentationSet.Files.Count; _ = Context.Collector.StartAsync(ctx); await Parallel.ForEachAsync(DocumentationSet.Files, ctx, async (file, token) => { @@ -112,8 +112,9 @@ await Parallel.ForEachAsync(DocumentationSet.Files, ctx, async (file, token) => } if (processedFiles % 100 == 0) - _logger.LogInformation($"-> Handled {processedFiles} files"); + _logger.LogInformation($"-> Processed {processedFiles}/{totalFileCount} files"); }); + _logger.LogInformation($"-> Processed {processedFileCount}/{totalFileCount} files"); } private async Task ExtractEmbeddedStaticResources(Cancel ctx) @@ -149,7 +150,7 @@ private async Task ProcessFile(HashSet offendingFiles, DocumentationFile return; } - _logger.LogTrace($"{file.SourceFile.FullName}"); + _logger.LogTrace($"--> {file.SourceFile.FullName}"); var outputFile = OutputFile(file.RelativePath); if (file is MarkdownFile markdown) await HtmlWriter.WriteAsync(outputFile, markdown, token); diff --git a/src/Elastic.Markdown/Myst/CodeBlocks/CallOutParser.cs b/src/Elastic.Markdown/Myst/CodeBlocks/CallOutParser.cs index 97a8a1569..afafef40d 100644 --- a/src/Elastic.Markdown/Myst/CodeBlocks/CallOutParser.cs +++ b/src/Elastic.Markdown/Myst/CodeBlocks/CallOutParser.cs @@ -8,9 +8,9 @@ namespace Elastic.Markdown.Myst.CodeBlocks; public static partial class CallOutParser { - [GeneratedRegex(@"^.+\S+.*?\s<\d+>$", RegexOptions.IgnoreCase, "en-US")] + [GeneratedRegex(@"^.+\S+.*?\s<\d+>$", RegexOptions.IgnoreCase, 2000, "en-US")] public static partial Regex CallOutNumber(); - [GeneratedRegex(@"^.+\S+.*?\s(?:\/\/|#)\s[^""\/#]+$", RegexOptions.IgnoreCase, "en-US")] + [GeneratedRegex(@"^.+\S+.*?\s(?:\/\/|#)\s[^""\/#]+$", RegexOptions.IgnoreCase, 2000, "en-US")] public static partial Regex MathInlineAnnotation(); } diff --git a/src/Elastic.Markdown/Myst/CodeBlocks/EnhancedCodeBlockParser.cs b/src/Elastic.Markdown/Myst/CodeBlocks/EnhancedCodeBlockParser.cs index 7326b4ec4..5cd0787c8 100644 --- a/src/Elastic.Markdown/Myst/CodeBlocks/EnhancedCodeBlockParser.cs +++ b/src/Elastic.Markdown/Myst/CodeBlocks/EnhancedCodeBlockParser.cs @@ -119,7 +119,7 @@ public override bool Close(BlockProcessor processor, Block block) continue; List callOuts = []; - var hasClassicCallout = span.IndexOf("<") > 0; + var hasClassicCallout = span.IndexOf("<") > 0 && span.LastIndexOf(">") == span.Length - 1; if (hasClassicCallout) { var matchClassicCallout = CallOutParser.CallOutNumber().EnumerateMatches(span); diff --git a/src/Elastic.Markdown/Slices/HtmlWriter.cs b/src/Elastic.Markdown/Slices/HtmlWriter.cs index b1c0962b7..0616b769c 100644 --- a/src/Elastic.Markdown/Slices/HtmlWriter.cs +++ b/src/Elastic.Markdown/Slices/HtmlWriter.cs @@ -28,6 +28,9 @@ public HtmlWriter(DocumentationSet documentationSet, IFileSystem writeFileSystem public ILoggerFactory LoggerFactory { get; } public ServiceProvider ServiceProvider { get; } + private Task RenderEmptyString(MarkdownFile markdown, Cancel ctx = default) => + Task.FromResult(string.Empty); + private async Task RenderNavigation(MarkdownFile markdown, Cancel ctx = default) { var slice = Layout._TocTree.Create(new NavigationViewModel