Skip to content

配置参考

本文档为 Hugo 网站项目提供所有配置选项的详细参考。

Hugo 配置

主配置文件(config/_default/config.toml

基本设置

参数 类型 默认值 说明
baseURL 字符串 "https://jimmysong.io" 网站基础 URL
title 字符串 "Jimmy Song" 浏览器标签显示的网站标题
summaryLength 整数 100 内容摘要的字数
metaDataFormat 字符串 "yaml" 前置元数据格式(yaml/toml/json)
hasCJKLanguage 布尔值 true 启用中日韩语言支持
DefaultContentLanguage 字符串 "zh" 网站默认语言
disableLanguages 数组 [] 禁用的语言列表
pygmentsUseClasses 布尔值 true 语法高亮使用 CSS 类
enableGitInfo 布尔值 true 启用页面的 Git 信息

搜索配置

参数 类型 默认值 说明
gcs_engine_id 字符串 "012737790962522169780:fd1izxsfgrs" Google 自定义搜索引擎 ID

内容处理

参数 类型 默认值 说明
ignoreFiles 数组 见下方 构建时忽略的文件模式

默认忽略模式:

ignoreFiles = [
  ".*/book/.*/image-caches/.*",
  ".*/book/.*/image-caches$",
  ".*/book/.*/[Ss][Uu][Mm][Mm][Aa][Rr][Yy]\\.md$",
  ".*/book/.*/[Rr][Ee][Aa][Dd][Mm][Ee]\\.md$"
]

站点参数(params 部分)

品牌相关

参数 类型 默认值 说明
brand_icon 字符串 "fas fa-terminal" 站点品牌 FontAwesome 图标
header_title 字符串 "Jimmy Song" 页眉显示的标题
description 字符串 "宋净超的博客" SEO 用站点描述
author 字符串 "Jimmy Song" 站点作者名称

联系方式

参数 类型 默认值 说明
email 字符串 "[email protected]" 联系邮箱
wechat 字符串 "jimmysongio" 微信号
contact_form_action 字符串 "https://formspree.io/mpzdzdbj" 表单提交地址

分析与追踪

参数 类型 默认值 说明
google_analytics_id 字符串 "UA-XXXXXXXXX-X" Google Analytics 跟踪 ID
enable_comment 布尔值 true 启用评论系统
enableAdSense 布尔值 false 启用 Google AdSense
AdSenseClientID 字符串 "ca-pub-XXXXXXXXXXXXXXXX" AdSense 客户端 ID

UI 功能

参数 类型 默认值 说明
anchored 布尔值 true 标题添加锚点链接
top_header 布尔值 false 显示顶部页眉栏
top_header_content 字符串 '站内搜索请按组合键 ⌘/CTRL + K' 顶部页眉提示信息

图片与媒体

参数 类型 默认值 说明
section_header_image 字符串 "images/backgrounds/circle.svg" 默认分区头部背景图
default_banner 字符串 "images/banner/default.webp" 默认横幅图片
images_repo_domain 字符串 "https://jimmysong.io/" 图片资源域名

构建配置

参数 类型 默认值 说明
sourceDir 字符串 "content" 内容源目录
baidu_map_api_key 字符串 "YOUR_BAIDU_MAP_API_KEY" 百度地图 API 密钥

构建设置

PostCSS

[build]
postCSS = ["postcss.config.js"]

分页

[pagination]
pagerSize = 10

图片处理

[imaging]
resampleFilter = "lanczos"
quality = 75

Markup 配置

Goldmark(Markdown 解析器)

[markup.goldmark.renderer]
unsafe = true

[markup.goldmark.parser]
wrapStandAloneImageWithinParagraph = false

[markup.goldmark.parser.attribute]
block = true
image = true

语法高亮

[markup.highlight]
codeFences = true
guessSyntax = false
hl_Lines = ""
lineNoStart = 1
lineNos = false
lineNumbersInTable = true
noClasses = true
style = "github"
tabWidth = 4

目录

[markup.tableOfContents]
endLevel = 4
ordered = false
startLevel = 2

分类法

[taxonomies]
category = "categories"
tag = "tags"

语言配置

中文(默认)

[languages.zh]
languageName = "中文"
weight = 1
languageCode = "zh"
contentDir = "content/zh"

[languages.zh.outputs]
home = ["HTML", "RSS", "JSON"]

[languages.zh.params]
home = "主页"
title = "Jimmy Song - 专注于探索后 Kubernetes 时代的云原生新范式"
copyright = "© 2017-2025 Jimmy Song 保留所有权利"
address = "中国,北京"

英文

[languages.en]
languageName = "English"
weight = 2
languageCode = "en-us"
contentDir = "content/en"

[languages.en.outputs]
home = ["HTML", "RSS", "JSON"]

[languages.en.params]
home = "Home"
header_title = "Jimmy Song"
copyright = "© 2017-2025 Jimmy Song All Right Reserved"
description = "Jimmy Song's Blog"
address = "Beijing, China"

通知系统

两种语言都支持通知系统:

[languages.zh.params.notification]
enabled = false
message = "年度重大更新,查看详情。"
title = "网站更新"
type = "info"
positionClass = "toast-bottom-right"
showDuration = 300
hideDuration = 1000
timeOut = 5000
extendedTimeOut = 1000
expiryDuration = 24
showOnMobile = true
enableClickRedirect = true
redirectUrl = "/notice/site-major-update-202506/"

插件配置(config/_default/params.toml

仓库设置

[repository]
url = "https://github.com/rootsongjc/website"
branch = "main"

搜索配置

[search]
enable = true
min_length = 1
threshold = 0.3
provider = "wowchemy"

CSS 插件

加载的 CSS 插件包括:

  • Bootstrap (plugins/bootstrap/bootstrap.min.css)
  • FontAwesome v6 (plugins/fontawesome/v6/css/)
  • TOC Bot (plugins/tocbot/tocbot.css)
  • Slick Carousel (plugins/slick/slick.css)
  • Bigger Picture (plugins/bigger-picture/bigger-picture.css)
  • NoUI Slider (plugins/nouislider/nouislider.min.css)

JavaScript 插件

加载的 JavaScript 插件包括:

  • Popper.js (plugins/popper/popper.min.js)
  • Bootstrap (plugins/bootstrap/bootstrap.min.js)
  • Slick Carousel (plugins/slick/slick.min.js)
  • Filterizr (plugins/filterizr/jquery.filterizr.min.js)
  • Fuse.js 搜索 (plugins/search/fuse.min.js)
  • Mark.js (plugins/search/mark.js)
  • Hex MD5 (plugins/hex_md5/hex_md5.js)
  • Anchor.js (plugins/anchor/anchor.min.js)
  • TOC Bot (plugins/tocbot/tocbot.min.js)
  • Bigger Picture (plugins/bigger-picture/bigger-picture.min.js)
  • NoUI Slider (plugins/nouislider/nouislider.min.js)

预加载器

[preloader]
enable = false
preloader = "images/preloader.gif"

广告

[ad]
enable = false
title = ""
subtitle = "[极客时间 VIP](https://time.geekbang.org/hybrid/next/svip/home?utm_source=wechat&utm_content=Jimmy-0905&utm_term=wechat-Jimmy-0905)"
description = "带你一站解锁 340+ 门专栏、视频课"
author = "专属口令「1299-300」:Jimmy9999"
image = "/images/ads/03-geekbang.png"

Google 地图

[map]
enable = false
gmap_api = "https://maps.googleapis.com/maps/api/js?key=YOUR_GOOGLE_MAPS_API_KEY"
map_latitude = "51.5223477"
map_longitude = "-0.1622023"
map_marker = "images/marker.png"

菜单配置

主导航(config/_default/menus.en.toml

菜单按语言配置。主导航包括:

  • 关于 (/about) - 个人信息
  • 博客 (/blog) - 博客文章
  • 探索(下拉菜单)
  • 分类 (/categories/)
  • 标签 (/tags/)
  • 高级搜索 (/search/)
  • 开源工具 (/oss/)
  • 旅行 (/travel/) - 旅行内容
  • 新闻 (/notice) - 新闻与公告
  • 联系 (/contact) - 联系方式

页脚链接

  • 高级搜索
  • 幻灯片分享
  • 博文标签
  • Awesome Cloud Native(外部链接)

书籍链接

  • Envoy 基础(外部课程)
  • Istio 基础(外部课程)

环境变量

可用的环境变量如下:

变量 说明 默认值
HUGO_ENV Hugo 环境(development/production) development
NODE_ENV Node.js 环境 development

自定义配置

前置元数据默认值

内容文件支持以下前置元数据变量:

通用变量

  • title - 页面标题
  • description - SEO 用页面描述
  • date - 发布时间
  • lastmod - 最后修改时间
  • draft - 草稿状态(true/false)
  • weight - 排序权重
  • categories - 内容分类
  • tags - 内容标签
  • author - 内容作者
  • image - 特色图片
  • banner - 横幅图片

博客专用变量

  • type - 内容类型(如 blog、book、notice 等)
  • subtitle - 博文副标题
  • summary - 自定义摘要
  • toc - 是否启用目录
  • comment - 是否启用评论

书籍专用变量

  • book - 书籍标识
  • chapter - 章节号
  • weight - 章节排序权重

自定义短代码配置

部分短代码可通过前置元数据配置:

Markmap 配置

markmap:
  initialExpandLevel: 2
  colorFreezeLevel: 3
  duration: 500

性能配置

图片优化

图片自动优化,设置如下:

  • 重采样滤镜:Lanczos
  • 质量:75%
  • 懒加载:启用
  • WebP 转换:自动

缓存

  • 静态资源:长时间缓存
  • 图片:处理并缓存
  • CSS/JS:压缩并缓存

安全配置

内容安全策略

站点实现 CSP 安全头:

  • 脚本来源:本站及可信 CDN
  • 样式来源:本站及内联样式
  • 图片来源:本站及可信域名
  • 框架来源:仅限可信域名

HTTPS 配置

  • 强制 HTTPS:启用
  • HSTS:启用,最大时长
  • 证书:Let's Encrypt 自动续期

如需具体配置示例和高级设置,请参见 开发者指南故障排查指南