從零開始搭建個人品牌站
為什麼要建這個站
做了幾年開發和交易,零散的東西散落在各處——GitHub 上幾個倉庫,本地幾篇草稿,朋友圈裡碎片化的想法。沒有一個地方能把這些串起來,告訴別人「我是誰,我在做什麼」。
個人品牌不是虛榮心。它是一個訊號放大器。你寫的程式碼、踩過的坑、做過的專案,如果沒人看到,那就只是自娛自樂。一個站點把這些東西聚合在一起,讓潛在的合作者、雇主、或者同路人能快速理解你。
還有一個原因:build in public。把構建過程公開記錄,逼自己把事情做完,而不是永遠停留在「下週再說」。
技術選型
選 Astro 不是因為它新潮。是因為它 content-first——部落格和文件天然適合靜態生成,不需要客戶端 JavaScript 執行時。React 站點載入一堆 JS 只為了渲染一篇文章,這不合理。
Tailwind CSS 4 用了 CSS 原生的 @theme 設定,不再需要 tailwind.config.js。設計 token 直接寫在 CSS 裡,和瀏覽器的工作方式更近一步。
Cloudflare Pages 解決分發問題。全球 CDN,零冷啟動,免費額度夠用。中國大陸訪問速度也還行,比 Vercel 和 Netlify 好一些。
三語支援(英文 / 簡體中文 / 繁體中文)是一開始就規劃的。不是後期加的。i18n 架構如果不在第一天考慮,後面改造成本極高——路由、內容目錄結構、hreflang 標籤、UI 文案翻譯,每個環節都要適配。
架構決策
內容用 Astro Content Collections 管理。每篇內容有 lang 和 translationKey 兩個欄位,前者標識語言,後者把不同語言版本關聯起來。這樣語言切換時能精確跳轉到對應翻譯,而不是回到首頁。
目錄結構按語言分目錄:src/content/blog/en/、src/content/blog/zh-cn/。頁面路由也是語言前綴:/en/blog/、/zh-cn/blog/。
設計上選了深色 navy 做主色(65%),灰色做輔助(25%),琥珀色做強調(10%)。字型用 Space Grotesk 做標題——有幾何感但不冰冷。正文用 Inter,可讀性好。沒選 Roboto,太泛了。
下一步
站點骨架搭完了。接下來要做的:填充期權教程內容(從之前的 epub 和 YouTube 轉錄稿提取)、接入公眾號和 X 的發佈流程、部署到 Cloudflare Pages。
這是第一篇,後續會持續記錄。