相較於其他 SSG,Hugo 有 4 大特色。
Version
Hugo 0.161.1
快
無論其他 SSG 再怎麼進化,其最大的問題就是隨著 markdown 檔案越來越多,編譯成 HTML 的速度會斷崖式地變慢,尤其以 Node.js 為基礎的 SSG 最為明顯。Hugo 能發揮 CPU 多核心的優勢,不用擔心 markdown 檔案數量問題。
完整 Toolchain
其他 SSG 大都要依賴 Webpack、Vite、NPM 之類工具,或一堆 plugin 解決 HTML/CSS/JavaScript 整合問題;Hugo 則內建完整 Toolchain,連 Tailwind CSS 也是原生支援。
Function Pipeline
Hugo 是少數直接支援 Function Pipeline 的 SSG,雖然不是所有的 function 都支援 pipeline,但常用的 function 都可直接使用 pipeline,非常難得。
Context
Hugo 繼承於 Go 的 text/template,可直接使用 . 存取目前 context,這使得 codebase 非常精簡,為 Hugo 一大特色。
Conclusion
- 很多人嫌 Hugo 的 Go Template 語法怪異,學習門檻高,這是以 JavaScript 的角度來思考,若以 Go 的角度,Hugo 其實最接近 Go 習慣,還支援難得的 Function Pipeline
- 儘管 Hugo 的 DX 稍差,但 SSG 最重要的就是速度,這才是 Hugo 最大特色