關於

功能

框架

多平台
Hugo 的單一可執行檔可安裝於 Linux、macOS、Windows 以及更多平台上。
多語言
將專案本地化至各語言與地區,包括翻譯、圖片、日期、貨幣、數字、百分比與排序規則。Hugo 的多語言框架支援單一主機及多主機配置。
輸出格式
將網站的每個頁面輸出為一種或多種格式,並根據頁面類型、區段及路徑進行細緻控制。HTML 為預設輸出格式,但您也可以新增 JSON、RSS、CSV 等格式,例如建立 REST API 以存取內容。
[模板]
使用變數、函式與方法來轉換內容、資源與資料成已發佈的頁面。雖然 HTML 模板最為常見,但您可以為任意輸出格式創建模板。
[主題]
使用 Hugo 社群貢獻的數百個主題以減少開發時間與成本。這些主題適用於企業網站、文件專案、圖像作品集、著陸頁、個人與專業部落格、履歷表等。
模組
創建或導入包含範本、資產、內容、資料、模板、翻譯表、靜態檔案或設定的組合包,以減少開發時間與成本。模組可以作為新網站的基礎,或用於增強現有網站。
隱私
設定 Hugo 內建模板及短碼的行為,協助遵守地區性隱私法規,包括 GDPRCCPA
安全
Hugo 的安全模型以模板和設定作者為可信前提,內容作者則不被信任。此模型可生成 HTML 輸出並防範程式碼注入。此外,還有其他保護措施,例如防止對任意應用程式的呼叫、限制特定環境變數的存取、阻止連線至任意遠端資料來源等。

內容撰寫

內容格式
使用 Markdown、HTML、AsciiDoc、Emacs Org Mode、Pandoc 或 reStructuredText 撰寫內容。Markdown 為預設內容格式,遵循 CommonMarkGitHub Flavored Markdown 標準。
Markdown 屬性
為 Markdown 圖片及區塊元素(如引言、程式區塊、標題、水平分隔線、列表、段落與表格)添加 HTML 屬性,例如 classid
Markdown 擴展
利用內建 Markdown 擴展功能創建表格、定義列表、註腳、任務清單、插入文字、標記文字、下標、上標等。
Markdown 渲染掛鉤
自定義 Markdown 轉換為 HTML 的方式,用於渲染引言、程式區塊、標題、圖片、鏈接和表格。例如,將每個單獨的圖片渲染為 HTML figure 元素。
圖表
使用程式區塊和 Markdown 渲染掛鉤在內容中嵌入圖表。
數學運算
使用 LaTeX 或 TeX 排版語法在 Markdown 中包含數學方程與表達式。
語法高亮
使用 Hugo 的內建語法高亮功能為程式碼範例添加語法高亮,預設支援 Markdown 中的程式區塊。語法高亮支援數百種程式語言與多種樣式。
短碼
使用 Hugo 的內建短碼,或創建自己的短碼來插入複雜內容。例如,使用短碼插入 audiovideo 元素,從本地或遠端數據源渲染表格,插入其他頁面的片段等。

內容管理

內容適配器
創建內容適配器,動態新增內容至網站構建。例如,使用內容適配器從遠端數據源(如 JSON、TOML、YAML 或 XML)創建頁面。
分類
通過分類系統建立頁面之間的簡單或複雜邏輯關係。例如,創建 “作者” 分類並為每頁指派一個或多個作者。分類系統還可提供一個倒排且加權的索引,按相關性排序渲染相關頁面的列表。
數據
使用本地或遠端數據來源(如 CSV、JSON、TOML、YAML 和 XML)增強內容。例如,創建短碼以從遠端 CSV 文件渲染 HTML 表格。
選單
使用 Hugo 的選單系統快速存取內容,選單可根據全域配置或按頁面配置自動生成。選單系統也是 Hugo 多語言架構中的關鍵元件。
[網址管理]
透過全域配置或逐頁面設定,將任意頁面設置為任意路徑。

資產管道

圖像處理
進行圖片轉換、調整大小、裁剪、旋轉、顏色調整、應用濾鏡、覆蓋文字和圖片,並提取 EXIF 數據。
JavaScript 打包
將 TypeScript 和 JSX 轉譯為 JavaScript,進行打包、移除無用程式碼、壓縮、生成原始碼映射並執行 SRI 雜湊。
Sass 處理
將 Sass 轉譯為 CSS,進行打包、移除無用程式碼、壓縮、生成原始碼映射,並與 PostCSS 整合。
Tailwind CSS 處理
將 Tailwind CSS 的實用程式類編譯為標準 CSS,進行打包、移除無用程式碼、最佳化、壓縮,執行 SRI 雜湊,並與 PostCSS 整合。

效能

快取
減少構建時間與成本,透過全域或上下文快取模板結果。例如,快取資產管道的結果,以避免每次渲染頁面時重複處理。
分段
將網站分段以減少構建時間與成本。例如,每小時渲染一次首頁與 “新聞區段”,每週渲染一次整個網站。
壓縮
壓縮 HTML、CSS 與 JavaScript 以減少檔案大小、頻寬消耗及載入時間。