คุณสามารถแก้ไขการตั้งค่าของเว็บไซต์ใน _config.yml
หรือในไฟล์ alternate config file
Site
Setting | Description |
---|---|
title |
The title of your website |
subtitle |
The subtitle of your website |
description |
The description of your website |
keywords |
The keywords of your website. Supports multiple values. |
author |
Your name |
language |
The language of your website. Use a 2-lettter ISO-639-1 code. Default is en . |
timezone |
The timezone of your website. Hexo uses the setting on your computer by default. You can find the list of available timezones here. Some examples are America/New_York , Japan , and UTC . |
URL
Setting | Description | Default |
---|---|---|
url |
The URL of your website, must starts with http:// or https:// |
|
root |
The root directory of your website | url's pathname |
permalink |
The permalink format of articles | :year/:month/:day/:title/ |
permalink_defaults |
Default values of each segment in permalink | |
pretty_urls |
Rewrite the permalink variables to pretty URLs |
|
pretty_urls.trailing_index |
Trailing index.html , set to false to remove it |
true |
pretty_urls.trailing_html |
Trailing .html , set to false to remove it (does not apply to trailing index.html ) |
true |
Website in subdirectoryถ้าเว็บไซต์ของคุณอยู่ใน subdirectory (เช่น
http://example.org/blog
) ตั้งค่าurl
เป็นhttp://example.org/blog
และตั้งค่าroot
เป็น/blog/
ตัวอย่าง:
# e.g. page.permalink is http://example.com/foo/bar/index.html |
Directory
Setting | Description | Default |
---|---|---|
source_dir |
Source folder. Where your content is stored | source |
public_dir |
Public folder. Where the static site will be generated | public |
tag_dir |
Tag directory | tags |
archive_dir |
Archive directory | archives |
category_dir |
Category directory | categories |
code_dir |
Include code directory (subdirectory of source_dir ) |
downloads/code |
i18n_dir |
i18n directory | :lang |
skip_render |
Paths that will be copied to public raw, without being rendered. You can use glob expressions for path matching. |
Hexo process will ignore files list under this field
skip_render: "mypage/**/*" |
Writing
Setting | Description | Default |
---|---|---|
new_post_name |
The filename format for new posts | :title.md |
default_layout |
Default layout | post |
titlecase |
Transform titles into title case? | false |
external_link |
Open external links in a new tab? | |
external_link.enable |
Open external links in a new tab? | true |
external_link.field |
Applies to the whole site or post only |
site |
external_link.exclude |
Exclude hostname. Specify subdomain when applicable, including www |
[] |
filename_case |
Transform filenames to 1 lower case; 2 upper case |
0 |
render_drafts |
Display drafts? | false |
post_asset_folder |
Enable the Asset Folder? | false |
relative_link |
Make links relative to the root folder? | false |
future |
Display future posts? | true |
syntax_highlighter |
Code block syntax highlight settings, see Syntax Highlight section for usage guide | highlight.js |
highlight |
Code block syntax highlight settings, see Highlight.js section for usage guide | |
prismjs |
Code block syntax highlight settings, see PrismJS section for usage guide |
Home page setting
Setting | Description | Default |
---|---|---|
index_generator |
Generate an archive of posts, powered by hexo-generator-index | |
index_generator.path |
Root path for your blog’s index page | '' |
index_generator.per_page |
Posts displayed per page. | 10 |
index_generator.order_by |
Posts order. Order by descending date (new to old) by default. | -date |
index_generator.pagination_dir |
URL format, see Pagination setting below | page |
Category & Tag
Setting | Description | Default |
---|---|---|
default_category |
Default category | uncategorized |
category_map |
Category slugs | |
tag_map |
Tag slugs |
Hexo by default ignores hidden files and folders, but setting this field will make Hexo process them
category_map: |
Date / Time format
hexo ใช้ Moment.js มาจัดการวันเดือนปี
Setting | Description | Default |
---|---|---|
date_format |
Date format | YYYY-MM-DD |
time_format |
Time format | HH:mm:ss |
updated_option |
The updated value to used when not provided in the front-matter |
mtime |
updated_option
updated_option
controls theupdated
value when not provided in the front-matter:
mtime
: Use file modification date asupdated
. It is the default behavior of Hexo since 3.0.0date
: Usedate
asupdated
. Typically used with Git workflow when file modification date could be different.empty
: Simply dropupdated
when not provided. May not be compatible with most themes and plugins.
use_date_for_updated
is deprecated and will be removed in next major version. Please useupdated_option: 'date'
instead.
Pagination
Setting | Description | Default |
---|---|---|
per_page |
The amount of posts displayed on a single page. 0 disables pagination |
10 |
pagination_dir |
URL format | page |
ในไฟล์การตั้างค่า ตั้งค่า include/exclude ได้เพื่อทำให้ hexo จัดการหรือละเลยไฟล์หรือ folder เฉพาะ
pagination_dir: 'page' |
Extensions
Setting | Description |
---|---|
theme |
Theme name. false disables theming |
theme_config |
Theme configuration. Include any custom theme settings under this key to override theme defaults. |
deploy |
Deployment settings |
meta_generator |
Meta generator tag. false disables injection of the tag. |
Include/Exclude Files or Folders
Use the following options to explicitly process or ignore certain files/folders. Support glob expressions for path matching.
include
and exclude
options only apply to the source/
folder, whereas ignore
option applies to all folders.
Setting | Description |
---|---|
include |
Include hidden files (including files/folders with a name that starts with an underscore, with an exception*) |
exclude |
Exclude files/folders |
ignore |
Ignore files/folders |
Pagination directory
# Include/Exclude Files/Folders |
Each value in the list must be enclosed with single/double quotes.
include:
and exclude:
do not apply to the themes/
folder. Either use ignore:
or alternatively, prepend an underscore to the file/folder name to exclude.
* Notable exception is the source/_posts
folder, but any file or folder with a name that starts with an underscore under that folder would still be ignored. Using include:
rule in that folder is not recommended.
Using an Alternate Config
path ของไฟล์การตั้งค่าจะถูกตั้งค่าได้โดยการเพิ่ม flag --config
หลังคำสั่ง path นั้นสามารถชี้ถึงไฟล์การตั้งค่าท่ีมีรูปแบบเป็น YAML หรือ JSON หรือมีหมวกไฟล์ท่ีตัดรายชื่อด้วยเครื่องหมายจุลภาค
# use 'custom.yml' in place of '_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. Note that no spaces are allowed in the list.
ยกตัวอย่างเช่น ในตัวอย่างท่ีกล่าวข้างต้น ถ้่า foo: bar
อยู่ในไฟล์ custom .yml
แต่ "foo": "dinosaur"
อยู่ในไฟล์ custom2.json
ไฟล์ _multiconfig.yml
นั้นจะมีการตั้งค่าเป็น foo: dinosaur
Alternate Theme Config
Hexo themes are independent projects, with separate _config.yml
files.
Instead of forking a theme, and maintaining a custom branch with your settings, you can configure it from somewhere else.
theme_config
in site’s primary configuration file
Supported since Hexo 2.8.2
# _config.yml |
# themes/my-theme/_config.yml |
Resulting in theme configuration:
{ |
dedicated _config.[theme].yml
file
Supported since 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
# _config.yml |
# _config.my-theme.yml |
# themes/my-theme/_config.yml |
Resulting in theme configuration:
{ |
We strongly recommends you to store your theme configuration in one place. But in case you have to store your theme configuration separately, those information is quite important: 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.