上一篇文章聊了为什么要做 PaperUI,这篇我们逐一看看每个新增功能的设计思路和使用效果。
1. 首页轮播系统
功能说明
PaperUI 新增了 homeCarousel 配置项,可以在首页展示三栏图片导航:
[params.homeCarousel]
slides = [
{ image = '/images/hero-1.webp', url = '/posts/paperui-introduction/' },
{ image = '/images/hero-2.webp', url = '/posts/papermod-advantages/' },
{ image = '/images/hero-3.webp', url = '/posts/git-guide/' },
]
middle = [
{ image = '/images/square-1.webp', url = '/posts/python-tips/' },
{ image = '/images/square-2.webp', url = '/posts/linux-commands/' },
]
right = { image = '/images/portrait-1.webp', url = '/about/' }
设计细节
- 左侧主轮播:16:9 比例,自动播放(4 秒间隔),支持前后导航按钮和指示点
- 中部卡片:1:1 正方形图片,适合展示方形封面
- 右侧竖图:3:4 比例,适合展示竖版图片或头像
- 交互细节:鼠标悬停暂停轮播,焦点状态可访问,所有图片点击跳转到对应链接
- 响应式:移动端自动切换为单列堆叠布局
这个设计灵感来自传统杂志的封面排版 —— 大图吸引注意力,小图提供更多入口。
2. 双栏布局系统
首页双栏
首页采用 home-layout 双栏布局:
- 左侧(主内容区):文章列表
- 右侧(侧边栏):搜索框、分类列表、标签云、随机文章、近期文章
[params]
# 首页显示文章数量
homePostCount = 8
侧边栏的每个小部件都有明确的用途:
- 搜索框:方便读者直接搜索感兴趣的内容
- 分类列表:按分类浏览文章
- 标签云:彩色标签,点击跳转到对应标签页
- 随机文章:增加内容曝光,降低跳出率
- 近期文章:最新发布的几篇文章
内页侧边栏
分类页、标签页也采用侧边栏布局,左侧显示分类/标签的层级结构,右侧展示对应文章列表。
3. 彩色标签系统
PaperUI 引入了 8 色循环的标签配色方案:
- 8 种颜色通过 CSS
nth-child(8n+X)自动循环分配 - 深色/浅色模式各有独立的颜色映射,使用 CSS
color-mix混合背景色 - 标签云中的标签大小根据文章数量动态调整
- 分类和标签页面都有彩色标签展示
这个设计让标签不再千篇一律,视觉上更容易区分和记忆。
4. 搜索增强
PaperUI 在 PaperMod 的 fuse.js 搜索基础上做了三项增强:
搜索模态框
点击导航栏的搜索图标或按 Ctrl+K,弹出居中的搜索模态框,输入关键词即时显示结果。
首页侧边栏搜索
首页侧边栏的搜索框输入关键词后,自动跳转到搜索模态框并执行搜索,减少操作步骤。
快捷键
Ctrl+K/Cmd+K:打开搜索Esc:关闭搜索
5. 移动端优化
汉堡菜单
移动端导航栏收缩为汉堡图标,点击展开侧滑菜单面板。
侧滑面板
菜单从屏幕左侧滑入,包含导航链接和主题切换、语言切换按钮。半透明遮罩层防止误触。
侧边栏隐藏
移动端屏幕空间有限,所有侧边栏(首页侧边栏、内页侧边栏)在移动端自动隐藏,内容区占满屏幕。
6. 顶部装饰条
页面顶部 2px 的彩色装饰条(.header-top-bar),颜色跟随主题 accent 色。这是一个微小的视觉细节,但能让页面看起来更精致。
7. Sticky Header 毛玻璃效果
页面滚动时,header 固定到顶部并产生半透明毛玻璃效果(backdrop-filter: blur),既保持了导航可见性,又不遮挡内容。
8. LLM 友好
新增 llms.txt 模板,按照 llmstxt 规范生成站点地图,方便 AI 搜索引擎和 LLM 工具索引博客内容。
小结
PaperUI 新增的每一项功能都来自实际使用中的需求,没有为了炫技而添加的功能。如果你正在使用 PaperMod,迁移到 PaperUI 几乎零成本 —— 下一篇我们来介绍具体的安装和配置方法。