Files
YaeBlog/YaeBlog/Components/Pages/Archives.razor
jackfiled dd81e9a6f4
All checks were successful
Build blog docker image / Build-Blog-Image (push) Successful in 1m40s
fix: Use string for date field of markdown metadata POCO.
Add new command for build.ps1 script.

Signed-off-by: jackfiled <xcrenchangjun@outlook.com>
2026-01-14 23:19:29 +08:00

64 lines
1.8 KiB
Plaintext

@page "/blog/archives"
@using YaeBlog.Abstraction
@using YaeBlog.Models
@inject IEssayContentService Contents
<PageTitle>
归档
</PageTitle>
<div class="flex flex-col">
<div>
<h1 class="text-4xl">归档</h1>
</div>
<div class="py-4">
<span class="italic">
时光图书馆,黑历史集散地。(๑◔‿◔๑)
</span>
</div>
@foreach (IGrouping<DateTimeOffset, BlogEssay> group in _essays)
{
<div class="p-2">
<div class="flex flex-col">
<div>
<h3 class="text-xl">@(group.Key.Year)</h3>
</div>
<div class="px-4 py-4 flex flex-col">
@foreach (BlogEssay essay in group)
{
<a href="@($"/blog/essays/{essay.FileName}")">
<div class="flex flex-row p-2 mx-1 rounded-lg hover:bg-gray-300">
<div class="w-20">
@(essay.PublishTime.ToString("MM月dd日"))
</div>
<div>
<span class="text-blue-600">
@(essay.Title)
</span>
</div>
</div>
</a>
}
</div>
</div>
</div>
}
</div>
@code {
private readonly List<IGrouping<DateTimeOffset, BlogEssay>> _essays = [];
protected override void OnInitialized()
{
base.OnInitialized();
_essays.AddRange(from essay in Contents.Essays
group essay by new DateTimeOffset(essay.PublishTime.Year, 1, 1,0, 0, 0, TimeSpan.Zero));
}
}