_config.yml
中修改大部分的配置。
參數(shù) | 描述 |
---|---|
title
|
網(wǎng)站標(biāo)題 |
subtitle
|
網(wǎng)站副標(biāo)題 |
description
|
網(wǎng)站描述 |
keywords
|
網(wǎng)站的關(guān)鍵詞。支援多個(gè)關(guān)鍵詞。 |
author
|
您的名字 |
language
|
網(wǎng)站使用的語(yǔ)言。對(duì)于簡(jiǎn)體中文用戶來(lái)說,使用不同的主題可能需要設(shè)置成不同的值,請(qǐng)參考你的主題的文檔自行設(shè)置,常見的有 zh-Hans 和 zh-CN 。 |
timezone
|
網(wǎng)站時(shí)區(qū)。Hexo 默認(rèn)使用您電腦的時(shí)區(qū)。請(qǐng)參考 時(shí)區(qū)列表 進(jìn)行設(shè)置,如 America/New_York , Japan , 和 UTC 。一般的,對(duì)于中國(guó)大陸地區(qū)可以使用 Asia/Shanghai 。 |
其中,description
主要用于 SEO,告訴搜索引擎一個(gè)關(guān)于您站點(diǎn)的簡(jiǎn)單描述,通常建議在其中包含您網(wǎng)站的關(guān)鍵詞。author
參數(shù)用于主題顯示文章的作者。
參數(shù) | 描述 | 默認(rèn)值 |
---|---|---|
url
|
網(wǎng)址, must starts with http:// or https://
|
|
root
|
網(wǎng)站根目錄 | |
permalink
|
文章的 永久鏈接 格式 | :year/:month/:day/:title/
|
permalink_defaults
|
永久鏈接中各部分的默認(rèn)值 | |
pretty_urls
|
改寫 permalink 的值來(lái)美化 URL |
|
pretty_urls.trailing_index
|
是否在永久鏈接中保留尾部的 index.html ,設(shè)置為 false 時(shí)去除 |
true
|
pretty_urls.trailing_html
|
是否在永久鏈接中保留尾部的 .html , 設(shè)置為 false 時(shí)去除 (對(duì)尾部的 index.html 無(wú)效) |
true
|
網(wǎng)站存放在子目錄如果您的網(wǎng)站存放在子目錄中,例如
http://example.com/blog
,則請(qǐng)將您的url
設(shè)為http://example.com/blog
并把root
設(shè)為/blog/
。
例如:
# 比如,一個(gè)頁(yè)面的永久鏈接是 http://example.com/foo/bar/index.html
pretty_urls:
trailing_index: false
# 此時(shí)頁(yè)面的永久鏈接會(huì)變?yōu)?http://example.com/foo/bar/
參數(shù) | 描述 | 默認(rèn)值 |
---|---|---|
source_dir
|
資源文件夾,這個(gè)文件夾用來(lái)存放內(nèi)容。 | source
|
public_dir
|
公共文件夾,這個(gè)文件夾用于存放生成的站點(diǎn)文件。 | public
|
tag_dir
|
標(biāo)簽文件夾 | tags
|
archive_dir
|
歸檔文件夾 | archives
|
category_dir
|
分類文件夾 | categories
|
code_dir
|
Include code 文件夾,source_dir 下的子目錄 |
downloads/code
|
i18n_dir
|
國(guó)際化(i18n)文件夾 | :lang
|
skip_render
|
跳過指定文件的渲染。匹配到的文件將會(huì)被不做改動(dòng)地復(fù)制到 public 目錄中。您可使用 glob 表達(dá)式來(lái)匹配路徑。 |
例如:
skip_render: "mypage/**/*"
# 將會(huì)直接將 `source/mypage/index.html` 和 `source/mypage/code.js` 不做改動(dòng)地輸出到 'public' 目錄
# 你也可以用這種方法來(lái)跳過對(duì)指定文章文件的渲染
skip_render: "_posts/test-post.md"
# 這將會(huì)忽略對(duì) 'test-post.md' 的渲染
提示如果您剛剛開始接觸 Hexo,通常沒有必要修改這一部分的值。
參數(shù) | 描述 | 默認(rèn)值 |
---|---|---|
new_post_name
|
新文章的文件名稱 | :title.md |
default_layout
|
預(yù)設(shè)布局 | post |
auto_spacing
|
在中文和英文之間加入空格 | false |
titlecase
|
把標(biāo)題轉(zhuǎn)換為 title case | false |
external_link
|
在新標(biāo)簽中打開鏈接 | true |
external_link.enable
|
在新標(biāo)簽中打開鏈接 | true
|
external_link.field
|
對(duì)整個(gè)網(wǎng)站(site )生效或僅對(duì)文章(post )生效 |
site
|
external_link.exclude
|
需要排除的域名。主域名和子域名如 www 需分別配置 |
[]
|
filename_case
|
把文件名稱轉(zhuǎn)換為 (1) 小寫或 (2) 大寫 | 0 |
render_drafts
|
顯示草稿 | false |
post_asset_folder
|
啟動(dòng) Asset 文件夾 | false |
relative_link
|
把鏈接改為與根目錄的相對(duì)位址 | false |
future
|
顯示未來(lái)的文章 | true |
highlight
|
代碼塊的設(shè)置, see Highlight.js section for usage guide | |
prismjs
|
代碼塊的設(shè)置, see PrismJS section for usage guide |
相對(duì)地址默認(rèn)情況下,Hexo 生成的超鏈接都是絕對(duì)地址。例如,如果您的網(wǎng)站域名為
example.com
,您有一篇文章名為hello
,那么絕對(duì)鏈接可能像這樣:http://example.com/hello.html
,它是絕對(duì)于域名的。相對(duì)鏈接像這樣:/hello.html
,也就是說,無(wú)論用什么域名訪問該站點(diǎn),都沒有關(guān)系,這在進(jìn)行反向代理時(shí)可能用到。通常情況下,建議使用絕對(duì)地址。
參數(shù) | 描述 | 默認(rèn)值 |
---|---|---|
default_category
|
默認(rèn)分類 | uncategorized
|
category_map
|
分類別名 | |
tag_map
|
標(biāo)簽別名 |
Hexo 使用 Moment.js 來(lái)解析和顯示時(shí)間。
參數(shù) | 描述 | 默認(rèn)值 |
---|---|---|
date_format
|
日期格式 | YYYY-MM-DD
|
time_format
|
時(shí)間格式 | HH:mm:ss
|
updated_option
|
當(dāng) Front Matter 中沒有指定 updated 時(shí) updated 的取值 |
mtime
|
updated_option
updated_option
控制了當(dāng) Front Matter 中沒有指定updated
時(shí),updated
如何取值:
mtime
: 使用文件的最后修改時(shí)間。這是從 Hexo 3.0.0 開始的默認(rèn)行為。date
: 使用date
作為updated
的值??杀挥糜?Git 工作流之中,因?yàn)槭褂?Git 管理站點(diǎn)時(shí),文件的最后修改日期常常會(huì)發(fā)生改變empty
: 直接刪除updated
。使用這一選項(xiàng)可能會(huì)導(dǎo)致大部分主題和插件無(wú)法正常工作。
use_date_for_updated
選項(xiàng)已經(jīng)被廢棄,將會(huì)在下個(gè)重大版本發(fā)布時(shí)去除。請(qǐng)改為使用updated_option: 'date'
。
use_date_for_updated
| 啟用以后,如果 Front Matter 中沒有指定 updated
, post.updated
將會(huì)使用 date
的值而不是文件的創(chuàng)建時(shí)間。在 Git 工作流中這個(gè)選項(xiàng)會(huì)很有用 | true
參數(shù) | 描述 | 默認(rèn)值 |
---|---|---|
per_page
|
每頁(yè)顯示的文章量 (0 = 關(guān)閉分頁(yè)功能) | 10
|
pagination_dir
|
分頁(yè)目錄 | page
|
參數(shù) | 描述 |
---|---|
theme
|
當(dāng)前主題名稱。值為false 時(shí)禁用主題 |
theme_config
|
主題的配置文件。在這里放置的配置會(huì)覆蓋主題目錄下的 _config.yml 中的配置 |
deploy
|
部署部分的設(shè)置 |
meta_generator
|
Meta generator 標(biāo)簽。 值為 false 時(shí) Hexo 不會(huì)在頭部插入該標(biāo)簽 |
在 Hexo 配置文件中,通過設(shè)置 include/exclude 可以讓 Hexo 進(jìn)行處理或忽略某些目錄和文件夾。你可以使用 glob 表達(dá)式 對(duì)目錄和文件進(jìn)行匹配。
include
and exclude
options only apply to the source/
folder, whereas ignore
option applies to all folders.
參數(shù) | 描述 |
---|---|
include
|
Hexo 默認(rèn)會(huì)忽略隱藏文件和文件夾(包括名稱以下劃線和 . 開頭的文件和文件夾,Hexo 的 _posts 和 _data 等目錄除外)。通過設(shè)置此字段將使 Hexo 處理他們并將它們復(fù)制到 source 目錄下。 |
exclude
|
Hexo 會(huì)忽略這些文件和目錄 |
ignore
|
Ignore files/folders |
舉例:
# Include/Exclude Files/Folders
include:
- ".nojekyll"
# 包括 'source/css/_typing.css'
- "css/_typing.css"
# 包括 'source/_css/' 中的任何文件,但不包括子目錄及其其中的文件。
- "_css/*"
# 包含 'source/_css/' 中的任何文件和子目錄下的任何文件
- "_css/**/*"
exclude:
# 不包括 'source/js/test.js'
- "js/test.js"
# 不包括 'source/js/' 中的文件、但包括子目錄下的所有目錄和文件
- "js/*"
# 不包括 'source/js/' 中的文件和子目錄下的任何文件
- "js/**/*"
# 不包括 'source/js/' 目錄下的所有文件名以 'test' 開頭的文件,但包括其它文件和子目錄下的單文件
- "js/test*"
# 不包括 'source/js/' 及其子目錄中任何以 'test' 開頭的文件
- "js/**/test*"
# 不要用 exclude 來(lái)忽略 'source/_posts/' 中的文件。你應(yīng)該使用 'skip_render',或者在要忽略的文件的文件名之前加一個(gè)下劃線 '_'
# 在這里配置一個(gè) - "_posts/hello-world.md" 是沒有用的。
ignore:
# Ignore any folder named 'foo'.
- "**/foo"
# Ignore 'foo' folder in 'themes/' only.
- "**/themes/*/foo"
# Same as above, but applies to every subfolders of 'themes/'.
- "**/themes/**/foo"
列表中的每一項(xiàng)都必須用單引號(hào)或雙引號(hào)包裹起來(lái)。
include
和 exclude
并不適用于 themes/
目錄下的文件。如果需要忽略 themes/
目錄下的部分文件或文件夾,可以使用 ignore
或在文件名之前添加下劃線 _
。
可以在 hexo-cli 中使用 --config
參數(shù)來(lái)指定自定義配置文件的路徑。你可以使用一個(gè) YAML 或 JSON 文件的路徑,也可以使用逗號(hào)分隔(無(wú)空格)的多個(gè) YAML 或 JSON 文件的路徑。例如:
# use 'custom.yml' in place of '_config.yml'
$ hexo server --config custom.yml
# use 'custom.yml' & 'custom2.json', prioritizing 'custom3.yml', then 'custom2.json'
$ hexo generate --config custom.yml,custom2.json,custom3.yml
當(dāng)你指定了多個(gè)配置文件以后,Hexo 會(huì)按順序?qū)⑦@部分配置文件合并成一個(gè) _multiconfig.yml
。如果遇到重復(fù)的配置,排在后面的文件的配置會(huì)覆蓋排在前面的文件的配置。這個(gè)原則適用于任意數(shù)量、任意深度的 YAML 和 JSON 文件。
例如,使用 --options
指定了兩個(gè)自定義配置文件:
$ hexo generate --config custom.yml,custom2.json
如果 custom.yml
中指定了 foo: bar
,在 custom2.json 中指定了 "foo": "dinosaur"
,那么在 _multiconfig.yml
中你會(huì)得到 foo: dinosaur
。
通常情況下,Hexo 主題是一個(gè)獨(dú)立的項(xiàng)目,并擁有一個(gè)獨(dú)立的 _config.yml
配置文件。
除了自行維護(hù)獨(dú)立的主題配置文件,你也可以在其它地方對(duì)主題進(jìn)行配置。
配置文件中的 theme_config
該特性自 Hexo 2.8.2 起提供
# _config.yml
theme: "my-theme"
theme_config:
bio: "My awesome bio"
foo:
bar: 'a'
# themes/my-theme/_config.yml
bio: "Some generic bio"
logo: "a-cool-image.png"
foo:
baz: 'b'
最終主題配置的輸出是:
獨(dú)立的 _config.[theme].yml
文件
該特性自 Hexo 5.0.0 起提供
獨(dú)立的主題配置文件應(yīng)放置于站點(diǎn)根目錄下,支持 yml
或 json
格式。需要配置站點(diǎn) _config.yml
文件中的 theme
以供 Hexo 尋找 _config.[theme].yml
文件。
# _config.yml
theme: "my-theme"
# _config.my-theme.yml
bio: "My awesome bio"
foo:
bar: 'a'
# themes/my-theme/_config.yml
bio: "Some generic bio"
logo: "a-cool-image.png"
foo:
baz: 'b'
最終主題配置的輸出是:
{
bio: "My awesome bio",
logo: "a-cool-image.png",
foo: {
bar: "a",
baz: "b"
}
}
我們強(qiáng)烈建議你將所有的主題配置集中在一處。如果你不得不在多處配置你的主題,那么這些信息對(duì)你將會(huì)非常有用:Hexo 在合并主題配置時(shí),Hexo 配置文件中的
theme_config
的優(yōu)先級(jí)最高,其次是_config.[theme].yml
文件,最后是位于主題目錄下的_config.yml
文件。
更多建議: