我所理解的 Hexo 最佳实践
文章多起来以后,我在 Hexo 里遇到的麻烦逐渐从「怎么生成一个页面」变成了「怎么继续整理已经发出去的内容」。中文文件名适合找稿,公开地址要照顾读者收藏的链接。图片在编辑器里应该能直接打开,连载也应该能从首页总览、归档和搜索分别进入。
由于篇幅问题,全文分成八部分来讲。
第一篇《用文件名管理文章,用稳定字段生成网址》从编辑器里难找旧稿说起,把中文文件名、发布日期和公开网址交给各自的字段,再用一篇旧文说明什么时候需要单篇 permalink。
第二篇《让本地预览和公开链接共用一份资源》用一张真实的 SVG 对照 Markdown 本地相对路径、网页引用和 Hexo 资源路由,并验证图片与下载可以沿同一套映射工作。
第三篇《用系列目录组织连载正文》用一篇跨日续篇串起 Hexo 读取文件、渲染正文和生成路由的过程,再说明插件怎么在生成前补齐标题、日期,保住各篇的公开地址。
第四篇《在首页分页前聚合连载》让首页只展示连载总览,归档和搜索仍可找到每篇。用一个 Hexo 插件包装原首页生成器,只在分页前筛掉子篇,再验证各个入口的文章集合。
第五篇《让列表排序与全站翻篇沿用同一顺序》从同日的第 2 篇和第 10 篇入手,让首页、归档、搜索和全站翻篇有明确的排序规则,并把章节阅读交给系列目录。
第六篇《把源码工作区嵌进 Hexo 文章》从读者浏览源码、运行示例和检查 Lint 诊断的需求出发,讲清 Hexo 标签、Sandpack、Monaco 和独立预览产物各负责哪一步。
第七篇《用 Vue 重写主题并保留页面交互》以同一标签页连续播放为例,解释如何用 Vue 生成静态正文,浏览器只挂载交互,并在切换文章时释放已经离开的页面实例。
第八篇《让 Hexo 支持 Markdown 扩展语法》在现有 Marked 渲染链上加提示框、脚注、公式、图表和文档容器,再把注册逻辑和静态资源打成独立的 Hexo 插件。