|
|
|
@ -1,6 +1,7 @@ |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Net; |
|
|
|
using Microsoft.AspNetCore.Routing; |
|
|
|
using Microsoft.Extensions.Options; |
|
|
|
using Volo.Abp.DependencyInjection; |
|
|
|
using Volo.Docs.Pages.Documents.Project; |
|
|
|
|
|
|
|
@ -9,10 +10,13 @@ namespace Volo.Docs.Utils; |
|
|
|
public class DefaultDocsLinkGenerator : IDocsLinkGenerator, ITransientDependency |
|
|
|
{ |
|
|
|
protected LinkGenerator LinkGenerator { get; } |
|
|
|
|
|
|
|
protected IOptions<DocsUiOptions> DocsUiOptions { get; } |
|
|
|
|
|
|
|
public DefaultDocsLinkGenerator(LinkGenerator linkGenerator) |
|
|
|
public DefaultDocsLinkGenerator(LinkGenerator linkGenerator, IOptions<DocsUiOptions> docsUiOptions) |
|
|
|
{ |
|
|
|
LinkGenerator = linkGenerator; |
|
|
|
DocsUiOptions = docsUiOptions; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -26,6 +30,7 @@ public class DefaultDocsLinkGenerator : IDocsLinkGenerator, ITransientDependency |
|
|
|
}; |
|
|
|
|
|
|
|
var encodedUrl = LinkGenerator.GetPathByPage("/Documents/Project/Index", values: routeValues); |
|
|
|
return encodedUrl?.Replace("%2F", "/"); //Document name can contain path separator(/), so we need to decode it.
|
|
|
|
var url = encodedUrl?.Replace("%2F", "/"); //Document name can contain path separator(/), so we need to decode it.
|
|
|
|
return DocsUiOptions.Value.DocumentLinksNormalizer?.Invoke(url); |
|
|
|
} |
|
|
|
} |