一個人的時間有限,但我手刻了一個 1MB 的完全體 CMS。
在這個「隨便跑個 Hello World 都要 50MB」的現代網頁世界裡,做一個功能完整的內容管理系統(CMS),到底需要多少空間?
答案是:1MB,包含 vendor。
這不是天方夜譚,而是這陣子發生在璦閣數位科技研究室裡的真實奇蹟。這篇文章,想和大家聊聊 IgG Flat CMS 的誕生故事,以及一個獨立開發者(Solo Developer)對於程式碼潔癖的終極浪漫。
💡 起源:就想用。
事情的起因很單純。我有個架設輕量網站、撰寫文章的管理需求。市場上不是沒有現成的解決方案,但當我打開那些著名的開源軟體,看著那龐大的架構相依性、為了兼容十年前舊設計而存在的數萬行殭屍程式碼,以及動輒 50MB 起跳的體積……我體內的「工程師強迫症」發作了。
既然市面上沒有完全符合我要求的「精兵」,那想法很簡單:我自己寫一個。
🛠️ 過程:寫一個 → 覺得好用。
我關起門來,在 Debian 伺服器上開始了瘋狂的手刻時光。
我不想要沉重的資料庫維護成本,於是用 Flat-file(純檔案) 架構取代了資料庫;我想要文章寫起來流暢,於是挑選了最乾淨的 Parsedown 解析 Markdown;我需要優雅的設定檔,於是引入了 Symfony 的 YAML 組件。
當我省去了所有大框架的「黏合廢話(Glue code)」,我必須用自己的大腦去硬幹 Router.php 的網址比對、去精雕細琢 FileHandler.php 的防駭寫入安全性,甚至用純原生 JavaScript 刻出帶有拖曳上傳、剪貼簿複製功能的後台媒體庫。
把東西寫多很容易,把東西寫少才需要真功夫。
當專案大功告成、跑完 composer install 的那一刻,我揉了揉眼睛——整個資料夾,900 多 KB,連 1MB 都不到。
上線實測後,那種在伺服器上幾乎不佔 CPU、網頁秒開到留下殘影的流暢感,讓我忍不住讚嘆:這才叫軟體,這才叫優雅!

🌍 結局:極致,就是給自己最好的禮物。
身為一個獨立開發者,我的時間非常寶貴。璦閣數位科技還有更龐大的主力部隊(AI 總機系統、TaiwanCore)正在全速戰鬥,但我始終相信,好的工具能讓開發者走得更遠。
這套 CMS 在我手中已經打磨到了我心中 「極致、穩定、精簡」 的完全體。與其讓它躺在硬碟裡,不如把它開源出去,分享給世界上同樣有著「技術潔癖」的有緣人。
v1.0 的初心:證明了「無需資料庫」也能擁有部落格、產品管理與完善的檔案系統。
v2.0 的進化:這是一次華麗的升級。我們內建了「極致輕量化」的 三層 YAML 多國語系架構。不論是需要正體中文、英文還是其他語言,只需一鍵切換。我們完美解決了 Flat-file 系統長期被詬病的語言切換痛點,同時依然維持著那「不到 1MB」的極致體積。
這套系統省下來的那 49MB 贅肉,並沒有憑空消失,而是全部濃縮成了我的架構思維與邏輯血汗。
v2.0 已經正式上線,現在,它就在這裡:
👉 [ 點我到 GitHub 帶走 IgG Flat CMS ]
歡迎懂吃的技術同好,一起來品嚐這道 1MB 的精緻私房菜。別忘了幫我點個 Star,這是對這種「極簡浪漫」最大的鼓勵!