diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/DocumentPartialTemplateDto.cs b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/DocumentPartialTemplateDto.cs deleted file mode 100644 index 3c699e7946..0000000000 --- a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/DocumentPartialTemplateDto.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Collections.Generic; - -namespace Volo.Docs.Documents -{ - public class DocumentPartialTemplateDto - { - public string Name { get; set; } - - public string Path { get; set; } - - public List Parameters { get; set; } - } -} \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/DocumentPartialTemplatesDto.cs b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/DocumentPartialTemplatesDto.cs deleted file mode 100644 index cffb2d2307..0000000000 --- a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/DocumentPartialTemplatesDto.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Collections.Generic; - -namespace Volo.Docs.Documents -{ - public class DocumentPartialTemplatesDto - { - public List Templates { get; set; } - } -} diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetDocumentPartialTemplatesInput.cs b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetDocumentPartialTemplatesInput.cs deleted file mode 100644 index 52376c08ee..0000000000 --- a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetDocumentPartialTemplatesInput.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; -using Volo.Docs.Language; -using Volo.Docs.Projects; - -namespace Volo.Docs.Documents -{ - public class GetDocumentPartialTemplatesInput - { - public Guid ProjectId { get; set; } - - [StringLength(ProjectConsts.MaxVersionNameLength)] - public string Version { get; set; } - - [Required] - [StringLength(LanguageConsts.MaxLanguageCodeLength)] - public string LanguageCode { get; set; } - } -} diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/IDocumentAppService.cs b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/IDocumentAppService.cs index b73eea16be..cfc4840824 100644 --- a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/IDocumentAppService.cs +++ b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/IDocumentAppService.cs @@ -13,8 +13,6 @@ namespace Volo.Docs.Documents Task GetParametersAsync(GetParametersDocumentInput input); - Task GetPartialTemplatesAsync(GetDocumentPartialTemplatesInput input); - Task GetResourceAsync(GetDocumentResourceInput input); } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs b/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs index e120c5e37a..839c63860b 100644 --- a/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs +++ b/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs @@ -128,33 +128,6 @@ namespace Volo.Docs.Documents } } - public async Task GetPartialTemplatesAsync(GetDocumentPartialTemplatesInput input) - { - var project = await _projectRepository.GetAsync(input.ProjectId); - - try - { - if (string.IsNullOrWhiteSpace(project.PartialTemplatesDocumentName)) - { - return await Task.FromResult(null); - } - - var document = await GetDocumentWithDetailsDtoAsync( - project, - project.PartialTemplatesDocumentName, - input.LanguageCode, - input.Version - ); - - return JsonConvert.DeserializeObject(document.Content); - } - catch (DocumentNotFoundException) - { - Logger.LogWarning($"Partial template list file ({project.PartialTemplatesDocumentName}) not found."); - return new DocumentPartialTemplatesDto(); - } - } - protected virtual async Task GetDocumentWithDetailsDtoAsync( Project project, string documentName, diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/GithubDocumentStore.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/GithubDocumentStore.cs index ee9caa9621..c84772ff26 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/GithubDocumentStore.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/GithubDocumentStore.cs @@ -37,7 +37,6 @@ namespace Volo.Docs.GitHub.Documents var commitHistoryUrl = project.GetGitHubUrlForCommitHistory() + documentName; var isNavigationDocument = documentName == project.NavigationDocumentName; var isParameterDocument = documentName == project.ParametersDocumentName; - var isPartialTemplatesDocumentName = documentName == project.PartialTemplatesDocumentName; var editLink = rootUrl.ReplaceFirst("/tree/", "/blob/") + languageCode + "/" + documentName; var localDirectory = ""; var fileName = documentName; diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Project.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Project.cs index 45b5801516..f1cfd0d777 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Project.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Project.cs @@ -39,11 +39,6 @@ namespace Volo.Docs.Projects /// public virtual string ParametersDocumentName { get; protected set; } - /// - /// The document to be used for the partial document templates file (index). - /// - public virtual string PartialTemplatesDocumentName { get; protected set; } - public virtual string MinimumVersion { get; set; } /// @@ -68,8 +63,7 @@ namespace Volo.Docs.Projects [NotNull] string format, [NotNull] string defaultDocumentName = "Index", [NotNull] string navigationDocumentName = "docs-nav.json", - [NotNull] string parametersDocumentName = "docs-params.json", - [NotNull] string partialTemplatesDocumentName = "docs-templates.json") + [NotNull] string parametersDocumentName = "docs-params.json") { Id = id; @@ -80,7 +74,6 @@ namespace Volo.Docs.Projects DefaultDocumentName = Check.NotNullOrWhiteSpace(defaultDocumentName, nameof(defaultDocumentName)); NavigationDocumentName = Check.NotNullOrWhiteSpace(navigationDocumentName, nameof(navigationDocumentName)); ParametersDocumentName = Check.NotNullOrWhiteSpace(parametersDocumentName, nameof(parametersDocumentName)); - PartialTemplatesDocumentName = Check.NotNullOrWhiteSpace(partialTemplatesDocumentName, nameof(partialTemplatesDocumentName)); ExtraProperties = new Dictionary(); } @@ -105,11 +98,6 @@ namespace Volo.Docs.Projects ParametersDocumentName = Check.NotNullOrWhiteSpace(parametersDocumentName, nameof(parametersDocumentName)); } - public void SetPartialTemplatesDocumentName(string partialTemplatesDocumentName) - { - PartialTemplatesDocumentName = Check.NotNullOrWhiteSpace(partialTemplatesDocumentName, nameof(partialTemplatesDocumentName)); - } - public void SetDefaultDocumentName(string defaultDocumentName) { DefaultDocumentName = Check.NotNullOrWhiteSpace(defaultDocumentName, nameof(defaultDocumentName)); diff --git a/modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/EntityFrameworkCore/DocsDbContextModelBuilderExtensions.cs b/modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/EntityFrameworkCore/DocsDbContextModelBuilderExtensions.cs index 88fc0134eb..f6a17b68d7 100644 --- a/modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/EntityFrameworkCore/DocsDbContextModelBuilderExtensions.cs +++ b/modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/EntityFrameworkCore/DocsDbContextModelBuilderExtensions.cs @@ -34,7 +34,6 @@ namespace Volo.Docs.EntityFrameworkCore b.Property(x => x.DefaultDocumentName).IsRequired().HasMaxLength(ProjectConsts.MaxDefaultDocumentNameLength); b.Property(x => x.NavigationDocumentName).IsRequired().HasMaxLength(ProjectConsts.MaxNavigationDocumentNameLength); b.Property(x => x.ParametersDocumentName).IsRequired().HasMaxLength(ProjectConsts.MaxParametersDocumentNameLength); - b.Property(x => x.PartialTemplatesDocumentName).IsRequired().HasMaxLength(ProjectConsts.MaxPartialTemplatesDocumentNameLength); b.Property(x => x.LatestVersionBranchName).HasMaxLength(ProjectConsts.MaxLatestVersionBranchNameLength); }); } diff --git a/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/Documents/DocsDocumentController.cs b/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/Documents/DocsDocumentController.cs index ea2174186a..9ff91c8b17 100644 --- a/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/Documents/DocsDocumentController.cs +++ b/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/Documents/DocsDocumentController.cs @@ -39,11 +39,6 @@ namespace Volo.Docs.Documents return DocumentAppService.GetNavigationAsync(input); } - public virtual Task GetPartialTemplatesAsync(GetDocumentPartialTemplatesInput input) - { - return DocumentAppService.GetPartialTemplatesAsync(input); - } - [HttpGet] [Route("resource")] public Task GetResourceAsync(GetDocumentResourceInput input) diff --git a/modules/docs/src/Volo.Docs.Web/HtmlConverting/DocumentPartialTemplateContent.cs b/modules/docs/src/Volo.Docs.Web/HtmlConverting/DocumentPartialTemplateContent.cs new file mode 100644 index 0000000000..5db9fc8164 --- /dev/null +++ b/modules/docs/src/Volo.Docs.Web/HtmlConverting/DocumentPartialTemplateContent.cs @@ -0,0 +1,9 @@ +namespace Volo.Docs.HtmlConverting +{ + public class DocumentPartialTemplateContent + { + public string Path { get; set; } + + public string Content { get; set; } + } +} \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Web/HtmlConverting/DocumentPartialTemplateWithValuesDto.cs b/modules/docs/src/Volo.Docs.Web/HtmlConverting/DocumentPartialTemplateWithValuesDto.cs index a6a41f3f08..d3ea14921c 100644 --- a/modules/docs/src/Volo.Docs.Web/HtmlConverting/DocumentPartialTemplateWithValuesDto.cs +++ b/modules/docs/src/Volo.Docs.Web/HtmlConverting/DocumentPartialTemplateWithValuesDto.cs @@ -4,7 +4,7 @@ namespace Volo.Docs.HtmlConverting { public class DocumentPartialTemplateWithValuesDto { - public string Name { get; set; } + public string Path { get; set; } public Dictionary Parameters { get; set; } } diff --git a/modules/docs/src/Volo.Docs.Web/HtmlConverting/IDocumentSectionRenderer.cs b/modules/docs/src/Volo.Docs.Web/HtmlConverting/IDocumentSectionRenderer.cs index 2892561db2..0738b4fd5c 100644 --- a/modules/docs/src/Volo.Docs.Web/HtmlConverting/IDocumentSectionRenderer.cs +++ b/modules/docs/src/Volo.Docs.Web/HtmlConverting/IDocumentSectionRenderer.cs @@ -12,11 +12,4 @@ namespace Volo.Docs.HtmlConverting Task> GetPartialTemplatesInDocumentAsync(string documentContent); } - - public class DocumentPartialTemplateContent - { - public string Name { get; set; } - - public string Content { get; set; } - } } diff --git a/modules/docs/src/Volo.Docs.Web/HtmlConverting/ScribanDocumentSectionRenderer.cs b/modules/docs/src/Volo.Docs.Web/HtmlConverting/ScribanDocumentSectionRenderer.cs index 205598b7f3..4a4f3b2142 100644 --- a/modules/docs/src/Volo.Docs.Web/HtmlConverting/ScribanDocumentSectionRenderer.cs +++ b/modules/docs/src/Volo.Docs.Web/HtmlConverting/ScribanDocumentSectionRenderer.cs @@ -180,9 +180,9 @@ namespace Volo.Docs.HtmlConverting var json = betweenJsonOpenerAndCloser.Substring(betweenJsonOpenerAndCloser.IndexOf(docs_templates, StringComparison.Ordinal) + docs_templates.Length); - var templateName = JsonConvert.DeserializeObject(json)?.Name; + var templatePath = JsonConvert.DeserializeObject(json)?.Path; - var template = templates.FirstOrDefault(t => t.Name == templateName); + var template = templates.FirstOrDefault(t => t.Path == templatePath); var beforeTemplate = document.Substring(0, document.IndexOf(jsonOpener, StringComparison.Ordinal)); diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs index 2c9162d7c5..82b58ad117 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs @@ -420,20 +420,6 @@ namespace Volo.Docs.Pages.Documents.Project private async Task> GetDocumentPartialTemplatesAsync() { - - var projectPartialTemplates = await _documentAppService.GetPartialTemplatesAsync( - new GetDocumentPartialTemplatesInput() - { - ProjectId = Project.Id, - LanguageCode = LanguageCode, - Version = Version - }); - - if (!projectPartialTemplates?.Templates?.Any() ?? true) - { - return null; - } - var partialTemplatesInDocument = await _documentSectionRenderer.GetPartialTemplatesInDocumentAsync(Document.Content); if (!partialTemplatesInDocument?.Any(t => t.Parameters != null) ?? true) @@ -449,23 +435,29 @@ namespace Volo.Docs.Pages.Documents.Project { UserPreferences.Add(parameter.Key, parameter.Value); } + else + { + UserPreferences[parameter.Key] = parameter.Value; + } } } var contents = new List(); - foreach (var partialTemplate in projectPartialTemplates.Templates) + foreach (var partialTemplate in partialTemplatesInDocument) { + var content = (await _documentAppService.GetAsync(new GetDocumentInput + { + LanguageCode = LanguageCode, + Name = partialTemplate.Path, + ProjectId = Project.Id, + Version = Version + })).Content; + contents.Add(new DocumentPartialTemplateContent { - Name = partialTemplate.Name, - Content = (await _documentAppService.GetAsync(new GetDocumentInput - { - LanguageCode = LanguageCode, - Name = partialTemplate.Path, - ProjectId = Project.Id, - Version = Version - })).Content + Path = partialTemplate.Path, + Content = content }); }