diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs index b4f6927ce0..502b2f9065 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs @@ -21,7 +21,6 @@ using Volo.Docs.HtmlConverting; using Volo.Docs.Localization; using Volo.Docs.Projects; using Volo.Docs.Projects.Pdf.Markdig; -using Volo.Docs.Projects.Pdf.Markdown; namespace Volo.Docs { diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdown/AnchorLinkRenderer.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdig/AnchorLinkRenderer.cs similarity index 100% rename from modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdown/AnchorLinkRenderer.cs rename to modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdig/AnchorLinkRenderer.cs diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdown/AnchorLinkResolverExtension.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdig/AnchorLinkResolverExtension.cs similarity index 100% rename from modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdown/AnchorLinkResolverExtension.cs rename to modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdig/AnchorLinkResolverExtension.cs diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdown/MarkdigPdfDocumentToHtmlConverter.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdig/MarkdigPdfDocumentToHtmlConverter.cs similarity index 66% rename from modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdown/MarkdigPdfDocumentToHtmlConverter.cs rename to modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdig/MarkdigPdfDocumentToHtmlConverter.cs index 105db5a956..0d50244ee9 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdown/MarkdigPdfDocumentToHtmlConverter.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/Markdig/MarkdigPdfDocumentToHtmlConverter.cs @@ -1,14 +1,16 @@ using System; +using System.Collections.Generic; +using System.Linq; using System.Text.RegularExpressions; using System.Web; using Markdig; using Microsoft.Extensions.Options; using Volo.Abp.DependencyInjection; +using Volo.Docs.Documents; using Volo.Docs.HtmlConverting; -using Volo.Docs.Projects.Pdf.Markdig; using Volo.Docs.Utils; -namespace Volo.Docs.Projects.Pdf.Markdown; +namespace Volo.Docs.Projects.Pdf.Markdig; public class MarkdigPdfDocumentToHtmlConverter : IDocumentToHtmlConverter, ITransientDependency { @@ -22,7 +24,11 @@ public class MarkdigPdfDocumentToHtmlConverter : IDocumentToHtmlConverter x.TrimStart().StartsWith("#")); + if (titleLine == null) + { + return content; + } + + var paramValues = pdfDocument.RenderParameters.Select(x => + { + var documentParam = documentParams.Parameters.FirstOrDefault(p => p.Name == x.Key); + return $"{documentParam?.Values[x.Value] ?? x.Value}"; + }); + + var newTitle = $"{titleLine.Trim()} ({string.Join(", ", paramValues)})"; + return content.Replace(titleLine, newTitle); } protected virtual string NormalizeHtmlContent(string htmlContent, PdfDocument pdfDocument) diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/PdfDocumentToHtmlConverterContext.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/PdfDocumentToHtmlConverterContext.cs index c08a4adf62..5a99d46634 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/PdfDocumentToHtmlConverterContext.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/PdfDocumentToHtmlConverterContext.cs @@ -1,3 +1,5 @@ +using Volo.Docs.Documents; + namespace Volo.Docs.Projects.Pdf; public class PdfDocumentToHtmlConverterContext @@ -5,9 +7,12 @@ public class PdfDocumentToHtmlConverterContext public string Content { get; set; } public PdfDocument PdfDocument { get; set; } - public PdfDocumentToHtmlConverterContext(string content, PdfDocument pdfDocument) + public DocumentParams DocumentParams { get; set; } + + public PdfDocumentToHtmlConverterContext(string content, PdfDocument pdfDocument, DocumentParams documentParams) { Content = content; PdfDocument = pdfDocument; + DocumentParams = documentParams; } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/ProjectPdfGenerator.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/ProjectPdfGenerator.cs index 218d790898..9a29a7776f 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/ProjectPdfGenerator.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Pdf/ProjectPdfGenerator.cs @@ -99,7 +99,7 @@ public class ProjectPdfGenerator : IProjectPdfGenerator, ITransientDependency { var renderedDocument = await RenderDocumentAsync(pdfDocument); var documentToHtmlConverter = GetDocumentToHtmlConverter(Project, pdfDocument); - var htmlContent = documentToHtmlConverter.Convert(new PdfDocumentToHtmlConverterContext(renderedDocument, pdfDocument)); + var htmlContent = documentToHtmlConverter.Convert(new PdfDocumentToHtmlConverterContext(renderedDocument, pdfDocument, DocumentParams)); contentBuilder.AppendLine(htmlContent); }