<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Migration on Howar31 Blog</title><link>https://blog.howar31.com/tags/migration/</link><description>Recent content in Migration 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/migration/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><item><title>從 VuePress v1 升級到 v2</title><link>https://blog.howar31.com/posts/vuepress-v1-to-v2-upgrade/</link><pubDate>Sun, 23 Nov 2025 00:00:00 +0000</pubDate><guid>https://blog.howar31.com/posts/vuepress-v1-to-v2-upgrade/</guid><description>&lt;p&gt;使用 VuePress v1 架設 blog 好幾年了，我決定升級到 VuePress v2，主要是想用更現代的建置系統、更好的效能，還有更好的開發體驗。 VuePress v2 帶來了不少改進，包括 Vite 打包工具、Vue 3 支援、TypeScript 支援，還有更模組化的插件架構。&lt;/p&gt;
&lt;p&gt;這篇文章記錄了我從 VuePress v1 升級到 v2 的過程，包括遇到的問題和解決方法。&lt;/p&gt;
&lt;h2 id="為什麼要升級"&gt;為什麼要升級？&lt;/h2&gt;
&lt;p&gt;VuePress v2 有幾個讓我想要升級的理由：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Vite 打包工具&lt;/strong&gt; - 建置時間比 webpack 快很多，熱模組替換也更快&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vue 3 支援&lt;/strong&gt; - 現代的 Composition API 和更好的效能&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TypeScript 支援&lt;/strong&gt; - 型別安全的配置和更好的 IDE 支援&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模組化架構&lt;/strong&gt; - 更好的插件系統和更靈活的客製化&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;效能改進&lt;/strong&gt; - 優化的打包分割和更快的頁面載入&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;更好的開發體驗&lt;/strong&gt; - 改進的錯誤訊息和除錯工具&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="hint-container tip"&gt;
 &lt;p class="hint-container-title"&gt;
 &lt;i class="fas fa-lightbulb" aria-hidden="true"&gt;&lt;/i&gt;
 Tip
 &lt;/p&gt;
 寫這篇文章的時候，VuePress v2 還在 Release Candidate (RC) 階段 (v2.0.0-rc.26)，不過已經穩定到可以上 production 了。 官方 v2 正式版應該很快就會發布。
&lt;/div&gt;

&lt;h2 id="環境"&gt;環境&lt;/h2&gt;
&lt;p&gt;升級時使用的環境：&lt;/p&gt;</description></item></channel></rss>