Growth Systems
當一次網站 migration 一開始就想做得太多,最後最容易發生的事就是公開面一直卡住。頁面太多、component 太多、舊抽象太多,每一樣都在分散注意力。
所以先把 blog 做好,是一種刻意的收窄。
Blog 是一個有用的限制
這個 surface 剛好把一套核心問題收得很集中:
- list pages
- article pages
- metadata 與日期
- 可重用的 layout pieces
- markdown 內容編寫流程
這個範圍夠大,足以證明新架構;但又夠小,不會一開始就把所有 legacy dependency 一起背過來。
它也幫助我們更快看清設計系統
舊的 Nuxt app 曾經依賴一套 UI kit 處理部分 interaction 與 wrapper。這並不是完全錯的做法,但它也會把很多預設決定一起帶進來,令重建後的感覺偏向泛用,而不是刻意。
先由內容開始,我們就可以把新的 visual system 建在一些更耐用的基礎上:
- type
- spacing
- cards
- navigation
- article readability
這些 primitive 通常比一長串 imported component 更值得先定下來。
小一點的首發,也一樣算正式上線
先做好一個強而清楚的 surface,並不代表保守,很多時候反而更有推進力:
- 內容可以更早上線
- codebase 會更容易理解
- 後續每一步 migration 都有已驗證的模式可跟
這次 Astro rollout 想做的,就是這種節奏:切得更小,但每一塊都認真交付。