特性
框架
- 多平台
- 在 Linux、macOS、Windows 等多个平台上安装 Hugo 的单个可执行文件。
- 多语言
- 为每种语言和地区本地化您的项目,包括翻译、图像、日期、货币、数字、百分比和排序规则。Hugo 的多语言框架支持单主机和多主机配置。
- 输出格式
- 将您网站的每个页面呈现为一种或多种输出格式,并按页面类型、章节和路径进行细粒度控制。虽然 HTML 是默认的输出格式,但您可以添加 JSON、RSS、CSV 等。例如,创建一个 REST API 来访问内容。
- 模板
- 使用变量、函数和方法创建模板,将您的内容、资源和数据转换为已发布的页面。虽然 HTML 模板最常见,但您可以为任何输出格式创建模板。
- 主题
- 通过使用 Hugo 社区贡献的数百个主题之一来减少开发时间和成本。主题适用于公司网站、文档项目、图像作品集、登录页面、个人和专业博客、简历、履历等。
- 模块
- 通过创建或导入原型、资产、内容、数据、模板、翻译表、静态文件或配置设置的打包组合来减少开发时间和成本。模块可以作为新网站的基础,也可以用于增强现有网站。
- 隐私
- 配置 Hugo 的嵌入式模板和短代码的行为,以方便遵守区域隐私法规,包括 GDPR 和 CCPA 。
- 安全
- Hugo 的安全模型基于这样的前提:模板和配置作者是可信的,但内容作者不可信。此模型可以生成对代码注入安全的 HTML 输出。其他保护措施可以防止“调用”任意应用程序,限制对特定环境变量的访问,防止连接到任意远程数据源等等。
内容创作
- 内容格式
- 使用 Markdown、HTML、AsciiDoc、Emacs Org Mode、Pandoc 或 reStructuredText 创建您的内容。Markdown 是默认的内容格式,符合 CommonMark 和 GitHub Flavored Markdown 规范。
- Markdown 属性
- 将 HTML 属性(如
class
和id
)应用于 Markdown 图片和块元素,包括块引用、围栏代码块、标题、水平线、列表、段落和表格。 - Markdown 扩展
- 利用嵌入式 Markdown 扩展创建表格、定义列表、脚注、任务列表、插入文本、标记文本、下标、上标等等。
- Markdown 渲染钩子
- 在渲染块引用、围栏代码块、标题、图像、链接和表格时覆盖 Markdown 到 HTML 的转换。例如,将每个独立图像呈现为 HTML
figure
元素。 - 图表
- 使用围栏代码块和 Markdown 渲染钩子在内容中包含图表。
- 数学公式
- 使用 LaTeX 或 TeX 排版语法在 Markdown 中包含数学方程和表达式。
- 语法高亮
- 使用 Hugo 的嵌入式语法高亮器对代码示例进行语法高亮显示,默认情况下为 Markdown 中的围栏代码块启用。语法高亮器支持数百种代码语言和数十种样式。
- 短代码
- 使用 Hugo 的嵌入式短代码,或创建您自己的短代码,以插入复杂内容。例如,使用短代码包含
audio
和video
元素,从本地或远程数据源呈现表格,从其他页面插入片段等等。
内容管理
- 内容适配器
- 创建内容适配器,以便在构建网站时动态添加内容。例如,使用内容适配器从远程数据源(如 JSON、TOML、YAML 或 XML)创建页面。
- 分类
- 对内容进行分类,以建立页面之间简单或复杂的逻辑关系。例如,创建一个作者分类法,并将一个或多个作者分配给每个页面。除其他用途外,分类系统还提供了一个反向加权索引,用于按相关性顺序呈现相关页面的列表。
- 数据
- 使用本地或远程数据源(包括 CSV、JSON、TOML、YAML 和 XML)增强您的内容。例如,创建一个短代码,从远程 CSV 文件呈现 HTML 表格。
- 菜单
- 通过 Hugo 的菜单系统快速访问内容,该系统可以自动、全局或逐页配置。菜单系统是 Hugo 多语言架构的关键组成部分。
- URL 管理
- 通过全局配置或逐页配置,从任何路径访问任何页面。
资源管道
- 图像处理
- 转换、调整大小、裁剪、旋转、调整颜色、应用滤镜、叠加文本和图像以及提取 EXIF 数据。
- JavaScript 打包
- 将 TypeScript 和 JSX 转译为 JavaScript,打包、tree shaking、压缩、创建源映射并执行 SRI 哈希。
- Sass 处理
- 将 Sass 转译为 CSS,打包、tree shaking、压缩、创建源映射,执行 SRI 哈希并与 PostCSS 集成。
- Tailwind CSS 处理
- 将 Tailwind CSS 实用程序类编译为标准 CSS,打包、tree shaking、优化、压缩、执行 SRI 哈希并与 PostCSS 集成。