新開始
小站自 2024 年 7 月 21 日起便一直以靜態網頁的形式透過 GitHub Pages 向諸位提供服務。
受惠於 PocketBase,今天小站終於有了一個還算有模有樣的後端。
起因
在過去的一段時間裡,小站的所有內容皆以純靜態文件的形式存在於公開專案內(還帶歷史記錄)。雖然簡單、穩定,也不需要額外維護伺服器,但隨著文章數量逐漸增加,一些原本不明顯的問題也開始浮現。
主要是新的內容發布需要重新產生頁面,而一些本應該由後端處理的呈現工作,也只能透過修改檔案完成。
起初因爲規模太小,所以這邊沒太大在意。但之後的相當一部分時間,每當這邊想對小站進行某些樣式升級的時候,便不得不遍歷每一個現存的頁面檔案,以重複性的插入或刪除某些 script 來維持統一性。
而在內容的發佈上,流程已經繁複到了讓這邊專門寫一個 md 轉 html 外加 rss 生成的小工具來管理一次發佈所不得不牽連到的各式檔案。
因此,這次改造旨在維持原有簡潔性的前提下,補上一些靜態網站較難處理的功能。
主要變更
目前小站的文章資料已交由 PocketBase 管理,並透過 Hook 動態產生 Atom Feed。往後新增文章後,便不再需要手動維護搜尋引擎索引與訂閱來源,相關內容會由後端自動生成。
另外還引入了 tags 和基礎的站內搜尋功能。
選擇 PocketBase 的原因是它足夠輕量,不需要引入完整框架,也不需要為了管理幾張資料表而架設一套龐大的系統。於小站這種先有樣式設計再加後端的站點而言興許算是一個侵入性比較小的方案。
並且能夠在保有簡單架構的同時增加一些現代網站應有的能力也已經足夠。未來若有新的需求,或許還會繼續擴充目前的後端功能。
但至少從今天開始,小站便不再只是由一堆靜態檔案組成的頁面,而是一個稍微完整一些的網站。
如無特殊說明,所有內容採用 CC BY 4.0 協議共享
