Browse Source

remove url normalizer

pull/19419/head
Salih 2 years ago
parent
commit
ccac49ba4e
  1. 17
      modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs
  2. 17
      modules/docs/src/Volo.Docs.Web/DocsUiOptions.cs
  3. 35
      modules/docs/src/Volo.Docs.Web/Markdown/MarkdownDocumentToHtmlConverter.cs

17
modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs

@ -20,10 +20,6 @@ namespace Volo.Docs.Areas.Documents.TagHelpers
private readonly IStringLocalizer<DocsResource> _localizer;
private readonly IDocsLinkGenerator _docsLinkGenerator;
private readonly Func<DocsUrlNormalizerContext, string> _urlNormalizer;
private readonly IServiceProvider _serviceProvider;
private const string LiItemTemplateWithLink = @"<li class='{0}'><span class='plus-icon'><i class='fa fa-{1}'></i></span>{2}{3}</li>";
@ -51,13 +47,11 @@ namespace Volo.Docs.Areas.Documents.TagHelpers
[HtmlAttributeName("language")]
public string LanguageCode { get; set; }
public TreeTagHelper(IOptions<DocsUiOptions> urlOptions, IStringLocalizer<DocsResource> localizer, IDocsLinkGenerator docsLinkGenerator, IServiceProvider serviceProvider)
public TreeTagHelper(IOptions<DocsUiOptions> urlOptions, IStringLocalizer<DocsResource> localizer, IDocsLinkGenerator docsLinkGenerator)
{
_localizer = localizer;
_uiOptions = urlOptions.Value;
_docsLinkGenerator = docsLinkGenerator;
_urlNormalizer = _uiOptions.UrlNormalizer ?? (context => context.Url);
_serviceProvider = serviceProvider;
}
public override void Process(TagHelperContext context, TagHelperOutput output)
@ -183,14 +177,7 @@ namespace Volo.Docs.Areas.Documents.TagHelpers
}
return _urlNormalizer(new DocsUrlNormalizerContext {
Url = path,
Version = Version,
ProjectName = ProjectName,
LanguageCode = LanguageCode,
DocumentName = pathWithoutFileExtension,
ServiceProvider = _serviceProvider
});
return path;
}
private string RemoveFileExtensionFromPath(string path)

17
modules/docs/src/Volo.Docs.Web/DocsUiOptions.cs

@ -36,8 +36,6 @@ namespace Volo.Docs
public bool MultiLanguageMode { get; set; } = true;
public SingleProjectModeOptions SingleProjectMode { get; } = new ();
public Func<DocsUrlNormalizerContext, string> UrlNormalizer { get; set; }
private string GetFormattedRoutePrefix()
{
@ -60,19 +58,4 @@ namespace Volo.Docs
public string ProjectName { get; set; }
}
public class DocsUrlNormalizerContext
{
public string ProjectName { get; set; }
public string Version { get; set; }
public string LanguageCode { get; set; }
public string DocumentName { get; set; }
public string Url { get; set; }
public IServiceProvider ServiceProvider { get; set; }
}
}

35
modules/docs/src/Volo.Docs.Web/Markdown/MarkdownDocumentToHtmlConverter.cs

@ -21,18 +21,13 @@ namespace Volo.Docs.Markdown
private readonly IMarkdownConverter _markdownConverter;
private readonly DocsUiOptions _uiOptions;
private readonly IDocsLinkGenerator _docsLinkGenerator;
private readonly IServiceProvider _serviceProvider;
private readonly Func<DocsUrlNormalizerContext, string> _urlNormalizer;
public MarkdownDocumentToHtmlConverter(IMarkdownConverter markdownConverter,
IOptions<DocsUiOptions> urlOptions, IDocsLinkGenerator docsLinkGenerator,
IServiceProvider serviceProvider)
IOptions<DocsUiOptions> urlOptions, IDocsLinkGenerator docsLinkGenerator)
{
_markdownConverter = markdownConverter;
_docsLinkGenerator = docsLinkGenerator;
_serviceProvider = serviceProvider;
_uiOptions = urlOptions.Value;
_urlNormalizer = _uiOptions.UrlNormalizer ?? (context => context.Url);
}
private const string MdLinkFormat = "[{0}]({1})";
@ -122,10 +117,7 @@ namespace Volo.Docs.Markdown
if (UrlHelper.IsExternalLink(link) || !(isMdFile || isFolder))
{
return NormalizeLink(displayText, MdLinkFormat, link, projectShortName,
version,
documentName,
languageCode);
return match.Value;
}
@ -141,29 +133,10 @@ namespace Volo.Docs.Markdown
documentLocalDirectoryNormalized = "/" + documentLocalDirectoryNormalized;
}
return NormalizeLink(
displayText,
MdLinkFormat,
_docsLinkGenerator.GenerateLink(projectShortName, languageCode, $"{version}{documentLocalDirectoryNormalized}", documentName) + (hashPart.IsNullOrWhiteSpace() ? string.Empty : "#" + hashPart),
projectShortName,
version,
documentName,
languageCode
);
return string.Format(MdLinkFormat, displayText,
_docsLinkGenerator.GenerateLink(projectShortName, languageCode, $"{version}{documentLocalDirectoryNormalized}", documentName) + (hashPart.IsNullOrWhiteSpace() ? string.Empty : "#" + hashPart));
});
}
private string NormalizeLink(string displayText, string linkFormat, string link, string projectName, string version, string documentName, string languageCode)
{
return string.Format(linkFormat, displayText, _urlNormalizer(new DocsUrlNormalizerContext {
Url = link,
ProjectName = projectName,
Version = version,
DocumentName = documentName,
LanguageCode = languageCode,
ServiceProvider = _serviceProvider
}));
}
private static string RemoveFileExtension(string documentName)
{

Loading…
Cancel
Save