特性
框架
- 多平台
- 在 Linux、macOS、Windows 等平台上安装 Hugo 的单个可执行文件。
- 多语言
- 为每种语言和地区本地化您的项目,包括翻译、图像、日期、货币、数字、百分比和排序顺序。 Hugo 的多语言框架支持单主机和多主机配置。
- 输出格式
- 将站点的每个页面渲染为一个或多个输出格式,并按页面类型、章节和路径进行精细控制。虽然 HTML 是默认的输出格式,但您可以添加 JSON、RSS、CSV 等。例如,创建一个 REST API 来访问内容。
- 模板
- 使用变量、函数和方法创建模板,将您的内容、资源和数据转换为已发布的页面。虽然 HTML 模板是最常见的,但您可以为任何输出格式创建模板。
- 主题
- 通过使用 Hugo 社区贡献的数百个主题之一,减少开发时间和成本。主题适用于公司站点、文档项目、图像作品集、着陆页、个人和专业博客、简历、CV 等。
- 模块
- 通过创建或导入原型、资源、内容、数据、模板、翻译表、静态文件或配置设置的打包组合,减少开发时间和成本。模块可以用作新站点的基础,或增强现有站点。
- 隐私
- 配置 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,打包,摇树优化,压缩,创建源映射并执行 SRI 哈希。
- Sass 处理
- 将 Sass 转译为 CSS,打包,摇树优化,压缩,创建源映射,执行 SRI 哈希,并与 PostCSS 集成。
- Tailwind CSS 处理
- 将 Tailwind CSS 实用程序类编译为标准 CSS,打包,摇树优化,优化,压缩,执行 SRI 哈希,并与 PostCSS 集成。