基于 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 实现: ...