<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hugo on Howar31 Blog</title><link>https://blog.howar31.com/tags/hugo/</link><description>Recent content in Hugo on Howar31 Blog</description><generator>Hugo</generator><language>zh-tw</language><lastBuildDate>Wed, 22 Apr 2026 23:51:19 +0800</lastBuildDate><atom:link href="https://blog.howar31.com/tags/hugo/index.xml" rel="self" type="application/rss+xml"/><item><title>升上 VuePress v2 RC 五個月後，決定再遷移到 Hugo 的紀錄</title><link>https://blog.howar31.com/posts/vuepress-to-hugo-migration/</link><pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate><guid>https://blog.howar31.com/posts/vuepress-to-hugo-migration/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;2025 年 11 月才剛從 VuePress v1.8 升上 v2.0.0-rc.26，本以為至少能安穩用個幾年。結果升完五個月就遇到一堆問題，最後在 2026 年 4 月決定&lt;strong&gt;再搬一次&lt;/strong&gt;，這次換到 Hugo。&lt;/p&gt;
&lt;p&gt;這篇記錄從評估、選型、遷移、踩雷到最後部署上線的完整過程，順便也拿這篇當 component 測試文，把 Hugo 版型的 code block、tip、warning、表格、SVG、taxonomy 一次全部跑過。&lt;/p&gt;
&lt;h2 id="為什麼升-v2-才-5-個月就要再搬"&gt;為什麼升 v2 才 5 個月就要再搬？&lt;/h2&gt;
&lt;p&gt;升級前以為是一次「大幅刷新但之後穩定」的投資。升完才真正理解現狀：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;VuePress v2 本身自 2022 就卡在 RC&lt;/strong&gt;，到 2026 仍然沒有 stable。這個「卡 RC 3+ 年」的背景是在&lt;strong&gt;升上去之後&lt;/strong&gt;才有切身感受&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;插件生態沒跟上&lt;/strong&gt;：v1 時期依賴的若干插件在 v2 沒有對應版本，有些甚至上游直接放棄維護&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RC 階段的 theme API 仍會 breaking change&lt;/strong&gt;：升 v2 時已經改了一次 theme，完全不想再因為某次 RC 升級又全部改一次&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dev server 啟動 30 秒&lt;/strong&gt;：寫文章的摩擦大到開了就忘記要寫什麼&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;與其繼續賭 v2 什麼時候脫 RC，不如直接換到&lt;strong&gt;生態穩定、建置極快&lt;/strong&gt;的工具。於是評估了 Astro、Next.js、Eleventy、Hugo，最後選 Hugo：&lt;/p&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;th&gt;Runtime 依賴&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;極快（幾百毫秒）&lt;/td&gt;
 &lt;td&gt;十年以上穩定&lt;/td&gt;
 &lt;td&gt;Go binary&lt;/td&gt;
 &lt;td&gt;模板語法較陌生&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Astro&lt;/td&gt;
 &lt;td&gt;中等&lt;/td&gt;
 &lt;td&gt;快速演進中&lt;/td&gt;
 &lt;td&gt;Node.js&lt;/td&gt;
 &lt;td&gt;還在 breaking changes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Next.js&lt;/td&gt;
 &lt;td&gt;慢（依頁面數成長）&lt;/td&gt;
 &lt;td&gt;成熟但偏 App&lt;/td&gt;
 &lt;td&gt;Node.js&lt;/td&gt;
 &lt;td&gt;對靜態部落格 overkill&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Eleventy&lt;/td&gt;
 &lt;td&gt;快&lt;/td&gt;
 &lt;td&gt;小眾但穩定&lt;/td&gt;
 &lt;td&gt;Node.js&lt;/td&gt;
 &lt;td&gt;template 選擇多到雜亂&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Hugo 的勝出原因很簡單：&lt;strong&gt;Go 寫的單一執行檔、零 Node.js、零 npm、template 語法雖然怪但至少不會自己 breaking change&lt;/strong&gt;。&lt;/p&gt;</description></item></channel></rss>