- 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
47 lines
1.7 KiB
PHP
47 lines
1.7 KiB
PHP
@php
|
|
$pageTitle = ($archiveTitle ?? $category->name ?? '文章列表').' - '.$siteName;
|
|
$pageDescription = $category->description ?? ($archiveTitle ?? $category->name ?? '文章列表').' - '.$siteName;
|
|
@endphp
|
|
@include('partials.head')
|
|
<body>
|
|
@include('partials.header')
|
|
<div class="container main-layout">
|
|
<main class="content">
|
|
<h1 class="list-title">{{ $archiveTitle ?? ($category->name ?? '文章列表') }}</h1>
|
|
|
|
@if(isset($category) && ($category->description || $category->coverImageUrl()))
|
|
<div class="category-intro">
|
|
@if($url = $category->coverImageUrl())
|
|
<img src="{{ $url }}" alt="{{ $category->name }}" class="category-cover">
|
|
@endif
|
|
<div>
|
|
@if($category->description)
|
|
<p class="category-description">{{ $category->description }}</p>
|
|
@endif
|
|
<p class="category-meta">{{ $category->posts_count ?? $posts->total() }} 篇文章</p>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
|
|
|
|
@include('partials.view-mode-switcher')
|
|
@include('partials.theme-inject', ['point' => 'content_top'])
|
|
|
|
<div class="post-list post-list-{{ $homeViewMode ?? 'list' }}">
|
|
@forelse($posts as $post)
|
|
@include('partials.post-card', ['post' => $post])
|
|
@empty
|
|
<div class="empty">该分类暂无文章</div>
|
|
@endforelse
|
|
</div>
|
|
|
|
@include('partials.pagination', ['paginator' => $posts])
|
|
@include('partials.theme-inject', ['point' => 'content_bottom'])
|
|
</main>
|
|
@include('partials.sidebar')
|
|
</div>
|
|
@include('partials.footer')
|
|
@stack('theme:body_end')
|
|
</body>
|
|
</html>
|