Browse Source

IncludeDocumentPrefixInUrl improvements

pull/1192/head
Yunus Emre Kalkan 7 years ago
parent
commit
c34789deb5
  1. 13
      modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs
  2. 10
      modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs

13
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 = @"<li class='{0}'><span class='plus-icon'><i class='fa fa-{1}'></i></span>{2}{3}</li>";
private const string ListItemAnchor = @"<a href='{0}' class='{1}'>{2}</a>";
@ -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)

10
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<IActionResult> 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);
}
}
}
Loading…
Cancel
Save