HUGO
Menu
GitHub 87548 stars Mastodon

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 是默认内容格式,符合 CommonMarkGitHub Flavored Markdown 规范。
Markdown 属性
classid 等 HTML 属性应用于 Markdown 图像和块元素,包括引用、围栏代码块、标题、水平线、列表、段落和表格。
Markdown 扩展
利用嵌入式 Markdown 扩展创建表格、定义列表、脚注、任务列表、插入文本、标记文本、下标、上标等。
Markdown 渲染钩子
在渲染引用、围栏代码块、标题、图像、链接和表格时覆盖 Markdown 到 HTML 的转换。例如,将每个独立图像渲染为 HTML figure 元素。
图表
使用围栏代码块和 Markdown 渲染钩子在内容中包含图表。
数学
使用 LaTeX 标记在 Markdown 中包含数学方程和表达式。
语法高亮
使用 Hugo 嵌入式语法高亮器以语法方式突出显示代码示例,默认情况下为 Markdown 中的围栏代码块启用。语法高亮器支持数百种代码语言和数十种样式。
短代码
使用 Hugo 嵌入式短代码或创建自己的短代码来插入复杂内容。例如,使用短代码包含 audiovideo 元素、从本地或远程数据源渲染表格、插入其他页面的片段等。

内容管理

多维内容模型
从单一来源生成跨语言、角色和版本的任意组合的页面。这允许将单个内容发布到项目中的多个 站点,无需为不同的受众或版本复制文件。
内容适配器
创建内容适配器以在构建站点时动态添加内容。例如,使用内容适配器从远程数据源(如 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 集成。

性能

缓存
通过渲染 partial 模板一次然后缓存结果来减少构建时间和成本,可以全局或在给定上下文中缓存。例如,缓存资源管道的结果以防止在每个渲染页面上重新处理。
分段
通过将站点划分为段来减少构建时间和成本。例如,每小时渲染主页和"新闻部分",每周渲染整个站点一次。
压缩
压缩 HTML、CSS 和 JavaScript 以减少文件大小、带宽消耗和加载时间。

Last updated: January 1, 0001
Improve this page