全部设置
按键名索引 Hugo 全部顶层配置项,含类型、默认值与分区说明。
本页是 Hugo 顶层配置键的索引,不是教程:它把项目配置中的每一个顶层键按名称字母序列出,并标注类型、默认值与一句话说明。请注意,这里的默认值只是上游文档在当前版本下的标注,精确默认值会随 Hugo 版本变化,请用 hugo config 或 hugo config mounts 核对你自己项目中实际生效的值。
每个顶层键要么是通用设置,即单个值,例如 baseURL 或 title;要么是配置分类,即把相关嵌套设置归为一组,例如 markup、menus 或 params。分类键的详情请见本站 configuration 章节下的对应页面(/configuration/…),没有单独页面的分类也在下表说明其用途。配置文件的基本写法与合并策略见配置 Hugo。
baseURL = 'https://example.org/'
title = '我的站点'
[params]
subtitle = '示例站点'设置
通用设置
下表按上游顺序(字母序)列出全部通用设置。目录类键都会受模块挂载影响。
| 键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
_merge |
string |
none |
主题与模块配置的合并策略:none、shallow、deep。 |
archetypeDir |
string |
archetypes |
原型文件目录。 |
assetDir |
string |
assets |
全局资源目录,供资源管道读取。 |
baseURL |
string |
https://example.org/ |
站点发布后的绝对 URL,需带结尾斜杠。 |
buildDrafts |
bool |
false |
构建时是否包含草稿内容。 |
buildExpired |
bool |
false |
构建时是否包含已过期内容。 |
buildFuture |
bool |
false |
构建时是否包含未来日期的内容。 |
cacheDir |
string |
— |
缓存目录,取值规则见下文「缓存目录」。 |
canonifyURLs |
bool |
false |
是否把相对 URL 规范化为绝对 URL。 |
capitalizeListTitles |
bool |
true |
是否自动大写分区、分类与术语列表标题。 |
cleanDestinationDir |
— |
— |
已于 0.167.0 弃用,改由 build 分区控制。 |
contentDir |
string |
content |
内容文件目录。 |
copyright |
string |
— |
站点版权声明,通常显示在页脚。 |
dataDir |
string |
data |
数据文件目录。 |
defaultContentLanguage |
string |
— |
默认语言,须与已定义的语言键匹配。 |
defaultContentLanguageInSubdir |
bool |
false |
是否把默认语言发布到同名子目录。 |
defaultContentRole |
string |
— |
默认内容角色(0.153.0 新增)。 |
defaultContentRoleInSubdir |
bool |
false |
是否把默认角色发布到同名子目录。 |
defaultContentVersion |
string |
— |
默认内容版本(0.153.0 新增)。 |
defaultContentVersionInSubdir |
bool |
false |
是否把默认版本发布到同名子目录。 |
defaultOutputFormat |
string |
— |
默认输出格式,未设置时取首个可用格式。 |
disableAliases |
bool |
false |
是否禁止为别名生成跳转文件。 |
disableDefaultLanguageRedirect |
bool |
false |
是否禁止默认语言的重定向别名。 |
disableDefaultSiteRedirect |
bool |
false |
是否禁止指向默认站点的重定向别名。 |
disableHugoGeneratorInject |
bool |
false |
是否禁止向首页注入 generator 元标签。 |
disableKinds |
[]string |
— |
构建时禁用的页面类型列表。 |
disableLanguages |
[]string |
— |
构建时禁用的语言键列表。 |
disableLiveReload |
bool |
false |
是否禁用浏览器自动实时重载。 |
disablePathToLower |
bool |
false |
是否禁止把页面 URL 转为小写。 |
enableEmoji |
bool |
false |
是否允许在 Markdown 中使用表情符号。 |
enableGitInfo |
bool |
false |
是否读取 Git 提交信息供模板使用。 |
enableMissingTranslationPlaceholders |
bool |
false |
缺少译文时是否显示占位符。 |
enableRobotsTXT |
bool |
false |
是否生成 robots.txt 文件。 |
hasCJKLanguage |
bool |
false |
是否自动识别中日韩语言以统计字数。 |
i18nDir |
string |
i18n |
翻译表文件目录。 |
ignoreCache |
bool |
false |
是否忽略已配置的文件缓存。 |
ignoreFiles |
[]string |
— |
用于排除文件的正则表达式列表。 |
ignoreLogs |
[]string |
— |
需要屏蔽的警告与错误消息标识列表。 |
ignoreVendorPaths |
string |
— |
排除出 _vendor 目录的模块路径通配符。 |
languageCode |
— |
— |
已于 0.158.0 弃用,请改用 locale。 |
layoutDir |
string |
layouts |
模板文件目录。 |
locale |
string |
— |
RFC 5646 语言标签,用于翻译与本地化格式。 |
mainSections |
string 或 []string |
— |
站点主要分区,供 MainSections 使用。 |
newContentEditor |
string |
— |
新建内容时调用的编辑器。 |
noBuildLock |
bool |
false |
是否禁止创建 .hugo_build.lock 文件。 |
noChmod |
bool |
false |
是否禁止同步文件权限模式。 |
noTimes |
bool |
false |
是否禁止同步文件修改时间。 |
panicOnWarning |
bool |
false |
是否在出现首个警告时中断构建。 |
pluralizeListTitles |
bool |
true |
是否自动把分区列表标题变为复数。 |
printI18nWarnings |
bool |
false |
是否逐条记录缺失翻译的警告。 |
printPathWarnings |
bool |
false |
多个文件写入同一路径时是否告警。 |
printUnusedTemplates |
bool |
false |
是否为未使用的模板输出警告。 |
publishDir |
string |
public |
站点发布目录。 |
refLinksErrorLevel |
string |
ERROR |
ref、relref 无法解析时的日志级别。 |
refLinksNotFoundURL |
string |
— |
ref、relref 无法解析时返回的 URL。 |
relativeURLs |
bool |
false |
是否把站点 URL 转为相对路径。 |
removePathAccents |
bool |
false |
是否移除内容路径中的组合字符重音。 |
renderSegments |
[]string |
— |
需要渲染的片段,省略则全部渲染。 |
resourceDir |
string |
resources |
资源管道输出缓存目录。 |
sectionPagesMenu |
string |
— |
指定菜单名,自动加入全部顶层分区。 |
staticDir |
string |
static |
静态文件目录。 |
summaryLength |
int |
70 |
自动摘要的最小词数。 |
templateMetrics |
bool |
false |
是否在控制台输出模板执行指标。 |
templateMetricsHints |
bool |
false |
是否输出模板执行优化提示。 |
theme |
string 或 []string |
— |
所用主题,多个主题按从左到右优先。 |
themesDir |
string |
themes |
主题目录。 |
timeout |
string |
60s |
生成页面内容的超时时间。 |
timeZone |
string |
— |
解析无时区日期时使用的时区。 |
title |
string |
— |
站点标题。 |
titleCaseStyle |
string |
ap |
自动标题的大小写规则,见下文。 |
配置分类
下表列出全部分类键。它们本身没有类型与默认值,其下的嵌套键请见对应的独立页面。
| 键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
build |
— |
— |
构建与发布相关设置。 |
caches |
— |
— |
各类文件缓存的配置。 |
cascade |
— |
— |
级联前置元数据的配置。 |
deployment |
— |
— |
部署目标与部署命令的配置。 |
frontmatter |
— |
— |
前置元数据格式,见前置元数据配置。 |
HTTPCache |
— |
— |
HTTP 缓存策略,见 HTTP 缓存配置。 |
imaging |
— |
— |
图像处理选项,见图像处理配置。 |
languages |
— |
— |
多语言与本地化,见语言配置。 |
markup |
— |
— |
Markdown 与语法高亮,见标记配置。 |
mediaTypes |
— |
— |
媒体类型定义。 |
menus |
— |
— |
菜单定义,见菜单配置。 |
minify |
— |
— |
输出压缩,见压缩配置。 |
module |
— |
— |
模块与挂载,见模块配置。 |
outputFormats |
— |
— |
输出格式定义,见输出格式配置。 |
outputs |
— |
— |
各类页面可用的输出格式映射。 |
page |
— |
— |
页面级默认设置。 |
pagination |
— |
— |
分页行为,见分页配置。 |
params |
— |
— |
自定义站点参数,见参数配置。 |
permalinks |
— |
— |
URL 结构,见永久链接配置。 |
privacy |
— |
— |
第三方服务的隐私策略。 |
related |
— |
— |
相关内容推荐规则。 |
roles |
— |
— |
内容角色定义。 |
security |
— |
— |
构建安全策略。 |
segments |
— |
— |
构建片段,见片段配置。 |
server |
— |
— |
开发服务器,见服务器配置。 |
services |
— |
— |
第三方服务,见服务配置。 |
sitemap |
— |
— |
站点地图,见站点地图配置。 |
taxonomies |
— |
— |
分类法定义,见分类法。 |
uglyurls |
— |
— |
是否使用不带目录的「丑陋」URL。 |
versions |
— |
— |
内容版本定义。 |
缓存目录
缓存目录由 cacheDir 设置或环境变量 HUGO_CACHEDIR 决定。两者都未设置时,Hugo 按以下顺序择一使用:在 Netlify 上运行时用 /opt/build/cache/hugo_cache/,这样配置为 :cacheDir 的缓存能在下次构建时恢复;否则用操作系统用户缓存目录下的 hugo_cache 目录(Unix 为 $XDG_CACHE_HOME 或 $HOME/.cache,macOS 为 $HOME/Library/Caches,Windows 为 %LocalAppData%);再否则用系统临时目录下的 hugo_cache_$USER 目录。查看当前生效的 cacheDir:
hugo config | grep cachedir标题大小写风格
titleCaseStyle 控制自动生成的列表标题以及 strings.Title 函数的大小写规则,默认采用美联社写作风格手册的规则。
| 取值 | 说明 |
|---|---|
ap |
默认值,遵循美联社写作风格手册。 |
chicago |
遵循芝加哥格式手册。 |
go |
每个单词的首字母都大写。 |
firstupper |
仅首个单词的首字母大写。 |
none |
不做任何转换,便于手动控制标题大小写。 |
本地化设置
menus、params 等设置可以针对每种语言分别定义,见语言配置。