基于 Hugo PaperMod 的二次开发实践:PaperUI 主题的技术实现分享

写在前面 本文分享一个个人技术项目:PaperUI —— 基于 Hugo 社区主题 PaperMod 进行的二次开发实践。项目针对个人中文博客的使用场景,添加了一些自用的功能和调整。 PaperMod 是 Hugo 生态中非常优秀的主题,作者 Aditya Telange 和社区贡献者做了大量出色的工作。PaperUI 只是在 PaperMod 的基础上做了一些个人化的补充,并非替代或竞争关系。 一、为什么选择基于 PaperMod 二次开发 1.1 PaperMod 的优势 选择 PaperMod 作为基础,主要看中以下几点: 零外部依赖,性能表现出色 CSS 变量驱动的主题系统,便于定制和覆盖 完善的 SEO 支持(Open Graph、Twitter Cards、JSON-LD) 多语言支持,内置 46 种语言翻译 社区成熟,文档完善,问题排查方便 1.2 二次开发的出发点 在使用过程中,个人有一些额外的需求: 首页希望有更丰富的内容展示形式 想增加侧边栏放置分类、标签等导航元素 移动端导航体验想做一些调整 部分 UI 文字想适配中文语境 这些需求属于个人偏好,并非 PaperMod 的不足。PaperMod 面向全球用户,设计上追求简洁通用,这是它的设计选择。 1.3 开发原则 保持兼容:PaperMod 用户的配置文件切换到 PaperUI 后应基本可用 性能优先:新功能不显著增加页面加载体积 增量修改:尽可能通过参数控制,不破坏原有功能 可回退:新功能都是可选的,不配置就不启用 二、主要功能的技术实现 2.1 首页轮播布局 在首页增加了一个三栏展示区,通过 Hugo 模板和 CSS Grid 实现: ...

2026-06-02 · 3 min · 489 words · 新墨韬

为什么我选择在 PaperMod 基础上开发 PaperUI

很多朋友问我:PaperMod 已经很优秀了,为什么要再做二次开发?这篇文章聊聊我的思考过程和技术决策。 出发点:解决实际痛点 在使用 PaperMod 搭建中文博客的过程中,我遇到了几个实际的问题: 1. 首页太"空"了 PaperMod 的首页默认只有标题、简介和一列文章列表。对于内容型博客来说,首页是流量入口,需要承载更多导航和发现功能。 2. 内容发现路径单一 在标准 PaperMod 中,读者找到感兴趣内容的路径基本只有两条:按时间线浏览文章列表,或者使用搜索。缺少按分类浏览、按标签筛选、随机推荐等发现方式。 3. 中文适配不够精细 这不是 PaperMod 的问题 —— 它面向全球用户,不可能为每种语言做深度优化。但作为中文博客,我需要页脚文案中文化、存档月份显示"1月"而非"January"、面包屑导航的中文语义等细节。 4. 移动端体验可以更好 PaperMod 在桌面端体验很好,但移动端的导航和布局还有优化空间。 技术决策:为什么是"改进"而非"重写" 面对这些问题,我有两个选择: 从零写一个新主题:完全自由,但需要重新实现 PaperMod 已经做得很好的部分(SEO、多语言、性能优化等),工作量大且容易遗漏 在 PaperMod 基础上定制:继承其核心优势,专注做增量改进 我选择了后者,原因很简单: 不要重新发明轮子,除非你确定能做出更好的轮子。 PaperMod 在性能、SEO、可访问性方面的积累是经过数千个站点验证的。在这些基础上做增量优化,比从零开始更有价值。 开发原则 在开发过程中,我遵循了几个原则: 不破坏原有配置:PaperMod 用户迁移到 PaperUI,只需改 theme = 'PaperUI' 并添加新参数即可 性能不退化:新增功能不能显著增加页面体积和加载时间 渐进增强:新功能都是可选的,不配置就不加载相关代码 保持可升级性:目录结构与 PaperMod 保持一致,方便合并上游更新 PaperUI 新增了哪些功能 关于 PaperUI 具体增加了哪些功能模块、做了哪些中文化改进,请参见: PaperUI:一个更懂中文博客的 Hugo 主题 开源与合作 PaperUI 在 GitHub 上以 MIT 协议开源(与 PaperMod 保持一致),欢迎所有人使用、修改和贡献。项目地址: github.com/scenlinx/PaperUI ...

2026-05-28 · 1 min · 70 words · 新墨韬