Site-level configuration is written in __everkm/everkm.yaml. During rendering, it is merged with the config from the theme's everkm-theme.yaml, with site configuration taking precedence over theme defaults.
Templates access it through the global variable __config; directory-level rules are defined in the folders field.
Minimal Example
config:
timezone: Asia/Shanghai
default_lang: zh_CN
site:
name: My Site
description: A brief site 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/
Common config Fields
| Field | Description |
|---|---|
config.timezone | Timezone, defaults to Asia/Chongqing |
config.default_lang | Default language, affects @i18n: and t() fallback, defaults to en_US |
config.site | Site name, description, logo, etc. Specific fields depend on the theme |
Strings under config can use @i18n:<key> to reference language packs. See Internationalization (i18n).
Theme-specific configuration (such as youlog's algolia_search, header_nav) is placed under config. See the theme-youlog README for field descriptions.
default_template
The default page template name for the entire site. Used when a directory does not specify a template in folders.
Can be overridden by template in sibling or child entries within folders.
folders Directory Rules
In everkm.yaml, declare rendering rules for directories by URL path prefix. Child directories merge and inherit from ancestors, with deeper entries overriding shallower ones.
Common fields:
| Field | Description |
|---|---|
template | The theme template name used for pages in this directory |
query | Key-value pairs merged into the template global variable __qs |
breadcrumbs | Breadcrumbs; title supports @i18n:<key> |
hide_in_url | When true, this directory segment is omitted from the URL |
url_id_suffix | Defaults to true; when false, the URL is {slug}.html instead of {slug}-{id}.html |
hash_scatter | Whether to scatter article hashes into subdirectories during export |
Complete fields, merge rules, and URL generation at Directory Configuration.
folders:
"/blog/":
template: list
url_id_suffix: false # /blog/my-post.html instead of /blog/my-post-123.html
Relationship with Theme Configuration
| File | Purpose |
|---|---|
__everkm/theme/<name>/everkm-theme.yaml | Theme metadata and theme-level default config |
__everkm/everkm.yaml | Site configuration, higher priority |
Theme metadata fields at Theme Development.