產品說明
Hugo 是一款以 Go 語言 (Golang) 撰寫的開源靜態網站產生器 (Static Site Generator, SSG)。它的最大賣點在於「速度」—— 能夠在幾毫秒內生成一個頁面,即使是擁有數千頁面的大型網站,也能在幾秒鐘內完成建置。這解決了傳統動態 CMS (如 WordPress) 效能低落與安全性維護不易的問題,同時也比其他腳本語言開發的 SSG (如 Jekyll、Hexo) 快上數十倍。
Hugo 採用單一執行檔 (Single Binary) 發布,這意味著使用者無需安裝複雜的相依套件 (如 Ruby Gems 或 npm modules) 即可開始使用,大幅降低了環境配置的門檻。它原生支援 Markdown 語法,並提供強大的樣板引擎 (Templating) 與短代碼 (Shortcodes) 功能,非常適合用於建立個人部落格、技術文件、公司形象網站或作品集。
核心特色:
- 極致效能:基於 Go 語言的高並發特性,擁有目前市面上最快的建置速度與即時預覽 (LiveReload) 反應。
- 單一執行檔:下載即用,跨平台支援度極佳 (Windows/macOS/Linux),無需煩惱環境相依性地獄。
- 靈活強大:內建豐富的函式庫,支援多語系 (i18n)、圖片自動處理 (裁切、縮放)、Sass/SCSS 編譯等功能。
- 內容管理:強大的分類法 (Taxonomies) 與內容類型 (Content Types) 支援,能輕鬆組織複雜的網站結構。
- 豐富生態:擁有龐大的社群與數百種現成的主題 (Themes),可快速套用並客製化。
常用指令與操作
Hugo 的操作主要透過命令列介面 (CLI) 進行。其指令設計簡潔明瞭,符合開發者的直覺。
基礎操作
- 建立新站點:在當前目錄下建立一個完整的 Hugo 專案結構。
hugo new site my-website - 新增內容:使用模板快速建立新的 Markdown 文章。
hugo new content posts/my-first-post.md - 啟動開發伺服器:在本地端啟動 Web Server,支援即時重整 (LiveReload)。加上
-D參數可預覽草稿 (Draft) 內容。hugo server -D - 建置網站:將 Markdown 內容轉換為靜態 HTML 檔案,預設輸出至
public/資料夾,即可上傳至 GitHub Pages 或 Netlify。hugo
常用參數 (Flags)
雖然 Hugo 不是互動式 TUI 軟體,但熟悉以下 CLI 參數能讓你更精準地控制建置行為:
| 參數 | 功能說明 | 適用情境 |
|---|---|---|
| -D, –buildDrafts | 包含草稿 (Include Drafts) | 開發預覽時查看尚未發布的文章 |
| -F, –buildFuture | 包含未來內容 (Include Future) | 預覽設定在未來時間發布的文章 |
| –minify | 最小化輸出 (Minify Output) | 正式建置時壓縮 HTML/CSS/JS 以提升載入速度 |
| –gc | 垃圾回收 (Garbage Collection) | 建置後清除未使用的快取資源 |
| -t, –theme | 指定主題 (Force Theme) | 暫時切換或測試不同主題時使用 |
| –cleanDestinationDir | 清理目標目錄 | 建置前清空 public/ 資料夾,避免舊檔殘留 |
進階技巧
- 短代碼 (Shortcodes):不想在 Markdown 中寫複雜的 HTML?利用 Hugo 的 Shortcodes 功能,例如
{{< youtube id >}}即可快速嵌入影片,或自訂 Twitter 推文、Gist 程式碼區塊。 - 圖片處理管道:在模板中直接呼叫 Hugo 的圖片處理 API,例如
{{ $image.Resize "600x" }},Hugo 會在建置時自動產生縮圖,無需手動裁切圖片。 - 設定檔模組化:對於大型專案,可以將
hugo.toml(或config.yaml) 拆分為多個檔案並放入config/目錄中,依照環境 (development/production) 載入不同的設定。
操作介面





