Hugo 特性
Hugo 豐富而強大的功能集提供了在幾秒鐘內(通常更少)構建靜態站點的框架和工具。
框架
- 多平台
- 在 Linux、macOS、Windows 及更多系統上安裝 Hugo 的單個可執行文件。
- 多語言
- 為每種語言和區域本地化您的項目,包括翻譯、圖像、日期、貨幣、數字、百分比和排序順序。Hugo 的多語言框架支持單主機和多主機配置。
- 輸出格式
- 將站點的每個頁面渲染為一種或多種輸出格式,可按頁面類型、部分和路徑進行精細控制。雖然 HTML 是默認輸出格式,但您可以添加 JSON、RSS、CSV 等。例如,創建 REST API 來訪問內容。
- 模板
- 使用變量、函數和方法創建模板,將內容、資源和數據轉換為已發布的頁面。雖然 HTML 模板是最常見的,但您可以為任何輸出格式創建模板。
- 主題
- 通過使用 Hugo 社區貢獻的數百個主題之一來減少開發時間和成本。主題適用於企業網站、文檔項目、圖像作品集、著陸頁、個人和專業博客、簡歷等。
- 模塊
- 通過創建或導入打包的原型、資源、內容、數據、模板、翻譯表、靜態文件或配置設置的組合來減少開發時間和成本。模塊可以作為新站點的基礎,或增強現有站點。
- 隱私
- 配置您的站點以幫助遵守區域隱私法規。
- 安全
- Hugo 的安全模型基於模板和配置作者是受信任的,但內容作者不是的前提。此模型使生成的 HTML 輸出對代碼注入安全。其他保護措施包括防止"調用"任意應用程序、限制對特定環境變量的訪問、防止連接到任意遠程數據源等。
內容創作
- 內容格式
- 使用 Markdown、HTML、AsciiDoc、Emacs Org Mode、Pandoc 或 reStructuredText 創建內容。Markdown 是默認內容格式,符合 CommonMark 和 GitHub Flavored Markdown 規范。
- Markdown 屬性
- 將
class和id等 HTML 屬性應用於 Markdown 圖像和塊元素,包括引用、圍欄代碼塊、標題、水平線、列表、段落和表格。 - Markdown 擴展
- 利用嵌入式 Markdown 擴展創建表格、定義列表、腳注、任務列表、插入文本、標記文本、下標、上標等。
- Markdown 渲染鉤子
- 在渲染引用、圍欄代碼塊、標題、圖像、鏈接和表格時覆蓋 Markdown 到 HTML 的轉換。例如,將每個獨立圖像渲染為 HTML
figure元素。 - 圖表
- 使用圍欄代碼塊和 Markdown 渲染鉤子在內容中包含圖表。
- 數學
- 使用 LaTeX 標記在 Markdown 中包含數學方程和表達式。
- 語法高亮
- 使用 Hugo 嵌入式語法高亮器以語法方式突出顯示代碼示例,默認情況下為 Markdown 中的圍欄代碼塊啟用。語法高亮器支持數百種代碼語言和數十種樣式。
- 短代碼
- 使用 Hugo 嵌入式短代碼或創建自己的短代碼來插入復雜內容。例如,使用短代碼包含
audio和video元素、從本地或遠程數據源渲染表格、插入其他頁面的片段等。
內容管理
- 多維內容模型
- 從單一來源生成跨語言、角色和版本的任意組合的頁面。這允許將單個內容發布到項目中的多個 站點,無需為不同的受眾或版本復制文件。
- 內容適配器
- 創建內容適配器以在構建站點時動態添加內容。例如,使用內容適配器從遠程數據源(如 JSON、TOML、YAML 或 XML)創建頁面。
- 分類法
- 對內容進行分類以在頁面之間建立簡單或復雜的邏輯關系。例如,創建作者分類法,並為每個頁面分配一個或多個作者。除其他用途外,分類系統提供反向加權索引以渲染相關頁面列表,按相關性排序。
- 數據
- 使用本地或遠程數據源(包括 CSV、JSON、TOML、YAML 和 XML)增強內容。例如,創建短代碼從遠程 CSV 文件渲染 HTML 表格。
- 菜單
- 通過 Hugo 的菜單系統提供對內容的快速訪問,可自動、全局或逐頁配置。菜單系統是 Hugo 多語言架構的關鍵組成部分。
- URL 管理
- 通過全局配置或逐頁配置從任何路徑提供任何頁面。
資源管道
- 圖像處理
- 轉換、調整大小、裁剪、旋轉、調整顏色、應用濾鏡、疊加文本和圖像、提取元數據。
- JavaScript 打包
- 將 TypeScript 和 JSX 轉譯為 JavaScript、打包、樹搖、壓縮、創建源映射、執行 SRI 哈希。
- Sass 處理
- 將 Sass 轉譯為 CSS、打包、樹搖、壓縮、創建源映射、與 PostCSS 集成。
- Tailwind CSS 處理
- 將 Tailwind CSS 實用程序類編譯為標准 CSS、打包、樹搖、優化、壓縮、執行 SRI 哈希、與 PostCSS 集成。