feat: topbar legacy-sync button, card view mode with cover fallback, year/month/day archives, richer page cache admin, stylevar repeater editor
Build and Deploy / verify (push) Successful in 32s
Build and Deploy / deploy (push) Successful in 17s

- 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:
2026-10-13 09:01:46 +00:00
parent 2d8752f863
commit 16dac8b568
24 changed files with 608 additions and 136 deletions
@@ -31,4 +31,6 @@
>
写文章
</x-filament::button>
<livewire:legacy-sync-button />
</div>
@@ -31,7 +31,9 @@
<thead>
<tr class="border-b border-gray-200 text-left dark:border-white/10">
<th class="py-2 pr-4 font-medium">地址</th>
<th class="py-2 pr-4 font-medium">大小</th>
<th class="py-2 pr-4 font-medium">缓存时间</th>
<th class="py-2 pr-4 font-medium">过期时间</th>
<th class="py-2 font-medium">操作</th>
</tr>
</thead>
@@ -43,7 +45,9 @@
{{ $entry['url'] }}
</a>
</td>
<td class="py-2 pr-4 whitespace-nowrap">{{ $entry['size'] ? number_format($entry['size'] / 1024, 1).' KB' : '—' }}</td>
<td class="py-2 pr-4 whitespace-nowrap">{{ $entry['cached_at'] ?: '—' }}</td>
<td class="py-2 pr-4 whitespace-nowrap">{{ $entry['expires_at'] ?: '—' }}</td>
<td class="py-2">
<x-filament::button
size="xs"
@@ -58,6 +62,10 @@
@endforeach
</tbody>
</table>
<p class="mt-3 text-xs text-gray-500 dark:text-gray-400">
共 {{ count($this->entries) }} 条,合计 {{ number_format(collect($this->entries)->sum('size') / 1024 / 1024, 2) }} MB。
缓存说明:只缓存未登录访客 GET 的 200 页面;登录用户、评论提交等动态请求不缓存;浏览量统计不受影响。
</p>
</div>
@endif
</x-filament::section>