这里的配置是 Hexo 全局的配置,位于 Hexo 根目录的 _config.yml
文件中。
站点配置
配置 | 描述 |
---|---|
title |
网站标题 |
subtitle |
网站副标题 |
description |
网站描述 |
keywords |
网站关键词,可以使用多个值(比如 yaml 的列表格式) |
author |
作者名字 |
language |
网站语言。使用 两位字母的 ISO-639-1 编码 或者 它的变体。默认为en ,中文为 zh-CN 。 |
timezone |
网站时区。Hexo 默认使用电脑上设置的时区。你可以在 这里 找到支持的时区列表。一些例子比如:America/New_York 、Japan 、UTC 、Asia/Shanghai |
URL
配置 | 描述 | 默认值 |
---|---|---|
url |
网站的 URL,必须以 http:// 或 https:// 开头 |
|
root |
站点根目录 | |
permalink |
文章的 永久链接 格式。我一般只用 title | :year/:month/:day/:title/ |
permalink_defaults |
永久链接中每个部分的默认值 | |
pretty_urls |
把 永久链接 变量重写为更美观的 URL |
|
pretty_urls.trailing_index |
以 index.html 结尾,若不想要它就将其设为 false |
true |
pretty_urls.trailing_html |
以 .html 结尾,若不想要它就将其设为 false (不适用于以index.html 结尾) |
true |
在子目录中的网站
如果你的网站在一个子目录中(比如
http://example.org/blog
),把url
设置为http://example.org/blog
,并把root
设置为/blog/
。
示例:
1 | # 比如网页的永久链接为 http://example.com/foo/bar/index.html |
目录
配置 | 描述 | 默认值 |
---|---|---|
source_dir |
源码文件夹。你的内容存放的位置 | source |
public_dir |
公共文件夹。你的静态网站生成的位置 | public |
tag_dir |
标签文件夹 | tags |
archive_dir |
归档文件夹 | archives |
category_dir |
分类文件夹 | categories |
code_dir |
内部代码文件夹(source_dir 的子文件夹) (subdirectory of source_dir ) |
downloads/code |
i18n_dir |
i18n 文件夹 | :lang |
skip_render |
要原汁原味复制到 public 的文件夹。你可以使用 glob 表达式 匹配路径。 |
示例:
1 | skip_render: "mypage/**/*" |
书写
配置 | 描述 | 默认值 |
---|---|---|
new_post_name |
新发布文件的文件名格式 | :title.md |
default_layout |
默认布局 | post |
titlecase |
是否将标题转换为标题首字母大写格式? | false |
external_link |
是否在新标签中打开外部链接? | |
external_link.enable |
是否在新标签中打开外部链接? | true |
external_link.field |
适用于整个站点 site 还是仅适用于 post 文件夹 |
site |
external_link.exclude |
排除站点名。如果适用的话指明子域名,包括 www |
[] |
filename_case |
将文件名转换为 1 小写;2 大写 |
0 |
render_drafts |
是否展示草稿? | false |
post_asset_folder |
是否启用 Asset 文件夹? | false |
relative_link |
使用相对于根目录的相对链接? | false |
future |
展示发表时间为未来的文件? | true |
highlight |
代码块语法高亮设置,参见 Highlight.js 获得使用指南 | |
prismjs |
代码块语法高亮设置,参见 PrismJS 获得使用指南 |
首页设置
配置 | 描述 | 默认值 |
---|---|---|
index_generator |
生成发布文章的归档,由 hexo-generator-index 驱动 | |
index_generator.path |
博客首页的根路径 | '' |
index_generator.per_page |
每页展示发表文章的数量 | 10 |
index_generator.order_by |
展示顺序。默认以发布日期 date 降序排列(由新到旧) | -date |
index_generator.pagination_dir |
URL 格式,参见下面的 分页 | page |
分类 & 标签
配置 | 描述 | 默认值 |
---|---|---|
default_category |
默认分类 | uncategorized |
category_map |
分类 slug | |
tag_map |
标签 slug |
日期 / 时间格式
Hexo 使用 Moment.js 处理日期。
配置 | 描述 | 默认值 |
---|---|---|
date_format |
日期格式 | YYYY-MM-DD |
time_format |
时间格式 | HH:mm:ss |
updated_option |
如果 front-matter 中没有指定的话,updated 使用的值 |
mtime |
updated_option
updated_option
控制updated
的值,如果 front-matter 没有指明的话:
mtime
:使用文件修改日期作为updated
。这在 Hexo 3.0.0 以后是默认设置date
:使用date
作为updated
。通常在 Git 工作流中使用,那种情况下文件修改日期可能会不同empty
:如果没有提供updated
的话直接不要了。可能和很多主题和插件不兼容
use_date_for_updated
已经被弃用,将在下一个主版本中被移除。请使用updated_option: 'date'
代替。
分页
配置 | 描述 | 默认值 |
---|---|---|
per_page |
每页展示发表文章的数量。0 禁用分页 |
10 |
pagination_dir |
URL 格式 | page |
示例:
1 | pagination_dir: 'page' |
扩展
配置 | 描述 |
---|---|
theme |
主题名称。false 禁用主题 |
theme_config |
主题配置。包括要覆盖主题默认值的任何定制主题设置 |
deploy |
部署设置 |
meta_generator |
Meta 生成器 标签。false 禁用注入此标签 |
包含 / 排除文件或文件夹
使用下面的选项明确指明要处理或忽略指定的文件 / 文件夹。支持 glob 表达式 匹配路径。
include
和 exclude
选项仅适用于 source/
文件夹,而 ignore
适用于所有文件夹。
配置 | 描述 |
---|---|
include |
包含隐藏的文件(包括名字以一个下划线开头的文件 / 文件夹,有一个例外*) |
exclude |
排除文件 / 文件夹 |
ignore |
忽略文件 / 文件夹 |
示例:
1 | # 包含/排除文件/文件夹 |
列表中的所有值都应包裹在单 / 双引号中。
include:
和 exclude:
不适用于 themes/
文件夹。要么使用 ignore:
或者在文件 / 文件夹的名称前加下划线前缀将其排除。
* 值得注意的例外是 source/_posts
文件夹,不过在该文件夹下名称以下划线开头的文件或文件夹仍然会被忽略。不建议在该文件夹中使用 include:
规则。
使用指定配置文件
可以在 hexo
命令中加入 --config
标识指明定制的配置文件路径,这个路径可以是一个 YAML 或 JSON 配置文件,或者是一个逗号分隔开的(无空格)多个 YAML 或 JSON 文件列表。
1 | # 使用 'custom.yml' 代替 '_config.yml' |
Using multiple files combines all the config files and saves the merged settings to _multiconfig.yml
. The later values take precedence. It works with any number of JSON and YAML files with arbitrarily deep objects. 注意 列表中不允许有空格。
For instance, in the above example if foo: bar
is in custom.yml
, but "foo": "dinosaur"
is in custom2.json
, _multiconfig.yml
will contain foo: dinosaur
.
指定主题配置
Hexo themes are independent projects, with separate _config.yml
files.
Instead of forking a theme, and maintaining a custom version with your settings, you can configure it from somewhere else:
from theme_config
in site’s primary configuration file
从 Hexo 2.8.2 版本起支持
1 | # _config.yml |
上述配置等价于:
1 | { |
from a dedicated _config.[theme].yml
file
从 Hexo 5.0.0 版本起支持
The file should be placed in your site folder, both yml
and json
are supported. theme
inside _config.yml
must be configured for Hexo to read _config.[theme].yml
1 | # _config.yml |
上述配置等价于:
1 | { |
We strongly recommend you to store your theme configuration in one place. But in case you have to store your theme configuration separately, you need to know the priority of those configurations: The
theme_config
inside site’s primary configuration file has the highest priority during merging, then the dedicated theme configuration file.
The_config.yml
file under the theme directory has the lowest priority.