从 Hexo(AnZhiYu) 迁移到 Hugo(PaperMod) 完整记录
一、先说结论:工作量评估 项目 说明 文章正文 需要替换标签语法(见第二、三节),每篇约 5~15 分钟 front matter 需要调整字段(见第五节),可脚本批量处理 图片 从 source/img/ 移到 static/images/,路径前缀从 /img/ 改为 /images/ 特有功能 即刻短文、音乐播放器、首页轮播、AI 摘要、置顶卡片 PaperMod 都没有,需要自行实现或放弃 评论系统 需要重新接入(PaperMod 预留了 layouts/_partials/comments.html) 建议:先迁移 3~5 篇代表性文章,跑通流程后再批量处理。 二、新博客不能用的语法(AnZhiYu / Hexo 专有) 以下标签在 Hugo + PaperMod 中不存在,写上去会原样显示成文本(或报错),必须替换: 2.1 Hexo tag 插件(AnZhiYu 全部标签) AnZhiYu 标签 能否使用 替代方案 {% note info %} {% endnote %} ❌ {{< note info >}}…{{< /note >}}(短代码,内容支持 Markdown) {% label 文字 red %} ❌ <mark class="hl red">文字</mark>(本项目已内置样式) {% mermaid %} {% endmermaid %} ❌ ```mermaid 代码块(本项目已配置好) {% katex %} / {% mathjax %} ❌ $$公式$$(单行)或 {{< math >}}…{{< /math >}}(多行) {% tabs %} / {% endtabs %} ❌ <div class="columns">…</div>(静态两栏,本项目已内置)或删除 {% checkbox %} ❌ Markdown 任务列表 - [x] 已完成 {% timeline %} ❌ 有序列表,或自建样式 {% folding %} ❌ {{< collapse "标题" >}}内容{{< /collapse >}} {% links %} ❌ Markdown 列表 + 链接 {% btn %} / {% btns %} / {% cell %} ❌ Markdown 链接或 <a class="..."> {% tip %} ❌ <div class="note primary">…</div> {% span %} / {% u %} / {% emp %} / {% wavy %} / {% del %} / {% kbd %} / {% psw %} ❌ 原生 HTML:<u> <em> <del> <kbd> {% gallery %} ❌ 多张 {{< figure >}} 或用 Markdown 图片 {% hide %} ❌ {{< collapse >}} {% image %} / {% inlineImg %} ❌ {{< figure >}} / Markdown ![]() {% bilibili %} / {% media %} / {% dogeplayer %} ❌ {{< rawhtml >}}<iframe>…{{< /rawhtml >}} {% site %} / {% flink %} / {% iconfont %} / {% Introduction-card %} ❌ 手写 HTML 或用 rawhtml 2.2 其它 Hexo / AnZhiYu 专有写法 写法 说明 <div class="video-container">…</div> + 配套 <style> AnZhiYu 的视频自适应写法 → 改用 {{< youtube ID >}} 或 {{< video src="…" >}} <!-- more --> Hugo 用 ` ...