配置总览

主题的全部配置集中在 themes/xfm/_config.yml,每个配置项都有中文注释。本页给出分组索引与优先级规则,具体细节见各分组子页。

优先级规则

配置来源有三层,后者覆盖前者:

Text
1
主题默认值(代码内)  <  themes/xfm/_config.yml  <  站点 _config.yml 的 theme_config

也就是说,你不需要修改主题目录里的文件。在站点 _config.yml 里用 theme_config 覆盖即可,这样主题升级时不会冲突:

YAML
1
2
3
4
5
6
# 站点 _config.yml
theme_config:
appearance:
primary: "#ff6b6b"
docs:
expanded: false
两种写法怎么选
  • 单人维护、不常升级:直接改 themes/xfm/_config.yml,改动集中、好找。
  • 跟随上游升级:用站点的 theme_config 覆盖,themes/xfm 保持干净,git pull 不产生冲突。

配置分组索引

分组 作用 详情
mode 站点形态:blog / notes / docs 三种模式
品牌资源 logo / tagline / avatar / favicon / default_cover / placeholder 外观与品牌
appearance 配色、主色、圆角、磨砂、动画、字体 外观与品牌
adaptive 设备档位、每档形态、组件开关 三档配置
navbar 导航栏显示、吸顶、高度、滚动隐藏 导航与菜单
menu 导航菜单,支持两级下拉 导航与菜单
index 首页布局、Hero、置顶、摘要、分页 首页与文章页
post 文章目录、meta、版权、打赏、相关文章 首页与文章页
sidebar blog 侧边挂件栏位置与挂件参数 侧边栏与页脚
notes 笔记模式分组、排序、宽度、目录 Notes 笔记模式
docs 文档模式数据源、展开、翻页、编辑链接 Docs 文档模式
footer 页脚版权、运行时长、统计、备案 侧边栏与页脚
code_block 行号、语言标签、复制、折叠、Mac 风格 代码块与第三方增强
search 索引生成、快捷键、结果条数 搜索
comments 8 种评论系统的独立参数 评论系统
vendors 数学公式、Mermaid、灯箱、统计、RSS、PWA 代码块与第三方增强
seo OG、JSON-LD、canonical、站长验证 SEO 与站点地图
share 分享渠道与二维码 首页与文章页
social 社交账号图标 侧边栏与页脚
links 友链数据 侧边栏与页脚
reading 进度条、返回顶部、过时提醒、平滑滚动 首页与文章页
taxonomy 标签云、分类云、归档样式 首页与文章页
error_404 404 页标题、文案、推荐数 SEO 与站点地图
sitemap sitemap.xml 与 robots.txt SEO 与站点地图
custom 自定义 HTML / CSS / JS 注入 自定义样式与注入

快速定位:我想改……

我想…… 改这里
换主题色 appearance.primary
换圆角风格 appearance.radius
默认深色 appearance.scheme: dark
导航栏不要自动隐藏 navbar.auto_hide: false
首页不要大卡 index.hero: false
首页改成列表 index.layout: list
文章不显示目录 post.toc: false
目录只要二三级 post.toc_depth: [2, 3]
关掉版权卡 post.copyright: false
开启打赏 post.reward: true
侧边栏放左边 sidebar.position: left
手机端不显示封面 adaptive.tiers.mobile.disable: [cover]
文档侧边栏默认收起 docs.expanded: false
代码块超过 20 行折叠 code_block.max_height: 20
关闭全文搜索 search.enable: false
开启评论 comments.enable: true + 填对应系统参数
页脚显示运行时长 footer.runtime: true + footer.runtime_start
加备案号 footer.icp / footer.police

校验配置是否生效

改动配置后必须重新生成,hexo s 的热更新对 _config.yml 不完全可靠:

Shell
1
hexo clean && hexo g && hexo s
YAML
  • 缩进只能用空格,不能用 Tab。
  • 字符串里的 # 会被当成注释,颜色值必须加引号:primary: "#4f6bed"。
  • 布尔值 true / false 不要加引号,写成 "false" 会被当成非空字符串(仍为真)。