feat: 主题内容注入点系统(10 个标准位置,同位置多条注入块可排序/启停,stylevar 变量复活)+ 后台主题注入管理页(Tab 分区)+ 缓存/设置收进顶部用户下拉菜单(Livewire action 即时通知)

This commit is contained in:
ak
2026-08-11 23:20:57 +08:00
parent e91675e172
commit 3e3b9a2bfd
98 changed files with 485 additions and 105 deletions
+1
View File
@@ -28,5 +28,6 @@
@include('partials.sidebar')
</div>
@include('partials.footer')
@stack('theme:body_end')
</body>
</html>
+1
View File
@@ -24,5 +24,6 @@
@include('partials.sidebar')
</div>
@include('partials.footer')
@stack('theme:body_end')
</body>
</html>
@@ -1,37 +0,0 @@
<x-filament-panels::page>
<div class="grid gap-4 sm:grid-cols-2">
<x-filament::section heading="前台页面缓存" :description="'当前缓存页面数:'.$this->page_cache_count">
<p class="text-sm text-gray-500 dark:text-gray-400">
匿名访客的首页/列表/文章/归档等页面按 URL 缓存(TTL {{ config('blog.page_cache_ttl') }} 秒),
文章浏览量由独立端点统计,不受缓存影响。发布/编辑文章后建议清空本缓存。
</p>
<div class="mt-4">
<x-filament::button color="primary" wire:click="flushPages">清空页面缓存</x-filament::button>
</div>
</x-filament::section>
<x-filament::section heading="侧边栏与设置缓存">
<p class="text-sm text-gray-500 dark:text-gray-400">
侧边栏(分类/最新文章/评论/标签/友链/统计)与站点设置、附件映射的缓存,最长 1 小时。
</p>
<div class="mt-4 flex gap-2">
<x-filament::button color="gray" wire:click="flushSidebar">清空侧边栏</x-filament::button>
<x-filament::button color="gray" wire:click="flushSettings">清空设置</x-filament::button>
</div>
</x-filament::section>
<x-filament::section heading="全部缓存">
<p class="text-sm text-gray-500 dark:text-gray-400">清空应用全部缓存(含上述所有 + 其他临时缓存)。</p>
<div class="mt-4">
<x-filament::button color="danger" wire:click="flushAll" wire:confirm="确定清空全部缓存?">清空全部缓存</x-filament::button>
</div>
</x-filament::section>
<x-filament::section heading="编译缓存">
<p class="text-sm text-gray-500 dark:text-gray-400">清除并重建 Blade 视图 / 路由 / 配置编译缓存(发布或更新代码后使用)。</p>
<div class="mt-4">
<x-filament::button color="gray" wire:click="recompile">重建编译缓存</x-filament::button>
</div>
</x-filament::section>
</div>
</x-filament-panels::page>
@@ -0,0 +1,10 @@
<x-filament-panels::page>
<x-filament::section :description="'同一位置可添加多条注入块(按排序渲染);插件也可通过 theme.inject.{point} 过滤器追加'">
<form wire:submit="save">
{{ $this->form }}
<div class="mt-6">
<x-filament::button type="submit" color="primary">保存</x-filament::button>
</div>
</form>
</x-filament::section>
</x-filament-panels::page>
+1
View File
@@ -21,5 +21,6 @@
@include('partials.sidebar')
</div>
@include('partials.footer')
@stack('theme:body_end')
</body>
</html>
+1
View File
@@ -19,5 +19,6 @@
@include('partials.sidebar')
</div>
@include('partials.footer')
@stack('theme:body_end')
</body>
</html>
+1
View File
@@ -19,5 +19,6 @@
@include('partials.sidebar')
</div>
@include('partials.footer')
@stack('theme:body_end')
</body>
</html>
+1
View File
@@ -25,5 +25,6 @@
</main>
</div>
@include('partials.footer')
@stack('theme:body_end')
</body>
</html>
@@ -1,3 +1,4 @@
@stack('theme:footer')
<footer class="site-footer">
<div class="container">
<p>
+1
View File
@@ -14,4 +14,5 @@
<link rel="alternate" type="application/rss+xml" title="{{ $siteName }}" href="{{ route('feed.rss') }}">
<link rel="stylesheet" href="{{ asset('css/blog.css') }}">
@stack('head')
@stack('theme:head')
</head>
@@ -28,3 +28,4 @@
</nav>
</div>
</header>
@stack('theme:header')
+3 -1
View File
@@ -1,4 +1,5 @@
<aside class="sidebar">
@stack('theme:sidebar_top')
<section class="widget">
<h3 class="widget-title">分类</h3>
<ul class="widget-list">
@@ -70,4 +71,5 @@
<li>标签:{{ $blogStats['tags'] }} </li>
</ul>
</section>
</aside>
@stack('theme:sidebar_bottom')

+1
View File
@@ -20,5 +20,6 @@
@include('partials.sidebar')
</div>
@include('partials.footer')
@stack('theme:body_end')
</body>
</html>
+1
View File
@@ -36,5 +36,6 @@
</main>
</div>
@include('partials.footer')
@stack('theme:body_end')
</body>
</html>
+1
View File
@@ -21,5 +21,6 @@
@include('partials.sidebar')
</div>
@include('partials.footer')
@stack('theme:body_end')
</body>
</html>
+2
View File
@@ -31,6 +31,7 @@
<span>· 阅读 {{ $post->views }}</span>
</div>
@stack('theme:post_content_top')
<div class="post-content">
{!! $contentHtml !!}
</div>
@@ -92,5 +93,6 @@
</div>
@include('partials.footer')
<script>fetch("{{ route('track-view', $post) }}")</script>
@stack('theme:body_end')
</body>
</html>
+1
View File
@@ -17,5 +17,6 @@
@include('partials.sidebar')
</div>
@include('partials.footer')
@stack('theme:body_end')
</body>
</html>
+1
View File
@@ -18,5 +18,6 @@
@include('partials.sidebar')
</div>
@include('partials.footer')
@stack('theme:body_end')
</body>
</html>
+2 -1
View File
@@ -273,5 +273,6 @@
@if (Route::has('login'))
<div class="h-14.5 hidden lg:block"></div>
@endif
</body>
@stack('theme:body_end')
</body>
</html>