diff --git a/modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/20200212135141_init.Designer.cs b/modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/20200218014727_init.Designer.cs similarity index 99% rename from modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/20200212135141_init.Designer.cs rename to modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/20200218014727_init.Designer.cs index 3c21209e8c..522b3e3ba5 100644 --- a/modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/20200212135141_init.Designer.cs +++ b/modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/20200218014727_init.Designer.cs @@ -10,7 +10,7 @@ using VoloDocs.EntityFrameworkCore; namespace VoloDocs.EntityFrameworkCore.Migrations { [DbContext(typeof(VoloDocsDbContext))] - [Migration("20200212135141_init")] + [Migration("20200218014727_init")] partial class init { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -464,6 +464,9 @@ namespace VoloDocs.EntityFrameworkCore.Migrations .IsRequired() .HasColumnType("nvarchar(max)"); + b.Property("CreationTime") + .HasColumnType("datetime2"); + b.Property("EditLink") .HasColumnType("nvarchar(2048)") .HasMaxLength(2048); @@ -512,9 +515,6 @@ namespace VoloDocs.EntityFrameworkCore.Migrations .HasColumnType("nvarchar(2048)") .HasMaxLength(2048); - b.Property("UpdatedCount") - .HasColumnType("int"); - b.Property("Version") .IsRequired() .HasColumnType("nvarchar(128)") diff --git a/modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/20200212135141_init.cs b/modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/20200218014727_init.cs similarity index 99% rename from modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/20200212135141_init.cs rename to modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/20200218014727_init.cs index cb18bebed6..7e85e1bbc1 100644 --- a/modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/20200212135141_init.cs +++ b/modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/20200218014727_init.cs @@ -130,8 +130,8 @@ namespace VoloDocs.EntityFrameworkCore.Migrations RootUrl = table.Column(maxLength: 2048, nullable: true), RawRootUrl = table.Column(maxLength: 2048, nullable: true), LocalDirectory = table.Column(maxLength: 512, nullable: true), + CreationTime = table.Column(nullable: false), LastUpdatedTime = table.Column(nullable: false), - UpdatedCount = table.Column(nullable: false), LastCachedTime = table.Column(nullable: false) }, constraints: table => diff --git a/modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/VoloDocsDbContextModelSnapshot.cs b/modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/VoloDocsDbContextModelSnapshot.cs index 1c595ac3f8..0780f28624 100644 --- a/modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/VoloDocsDbContextModelSnapshot.cs +++ b/modules/docs/app/VoloDocs.EntityFrameworkCore/Migrations/VoloDocsDbContextModelSnapshot.cs @@ -462,6 +462,9 @@ namespace VoloDocs.EntityFrameworkCore.Migrations .IsRequired() .HasColumnType("nvarchar(max)"); + b.Property("CreationTime") + .HasColumnType("datetime2"); + b.Property("EditLink") .HasColumnType("nvarchar(2048)") .HasMaxLength(2048); @@ -510,9 +513,6 @@ namespace VoloDocs.EntityFrameworkCore.Migrations .HasColumnType("nvarchar(2048)") .HasMaxLength(2048); - b.Property("UpdatedCount") - .HasColumnType("int"); - b.Property("Version") .IsRequired() .HasColumnType("nvarchar(128)") diff --git a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/Documents/DocumentAdminAppService.cs b/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/Documents/DocumentAdminAppService.cs index 5fa746907b..255fed246f 100644 --- a/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/Documents/DocumentAdminAppService.cs +++ b/modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/Documents/DocumentAdminAppService.cs @@ -86,8 +86,8 @@ namespace Volo.Docs.Admin.Documents await _documentUpdateCache.SetAsync(cacheKey, new DocumentUpdateInfo { Name = document.Name, - LastUpdatedTime = document.LastUpdatedTime, - UpdatedCount = document.UpdatedCount + CreationTime = document.CreationTime, + LastUpdatedTime = document.LastUpdatedTime }); } diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/DocumentWithDetailsDto.cs b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/DocumentWithDetailsDto.cs index c78a46d2ef..0364a2e26f 100644 --- a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/DocumentWithDetailsDto.cs +++ b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/DocumentWithDetailsDto.cs @@ -27,9 +27,9 @@ namespace Volo.Docs.Documents public virtual string LocalDirectory { get; set; } - public virtual DateTime LastUpdatedTime { get; set; } + public virtual DateTime CreationTime { get; set; } - public virtual int UpdatedCount { get; set; } + public virtual DateTime LastUpdatedTime { get; set; } public virtual DateTime LastCachedTime { get; set; } diff --git a/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs b/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs index 1ef35fda54..7ea04ec0c0 100644 --- a/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs +++ b/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs @@ -85,8 +85,8 @@ namespace Volo.Docs.Documents var documentUpdateInfo = await DocumentUpdateCache.GetAsync(cacheKey); if (documentUpdateInfo != null) { + leaf.CreationTime = documentUpdateInfo.CreationTime; leaf.LastUpdatedTime = documentUpdateInfo.LastUpdatedTime; - leaf.UpdatedCount = documentUpdateInfo.UpdatedCount; } } @@ -175,8 +175,8 @@ namespace Volo.Docs.Documents await DocumentUpdateCache.SetAsync(cacheKey, new DocumentUpdateInfo { Name = sourceDocument.Name, - LastUpdatedTime = sourceDocument.LastUpdatedTime, - UpdatedCount = sourceDocument.UpdatedCount + CreationTime = sourceDocument.CreationTime, + LastUpdatedTime = sourceDocument.LastUpdatedTime }); return CreateDocumentWithDetailsDto(project, sourceDocument); @@ -206,8 +206,8 @@ namespace Volo.Docs.Documents await DocumentUpdateCache.SetAsync(cacheKey, new DocumentUpdateInfo { Name = document.Name, + CreationTime = document.CreationTime, LastUpdatedTime = document.LastUpdatedTime, - UpdatedCount = document.UpdatedCount }); return CreateDocumentWithDetailsDto(project, document); diff --git a/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentUpdateInfo.cs b/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentUpdateInfo.cs index fbdc7056a5..fcabe91549 100644 --- a/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentUpdateInfo.cs +++ b/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentUpdateInfo.cs @@ -7,8 +7,8 @@ namespace Volo.Docs.Documents { public virtual string Name { get; set; } - public virtual DateTime LastUpdatedTime { get; set; } + public virtual DateTime CreationTime { get; set; } - public virtual int UpdatedCount { get; set; } + public virtual DateTime LastUpdatedTime { get; set; } } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/NavigationNode.cs b/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/NavigationNode.cs index 4042344581..b5c2704eb8 100644 --- a/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/NavigationNode.cs +++ b/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/NavigationNode.cs @@ -22,9 +22,9 @@ namespace Volo.Docs.Documents public bool IsEmpty => Text == null && Path == null; - public DateTime? LastUpdatedTime { get; set; } + public virtual DateTime? CreationTime { get; set; } - public int UpdatedCount { get; set; } + public virtual DateTime? LastUpdatedTime { get; set; } public bool IsSelected(string documentName) { diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/Document.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/Document.cs index ded3fa8530..ecbc3aa617 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/Document.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/Document.cs @@ -31,10 +31,10 @@ namespace Volo.Docs.Documents public virtual string LocalDirectory { get; set; } + public virtual DateTime CreationTime { get; set; } + public virtual DateTime LastUpdatedTime { get; set; } - public virtual int UpdatedCount { get; set; } - public virtual DateTime LastCachedTime { get; set; } public virtual List Contributors { get; set; } @@ -58,8 +58,8 @@ namespace Volo.Docs.Documents [NotNull] string rootUrl, [NotNull] string rawRootUrl, [NotNull] string localDirectory, + DateTime creationTime, DateTime lastUpdatedTime, - int updatedCount, DateTime lastCachedTime ) { @@ -76,8 +76,9 @@ namespace Volo.Docs.Documents RootUrl = Check.NotNullOrWhiteSpace(rootUrl, nameof(rootUrl)); RawRootUrl = Check.NotNullOrWhiteSpace(rawRootUrl, nameof(rawRootUrl)); LocalDirectory = Check.NotNull(localDirectory, nameof(localDirectory)); + + CreationTime = creationTime; LastUpdatedTime = lastUpdatedTime; - UpdatedCount = updatedCount; LastCachedTime = lastCachedTime; Contributors = new List(); diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs index 6b28b42e17..d93b378dcd 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs @@ -43,8 +43,8 @@ namespace Volo.Docs.FileSystem.Documents "/", $"/document-resources?projectId={project.Id.ToString()}&version={version}&languageCode={languageCode}&name=", localDirectory, + File.GetCreationTime(path), File.GetLastWriteTime(path), - File.GetLastWriteTime(path) == File.GetCreationTime(path) ? 1 : 2, DateTime.Now); } diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/GithubDocumentSource.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/GithubDocumentSource.cs index 0159f20852..0c837991d1 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/GithubDocumentSource.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/GitHub/Documents/GithubDocumentSource.cs @@ -60,8 +60,8 @@ namespace Volo.Docs.GitHub.Documents rootUrl, rawRootUrl, localDirectory, + fileCommits.LastOrDefault()?.Commit.Author.Date.DateTime ?? DateTime.MinValue, fileCommits.FirstOrDefault()?.Commit.Author.Date.DateTime ?? DateTime.MinValue, - fileCommits.Count, DateTime.Now); var authors = fileCommits diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/zh-Hans.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/zh-Hans.json index bbc0014c95..3eec4562bb 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/zh-Hans.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/zh-Hans.json @@ -18,6 +18,8 @@ "DocumentNotFoundInSelectedLanguage": "本文档不适用于所选语言, 将以默认语言显示文档.", "FilterTopics": "过滤主题", "New": "新文档", - "Upd": "更新" + "Upd": "更新", + "NewExplanation": "在最近两周内创建.", + "UpdatedExplanation": "在最近两周内更新." } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/zh-Hant.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/zh-Hant.json index 9d24c75510..5c3d723b0a 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/zh-Hant.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/zh-Hant.json @@ -18,6 +18,8 @@ "DocumentNotFoundInSelectedLanguage": "本文件不適用於所選語系,將以預設語系顯示.", "FilterTopics": "過濾主題", "New": "新文檔", - "Upd": "更新" + "Upd": "更新", + "NewExplanation": "在最近兩周內創建.", + "UpdatedExplanation": "在最近兩周內更新." } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs b/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs index aa66f4c82f..1c57191d0a 100644 --- a/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs +++ b/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs @@ -125,15 +125,18 @@ namespace Volo.Docs.Areas.Documents.TagHelpers { var badge = ""; - if (!node.Path.IsNullOrWhiteSpace() && node.LastUpdatedTime.HasValue && node.LastUpdatedTime + TimeSpan.FromDays(14) > DateTime.Now) + if (!node.Path.IsNullOrWhiteSpace() && node.CreationTime.HasValue && node.LastUpdatedTime.HasValue) { - if (node.UpdatedCount > 1) + var newBadge = "" + _localizer["New"] + ""; + var updBadge = "" + _localizer["Upd"] + ""; + + if(node.CreationTime + TimeSpan.FromDays(14) > DateTime.Now) { - badge = "" + _localizer["Upd"] + ""; + badge = newBadge; } - else + else if (node.LastUpdatedTime + TimeSpan.FromDays(14) > DateTime.Now) { - badge = "" + _localizer["New"] + ""; + badge = updBadge; } } diff --git a/modules/docs/test/Volo.Docs.TestBase/Volo/Docs/DocsTestDataBuilder.cs b/modules/docs/test/Volo.Docs.TestBase/Volo/Docs/DocsTestDataBuilder.cs index 1325ec04a3..e7eadd7562 100644 --- a/modules/docs/test/Volo.Docs.TestBase/Volo/Docs/DocsTestDataBuilder.cs +++ b/modules/docs/test/Volo.Docs.TestBase/Volo/Docs/DocsTestDataBuilder.cs @@ -47,7 +47,7 @@ namespace Volo.Docs await _documentRepository.InsertAsync(new Document(Guid.NewGuid(), project.Id, "CLI.md", "2.0.0", "en", "CLI.md", "this is abp cli", "md", "https://github.com/abpframework/abp/blob/2.0.0/docs/en/CLI.md", "https://github.com/abpframework/abp/tree/2.0.0/docs/", - "https://raw.githubusercontent.com/abpframework/abp/2.0.0/docs/en/", "", DateTime.Now, 1, + "https://raw.githubusercontent.com/abpframework/abp/2.0.0/docs/en/", "", DateTime.Now, DateTime.Now, DateTime.Now)); } }