feat: topbar legacy-sync button, card view mode with cover fallback, year/month/day archives, richer page cache admin, stylevar repeater editor
- topbar: Livewire LegacySyncButton next to 写文章 (moved from user menu) - view modes: add 图文(card) grid with cover fallback chain (cover → attachment → first content image → placeholder); list mode now title-only compact - archives: year/month/day index grid - page cache admin: size + expiry columns, total size, cache policy note - theme inject: stylevars switch from KeyValue to Repeater with multi-line HTML editing - import: html_entity_decode for category/post-title/link/keywords/comment author
This commit is contained in:
@@ -14,8 +14,14 @@ class ArchiveController extends Controller
|
||||
{
|
||||
$posts = Post::published()->orderByDesc('published_at')->get(['id', 'title', 'slug', 'published_at']);
|
||||
|
||||
$archives = $posts->groupBy(fn (Post $post) => $post->published_at->format('Y'))
|
||||
->map(fn ($yearPosts) => $yearPosts->groupBy(fn (Post $post) => $post->published_at->format('m')));
|
||||
// 年 → 月(1-12) → 日 → 文章,用于按年/月/日索引
|
||||
$archives = [];
|
||||
foreach ($posts as $post) {
|
||||
$year = $post->published_at->format('Y');
|
||||
$month = (int) $post->published_at->format('m');
|
||||
$day = (int) $post->published_at->format('d');
|
||||
$archives[$year][$month][$day][] = $post;
|
||||
}
|
||||
|
||||
return theme_view('archives', compact('archives'));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user