由 WordPress 到 Astro:把網誌搬回自己的 NAS
系列
Self-hosting · 第 3 篇

原來這個網誌年紀不輕了:這裡最早的文章寫於二零零六年。至今已經搬過三次家:先是 Blogger,然後 LiveJournal,之後在 WordPress 落腳多年。今年它第四次搬遷:一個靜態的 Astro 網站,由我家中的 NAS 直接對外服務。這篇正是我在過程中的心路歷程。
為什麼要搬
主要原因與之前兩篇一樣,想把自己的資料留在自己的硬件中,不用再擔心或依賴第三方的平台。在 WordPress 上,文章在雲端的資料庫裡,好處是不用擔心「遺失」,雖然可以匯出作備份,但始終是在第三方平台,要依賴工具才拿得回來。而且,我的工作流程主要是在markdown,如果可以把寫作流程簡化,輕易地由初稿markdown 檔案轉為部落文,可能會讓我寫下較多感想,減低更新網誌的阻力,讓網誌重活。
這件事已經在「工作清單」中多年。隨著發展飛快的科技,由最初構思自家建立Wordpress或轉到另外較新的平台,到現在有簡易的工具從零重建一個網站,AI讓我終於把這個事項從「待辦」事項中剔除。有 Claude 幫助搭建骨架和處理轉換的過程,這次遷移從一個令人卻步的未知數,縮小成幾個晚上可以完成的事。
第一步:把文章從 WordPress 搬出來
WordPress 給你一個 XML 匯出檔,包括多年前已經從 Blogger 和 LiveJournal 匯入過一次的舊文。我曾在網上找尋把這個 XML 轉成 markdown 檔案的方法,但繁複的步驟讓我遲遲未開始這第一步。AI卻輕易地自動完成整個過程:解析匯出檔,把每篇文章生成一個檔名和 frontmatter 都正確的 markdown 檔。
第二步:學 Astro——比想像中嚴格,但是好事
在找尋合用的新平台,Astro似乎是較簡潔的選擇。Astro 對我來說也是全新領域,但我的網站只需要最基本的功能,在每篇文章標示 frontmatter(標題、日期、分類、語言),就能得到我大部分需要的功能。而且,在AI幫助下,我能跳過網上爬文的過程,定下所需要的功能,快速進入設定架構。
第三步:主題也交給 AI 設計
曾以WordPress建立過網站的人都可能經歷過,WordPress有很多功能、很多外掛,所以有時要花不少時間找尋合用又不用花太多金錢的方法。我用以往建立網站的經驗,一開始便定下要用的顏色、主題及網絡架構,再用Claude 的設計工具來定網站的外觀。這方法讓我不用像以往花大量時間反覆調整版面和樣式,只需幾次的微調就建成合心意的網站。
第四步:由 NAS 對外服務
Astro 把整個網站建置成一個靜態檔案的資料夾,對外行的我來說十分容易上手。定下基本的主頁、分頁,以.md寫下文章,執行建置,把產出的檔案複製到 Synology NAS 的資料夾,再在NAS連接上自己的域名對外服務(經Cloudflare設定),網站就建成了。
AI 做得好的——和它做不到的
既然「AI 使之可行」是成功「搬家」的關鍵原因,我再解釋一下AI在這過程中的角色。
我先以Claude寫下對網站的要求,了解到過程中的不同階段。以Claude產出的prompt到Google Antigravity搭建第一個Astro架構,這是第一嘗試。及後,在Claude code的幫助下對架構進行優化,變更外觀設計,加入雙語設定。建立NAS對外服務之中,Claude在過程中也幫助我找出合適的設定(雖然不是每一次都正確及合用)。
當然,AI不能做到的是代替自己去決定網站的風格及用字(自己的文筆其實比AI差),也不能代替自己去設定網站的主題及方向。但是,AI在這過程中的幫助真的十分有效及有用,特別是架構設定、大批更改某些frontmatter指令。我終於完成了其中一個拖延了多年的目標。
這是自架系列的第三篇。下一篇:建立自家的本地 AI 平台。
