Browse Source

DocsUrlOptions refactor

pull/1331/head
Yunus Emre Kalkan 7 years ago
parent
commit
0fc9238218
  1. 2
      modules/docs/app/VoloDocs.Web/Pages/Index.cshtml.cs
  2. 2
      modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs
  3. 20
      modules/docs/src/Volo.Docs.Web/DocsUrlOptions.cs
  4. 4
      modules/docs/src/Volo.Docs.Web/DocsWebModule.cs
  5. 4
      modules/docs/src/Volo.Docs.Web/Markdown/MarkdownDocumentToHtmlConverter.cs
  6. 2
      modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs
  7. 2
      modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs

2
modules/docs/app/VoloDocs.Web/Pages/Index.cshtml.cs

@ -20,7 +20,7 @@ namespace VoloDocs.Web.Pages
//TODO: Create HomeController & Index instead of Page. Otherwise, we have an empty Index.cshtml file. //TODO: Create HomeController & Index instead of Page. Otherwise, we have an empty Index.cshtml file.
if (!_urlOptions.RoutePrefix.IsNullOrWhiteSpace()) if (!_urlOptions.RoutePrefix.IsNullOrWhiteSpace())
{ {
return Redirect("." + _urlOptions.GetFormattedRoutePrefix()); return Redirect("." + _urlOptions.RoutePrefix);
} }
return Page(); return Page();

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

@ -142,7 +142,7 @@ namespace Volo.Docs.Areas.Documents.TagHelpers
return "javascript:;"; return "javascript:;";
} }
var prefix = _urlOptions.GetFormattedRoutePrefix(); var prefix = _urlOptions.RoutePrefix;
return prefix + LanguageCode + "/" + ProjectName + "/" + Version + "/" + pathWithoutFileExtension; return prefix + LanguageCode + "/" + ProjectName + "/" + Version + "/" + pathWithoutFileExtension;
} }

20
modules/docs/src/Volo.Docs.Web/DocsUrlOptions.cs

@ -4,19 +4,25 @@ namespace Volo.Docs
{ {
public class DocsUrlOptions public class DocsUrlOptions
{ {
private string _routePrefix = "documents";
/// <summary> /// <summary>
/// Default value: "documents"; /// Default value: "documents";
/// </summary> /// </summary>
public string RoutePrefix { get; set; } = "documents"; public string RoutePrefix
{
get => GetFormattedRoutePrefix();
set => _routePrefix = value;
}
public string GetFormattedRoutePrefix() private string GetFormattedRoutePrefix()
{ {
if (string.IsNullOrWhiteSpace(RoutePrefix)) if (string.IsNullOrWhiteSpace(_routePrefix))
{ {
return "/"; return "/";
} }
return RoutePrefix.EnsureEndsWith('/').EnsureStartsWith('/'); return _routePrefix.EnsureEndsWith('/').EnsureStartsWith('/');
} }
} }
} }

4
modules/docs/src/Volo.Docs.Web/DocsWebModule.cs

@ -43,9 +43,9 @@ namespace Volo.Docs
{ {
var urlOptions = context.Services var urlOptions = context.Services
.GetRequiredServiceLazy<IOptions<DocsUrlOptions>>() .GetRequiredServiceLazy<IOptions<DocsUrlOptions>>()
.Value; .Value.Value;
var routePrefix = urlOptions.Value.GetFormattedRoutePrefix(); var routePrefix = urlOptions.RoutePrefix;
options.Conventions.AddPageRoute("/Documents/Project/Index", routePrefix + "{projectName}"); options.Conventions.AddPageRoute("/Documents/Project/Index", routePrefix + "{projectName}");
options.Conventions.AddPageRoute("/Documents/Project/Index", routePrefix + "{languageCode}/{projectName}"); options.Conventions.AddPageRoute("/Documents/Project/Index", routePrefix + "{languageCode}/{projectName}");

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

@ -73,7 +73,7 @@ namespace Volo.Docs.Markdown
return string.Format( return string.Format(
MdLinkFormat, MdLinkFormat,
displayText, displayText,
_urlOptions.GetFormattedRoutePrefix(), _urlOptions.RoutePrefix,
languageCode, languageCode,
projectShortName, projectShortName,
version, version,
@ -101,7 +101,7 @@ namespace Volo.Docs.Markdown
return string.Format( return string.Format(
MdLinkFormat, MdLinkFormat,
displayText, displayText,
_urlOptions.GetFormattedRoutePrefix(), _urlOptions.RoutePrefix,
languageCode, languageCode,
projectShortName, projectShortName,
version, version,

2
modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs

@ -27,7 +27,7 @@ namespace Volo.Docs.Pages.Documents
public async Task<IActionResult> OnGetAsync() public async Task<IActionResult> OnGetAsync()
{ {
DocumentsUrlPrefix = _urlOptions.GetFormattedRoutePrefix(); DocumentsUrlPrefix = _urlOptions.RoutePrefix;
var listResult = await _projectAppService.GetListAsync(); var listResult = await _projectAppService.GetListAsync();

2
modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs

@ -73,7 +73,7 @@ namespace Volo.Docs.Pages.Documents.Project
public async Task<IActionResult> OnGetAsync() public async Task<IActionResult> OnGetAsync()
{ {
DocumentsUrlPrefix = _options.GetFormattedRoutePrefix(); DocumentsUrlPrefix = _options.RoutePrefix;
if (IsDocumentCultureDifferentThanCurrent()) if (IsDocumentCultureDifferentThanCurrent())
{ {

Loading…
Cancel
Save