站点配置

2026-06-19

站点级配置写在 __everkm/everkm.yaml。渲染时合并主题 everkm-theme.yaml 中的 config站点配置覆盖主题默认值

模板中通过全局变量 __config 读取;目录级规则写在 folders 字段。

最小示例

config:
  timezone: Asia/Shanghai
  default_lang: zh_CN
  site:
    name: 我的站点
    description: 站点简介
    logo: ~/assets/logos/logo.svg

default_template: post.html

folders:
  "/":
    hide_in_url: true
  "/blog/":
    template: list.html
    url_id_suffix: false
  "/docs/":
    template: book.html
    query:
      nav_file: /docs/_nav.md
    breadcrumbs:
      - title: "@i18n:nav.docs"
        url: /docs/

config 常用字段

字段说明
config.timezone时区,默认 Asia/Chongqing
config.default_lang默认语言,影响 @i18n:t() 回退,默认 en_US
config.site站点名称、描述、Logo 等,具体字段取决于主题

config 下的字符串可使用 @i18n:<key> 引用语言包,见 多语言

主题特有配置(如 youlog 的 algolia_searchheader_nav)写在 config 下。youlog 各字段说明见 theme-youlog

default_template

全站默认页面模板名称。某目录未在 folders 中指定 template 时使用。

可被 folders 中同级或子目录的 template 覆盖。

folders 目录规则

everkm.yaml 中按 URL 路径前缀为目录声明渲染规则。子目录与祖先合并继承,深层覆盖浅层。

常用字段:

字段说明
template该目录下页面使用的主题内模板名
query合并进模板全局变量 __qs 的键值对
breadcrumbs面包屑;title 支持 @i18n:<key>
hide_in_urltrue 时该目录段不出现在 URL 中
url_id_suffix默认 truefalse 时 URL 为 {slug}.html 而非 {slug}-{id}.html
hash_scatter是否将文章哈希分散到子目录导出

完整字段、合并规则与 URL 生成见 目录配置

folders:
  "/blog/":
    template: list
    url_id_suffix: false   # /blog/my-post.html,而非 /blog/my-post-123.html

与主题配置的关系

文件作用
__everkm/theme/<name>/everkm-theme.yaml主题元信息与主题级默认 config
__everkm/everkm.yaml站点配置,优先级更高

主题元信息字段见 主题开发