快轉到主要內容

認識 Hugo

查看原始碼編輯此頁 (外部連結)
首次發表:

Hugo (外部連結) 是以 Go 語言撰寫的靜態網站生成器 (SSG),構建的靜態網站讓你免於煩惱伺服器的開銷和維護問題。Hugo 有諸多特色,速度只是其中一個,設定靈活、可規模化、可擴展性以及開箱即用都只是他的眾多優點之一。

Hugo 整合以下工具,也理所當然的繼承了他們的優點:

Hugo 的角色是整合工具,定義好資料怎麼流動以構建出完整網站。

特色 此標題的連結

單一執行檔 此標題的連結

Hugo 只有一個執行檔,沒有 JS 生態的依賴,這代表即使外部工具鏈(npm registry、Node 版本等)全部出問題,你的網站依然能正常構建。

速度 此標題的連結

Hugo 使用 Go 編譯成單一二進位檔,構建速度是市面上數一數二快的 SSG,中大型網站(幾千篇文章)的完整構建時間通常是秒級。

可規模化 此標題的連結

Hugo 的規模化已經過實戰驗證,例如 V&A 博物館超過百萬頁的線上典藏 (外部連結)。

模板覆蓋(UFS 系統) 此標題的連結

Hugo 可以在專案根目錄建立與主題相同路徑的檔案來覆蓋主題內容,這讓你能只修改需要客製化的部分,同時保留跟隨上游主題更新的能力,不需要 fork 整個主題。

整合現代前端 此標題的連結

js.Build 讓 assets/ 內可以用 import 語句導入 node_modules 套件,支援 TypeScript 與 ESM 模組。

成熟度 此標題的連結

Hugo 已發展超過十年,許多開箱即用的功能(permalinks 設定、render segment、content adapter、UFS override 系統等)都相當完整,現成主題的數量也遠多於同類工具。

已知限制 此標題的連結

在開始使用前,有幾件事值得先有心理準備:

  • 前後端混雜:Hugo 使用 Go 開發的模板引擎,即使你只做前端網站,語法本身仍然是 Hugo 獨有的一套(例如加法要寫成 {{ add 1 1 }}),所有東西都需要查閱文檔。
  • 無插件系統:Hugo 不支援插件擴充,功能限於內建整合的範圍內,超出範圍就需要自行處理,前端開發者也難以直接參與 Go 專案的貢獻。
  • 版本穩定性:Hugo 至今仍是 0.x 版本,尚未發布穩定 1.0 版本。

無障礙設定

字體大小