Browse Source

Fix & Refactor docs domain module

pull/9425/head
Yunus Emre Kalkan 5 years ago
parent
commit
39ea468862
  1. 4
      modules/docs/src/Volo.Docs.Domain.Shared/Volo.Docs.Domain.Shared.csproj
  2. 10
      modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/Version/SemanticVersionHelper.cs
  3. 0
      modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/VersionInfo.cs
  4. 0
      modules/docs/src/Volo.Docs.Domain.Shared/Volo/Extensions/DocsJsonSerializerHelper.cs
  5. 1
      modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj
  6. 8
      modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/GithubDocumentSource.cs
  7. 14
      modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/Version/IVersionHelper.cs
  8. 9
      modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs
  9. 7
      modules/docs/src/Volo.Docs.Web/Pages/Documents/Search.cshtml.cs
  10. 1
      modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.csproj

4
modules/docs/src/Volo.Docs.Domain.Shared/Volo.Docs.Domain.Shared.csproj

@ -10,6 +10,10 @@
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NuGet.Versioning" Version="5.6.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Localization\Volo.Abp.Localization.csproj" />
</ItemGroup>

10
modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/Version/SemanticVersionHelper.cs → modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/Version/SemanticVersionHelper.cs

@ -7,24 +7,24 @@ using Volo.Docs.Projects;
namespace Volo.Docs.GitHub.Documents.Version
{
public class SemanticVersionHelper : IVersionHelper, ITransientDependency
public static class SemanticVersionHelper
{
public List<string> OrderByDescending(List<string> versions)
public static List<string> OrderByDescending(List<string> versions)
{
return versions.OrderByDescending(v=> SemanticVersion.Parse(NormalizeVersion(v)), new VersionComparer()).ToList();
}
public List<VersionInfo> OrderByDescending(List<VersionInfo> versions)
public static List<VersionInfo> OrderByDescending(List<VersionInfo> versions)
{
return versions.OrderByDescending(v => SemanticVersion.Parse(NormalizeVersion(v.Name)), new VersionComparer()).ToList();
}
public bool IsPreRelease(string version)
public static bool IsPreRelease(string version)
{
return SemanticVersion.Parse(NormalizeVersion(version)).IsPrerelease;
}
private string NormalizeVersion(string version)
private static string NormalizeVersion(string version)
{
version = version.RemovePreFix("v");

0
modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/VersionInfo.cs → modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/VersionInfo.cs

0
modules/docs/src/Volo.Docs.Domain/Volo/Extensions/DocsJsonSerializerHelper.cs → modules/docs/src/Volo.Docs.Domain.Shared/Volo/Extensions/DocsJsonSerializerHelper.cs

1
modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj

@ -21,7 +21,6 @@
<PackageReference Include="Octokit" Version="0.48.0" />
<PackageReference Include="NEST" Version="7.7.1" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="$(MicrosoftPackageVersion)" />
<PackageReference Include="NuGet.Versioning" Version="5.6.0" />
</ItemGroup>
<ItemGroup>

8
modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/GithubDocumentSource.cs

@ -23,13 +23,11 @@ namespace Volo.Docs.GitHub.Documents
private readonly IGithubRepositoryManager _githubRepositoryManager;
private readonly IGithubPatchAnalyzer _githubPatchAnalyzer;
private readonly IVersionHelper _versionHelper;
public GithubDocumentSource(IGithubRepositoryManager githubRepositoryManager, IGithubPatchAnalyzer githubPatchAnalyzer, IVersionHelper versionHelper)
public GithubDocumentSource(IGithubRepositoryManager githubRepositoryManager, IGithubPatchAnalyzer githubPatchAnalyzer)
{
_githubRepositoryManager = githubRepositoryManager;
_githubPatchAnalyzer = githubPatchAnalyzer;
_versionHelper = versionHelper;
}
public virtual async Task<Document> GetDocumentAsync(Project project, string documentName, string languageCode, string version, DateTime? lastKnownSignificantUpdateTime = null)
@ -277,7 +275,7 @@ namespace Volo.Docs.GitHub.Documents
}
}
versions = _versionHelper.OrderByDescending(versions);
versions = SemanticVersionHelper.OrderByDescending(versions);
}
if(githubVersionProviderSource == GithubVersionProviderSource.Releases)
@ -288,7 +286,7 @@ namespace Volo.Docs.GitHub.Documents
}
else
{
versions = _versionHelper.OrderByDescending(versions);
versions = SemanticVersionHelper.OrderByDescending(versions);
}
}

14
modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/Version/IVersionHelper.cs

@ -1,14 +0,0 @@
using System.Collections.Generic;
using Volo.Docs.Projects;
namespace Volo.Docs.GitHub.Documents.Version
{
public interface IVersionHelper
{
List<string> OrderByDescending(List<string> versions);
List<VersionInfo> OrderByDescending(List<VersionInfo> versions);
bool IsPreRelease(string version);
}
}

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

@ -83,7 +83,6 @@ namespace Volo.Docs.Pages.Documents.Project
private readonly IDocumentToHtmlConverterFactory _documentToHtmlConverterFactory;
private readonly IProjectAppService _projectAppService;
private readonly IDocumentSectionRenderer _documentSectionRenderer;
private readonly IVersionHelper _versionHelper;
private readonly DocsUiOptions _uiOptions;
public IndexModel(
@ -91,8 +90,7 @@ namespace Volo.Docs.Pages.Documents.Project
IDocumentToHtmlConverterFactory documentToHtmlConverterFactory,
IProjectAppService projectAppService,
IOptions<DocsUiOptions> options,
IDocumentSectionRenderer documentSectionRenderer,
IVersionHelper versionHelper)
IDocumentSectionRenderer documentSectionRenderer)
{
ObjectMapperContext = typeof(DocsWebModule);
@ -100,7 +98,6 @@ namespace Volo.Docs.Pages.Documents.Project
_documentToHtmlConverterFactory = documentToHtmlConverterFactory;
_projectAppService = projectAppService;
_documentSectionRenderer = documentSectionRenderer;
_versionHelper = versionHelper;
_uiOptions = options.Value;
LocalizationResourceType = typeof(DocsResource);
@ -331,7 +328,7 @@ namespace Volo.Docs.Pages.Documents.Project
}
}
return versions.FirstOrDefault(v => !_versionHelper.IsPreRelease(v.Version)) ?? versions.First();
return versions.FirstOrDefault(v => !SemanticVersionHelper.IsPreRelease(v.Version)) ?? versions.First();
}
private string RemoveVersionPrefix(string version)
@ -356,7 +353,7 @@ namespace Volo.Docs.Pages.Documents.Project
if (!Project.ExtraProperties.ContainsKey("GithubVersionProviderSource")
|| (GithubVersionProviderSource) (long) Project.ExtraProperties["GithubVersionProviderSource"] == GithubVersionProviderSource.Releases)
{
versions.First(v=> !_versionHelper.IsPreRelease(v.Version)).Version = Project.LatestVersionBranchName;
versions.First(v=> !SemanticVersionHelper.IsPreRelease(v.Version)).Version = Project.LatestVersionBranchName;
}
}

7
modules/docs/src/Volo.Docs.Web/Pages/Documents/Search.cshtml.cs

@ -30,17 +30,14 @@ namespace Volo.Docs.Pages.Documents
private readonly IProjectAppService _projectAppService;
private readonly IDocumentAppService _documentAppService;
private readonly HtmlEncoder _encoder;
private readonly IVersionHelper _versionHelper;
public SearchModel(IProjectAppService projectAppService,
IDocumentAppService documentAppService,
HtmlEncoder encoder,
IVersionHelper versionHelper)
HtmlEncoder encoder)
{
_projectAppService = projectAppService;
_documentAppService = documentAppService;
_encoder = encoder;
_versionHelper = versionHelper;
}
public List<DocumentSearchOutput> SearchOutputs { get; set; } = new List<DocumentSearchOutput>();
@ -71,7 +68,7 @@ namespace Volo.Docs.Pages.Documents
}
else
{
Version = (versions.FirstOrDefault(v => !_versionHelper.IsPreRelease(v.Name)) ?? versions.First()).Name;
Version = (versions.FirstOrDefault(v => !SemanticVersionHelper.IsPreRelease(v.Name)) ?? versions.First()).Name;
}
}

1
modules/docs/src/Volo.Docs.Web/Volo.Docs.Web.csproj

@ -20,7 +20,6 @@
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Packages\Volo.Abp.AspNetCore.Mvc.UI.Packages.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.csproj" />
<ProjectReference Include="..\Volo.Docs.Domain\Volo.Docs.Domain.csproj" />
<ProjectReference Include="..\Volo.Docs.HttpApi\Volo.Docs.HttpApi.csproj" />
<PackageReference Include="Markdig.Signed" Version="0.20.0" />
<PackageReference Include="Scriban" Version="3.0.5" />

Loading…
Cancel
Save