diff --git a/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs b/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs index 2e8ec8bde0..bcf22f441e 100644 --- a/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs +++ b/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs @@ -2,6 +2,8 @@ using System.Linq; using System.Text; using Microsoft.AspNetCore.Razor.TagHelpers; +using Microsoft.Extensions.Configuration; +using Volo.Abp.Configuration; using Volo.Docs.Documents; using Volo.Docs.Utils; @@ -12,6 +14,8 @@ namespace Volo.Docs.Areas.Documents.TagHelpers [HtmlTargetElement("ul", Attributes = "root-node")] public class TreeTagHelper : TagHelper { + private readonly IConfigurationRoot _configuration; + private const string LiItemTemplateWithLink = @"
  • {2}{3}
  • "; private const string ListItemAnchor = @"{2}"; @@ -38,6 +42,11 @@ namespace Volo.Docs.Areas.Documents.TagHelpers [HtmlAttributeName("language")] public string LanguageCode { get; set; } + public TreeTagHelper(IConfigurationAccessor configurationAccessor) + { + _configuration = configurationAccessor.Configuration; + } + public override void Process(TagHelperContext context, TagHelperOutput output) { var content = new StringBuilder(); @@ -134,7 +143,9 @@ namespace Volo.Docs.Areas.Documents.TagHelpers return "javascript:;"; } - return "/documents/" + LanguageCode + "/" + ProjectName + "/" + Version + "/" + pathWithoutFileExtension; + var prefix = Convert.ToBoolean(_configuration["IncludeDocumentPrefixInUrl"]) ? "documents/" : ""; + + return "/" + prefix + LanguageCode + "/" + ProjectName + "/" + Version + "/" + pathWithoutFileExtension; } private string RemoveFileExtensionFromPath(string path) 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 4b370c8140..d7de812579 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 @@ -4,7 +4,9 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Rendering; +using Microsoft.Extensions.Configuration; using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; +using Volo.Abp.Configuration; using Volo.Abp.Localization; using Volo.Docs.Documents; using Volo.Docs.HtmlConverting; @@ -52,15 +54,18 @@ namespace Volo.Docs.Pages.Documents.Project private readonly IDocumentAppService _documentAppService; private readonly IDocumentToHtmlConverterFactory _documentToHtmlConverterFactory; private readonly IProjectAppService _projectAppService; + private readonly IConfigurationRoot _configuration; public IndexModel( IDocumentAppService documentAppService, IDocumentToHtmlConverterFactory documentToHtmlConverterFactory, - IProjectAppService projectAppService) + IProjectAppService projectAppService, + IConfigurationAccessor configurationAccessor) { _documentAppService = documentAppService; _documentToHtmlConverterFactory = documentToHtmlConverterFactory; _projectAppService = projectAppService; + _configuration = configurationAccessor.Configuration; } public async Task OnGetAsync() @@ -341,7 +346,8 @@ namespace Volo.Docs.Pages.Documents.Project private void AddLanguageCodePrefixToLinks() { - Document.Content = Document.Content.Replace("href=\"/documents", "href=\"/documents/" + LanguageCode); + var prefix = Convert.ToBoolean(_configuration["IncludeDocumentPrefixInUrl"]) ? "documents/" : ""; + Document.Content = Document.Content.Replace("href=\"/documents", "href=\"/" + prefix + LanguageCode); } } } \ No newline at end of file