<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Hugo on Norman's Blog</title><link>https://wangyu.link/tags/hugo/</link><description>Recent content in Hugo on Norman's Blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 18 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://wangyu.link/tags/hugo/index.xml" rel="self" type="application/rss+xml"/><item><title>Hugo 博客迁移实录：从 0.111.3 到 0.164.0</title><link>https://wangyu.link/posts/2026-07-18/</link><pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate><guid>https://wangyu.link/posts/2026-07-18/</guid><description>&lt;p&gt;我的旧博客基于 Hugo 0.111.3 + hugo-coder 主题运行了三年多，最近升级到 Hugo 0.164.0 并换用了 PaperMod 主题。整个过程比预想的顺利，但还是踩了几个坑，记录一下供有类似需求的朋友参考。&lt;/p&gt;
&lt;h2 id="迁移背景"&gt;迁移背景&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;旧博客&lt;/th&gt;
&lt;th&gt;新博客&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Hugo 版本&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.111.3&lt;/td&gt;
&lt;td&gt;0.164.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;主题&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;hugo-coder&lt;/td&gt;
&lt;td&gt;PaperMod&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;配置文件&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;config.toml&lt;/td&gt;
&lt;td&gt;hugo.yaml&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;域名&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;blog.wangyu.link&lt;/td&gt;
&lt;td&gt;wangyu.link&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;两个版本隔了约 50 个 minor 版本，配置格式从 TOML 切换到 YAML，主题也完全不同。迁移的核心工作就是三个：&lt;strong&gt;内容搬迁&lt;/strong&gt;、&lt;strong&gt;配置映射&lt;/strong&gt;、&lt;strong&gt;兼容性处理&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="内容搬迁"&gt;内容搬迁&lt;/h2&gt;
&lt;p&gt;这一步最简单——直接把 &lt;code&gt;content/&lt;/code&gt; 目录下的所有 markdown 文件复制过去就行。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cp -r personal-blog/content/* NormanBlog/content/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;我的旧博客有 90+ 篇文章和 3 个独立页面（About、Projects、List），frontmatter 都是标准的 Hugo 格式，不需要任何修改就能被新版本识别。&lt;/p&gt;
&lt;p&gt;静态资源同理：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cp -r personal-blog/static/* NormanBlog/static/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;favicon、avatar、site.webmanifest 等直接搬过去即可。&lt;/p&gt;
&lt;h2 id="配置映射从-hugo-coder-到-papermod"&gt;配置映射：从 hugo-coder 到 PaperMod&lt;/h2&gt;
&lt;p&gt;这才是迁移的重头戏。两个主题的参数体系完全不同，需要逐一对照映射。&lt;/p&gt;
&lt;h3 id="基本配置"&gt;基本配置&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# hugo.yaml (PaperMod)&lt;/span&gt;&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7ee787"&gt;baseURL&lt;/span&gt;:&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;https://wangyu.link/&lt;/span&gt;&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7ee787"&gt;locale&lt;/span&gt;:&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;en &lt;/span&gt;&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# Hugo 0.158+ 废弃了 languageCode&lt;/span&gt;&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7ee787"&gt;title&lt;/span&gt;:&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;Norman&amp;#39;s Blog&lt;/span&gt;&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7ee787"&gt;theme&lt;/span&gt;:&lt;span style="color:#6e7681"&gt; &lt;/span&gt;[&lt;span style="color:#a5d6ff"&gt;&amp;#34;PaperMod&amp;#34;&lt;/span&gt;]&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7ee787"&gt;paginate&lt;/span&gt;:&lt;span style="color:#6e7681"&gt; &lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;20&lt;/span&gt;&lt;span style="color:#6e7681"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;旧配置中的 &lt;code&gt;languagecode = &amp;quot;en&amp;quot;&lt;/code&gt; 在 Hugo 0.158.0 之后被废弃了，需要改成 &lt;code&gt;locale: en&lt;/code&gt;。如果继续用 &lt;code&gt;languageCode&lt;/code&gt;，构建不会失败，但会一直弹出 deprecation 警告。&lt;/p&gt;</description></item></channel></rss>