構成

サイト設定は _config.yml または 代替構成ファイル で変更できます。

サイト

設定 説明
title Web サイトのタイトル
subtitle Web サイトのサブタイトル
description Web サイトの説明
keywords Web サイトのキーワード。複数の値をサポートします。
author あなたの名前
language Web サイトの言語。 2 文字の ISO-639-1 コード または バリアント を使用します。デフォルトは ja です。
timezone Web サイトのタイムゾーン。Hexo は既定でコンピューターの設定を使用します。利用可能なタイムゾーンの一覧は こちら で確認できます。例: Asia/Tokyo

URL

設定 説明 デフォルト
url Web サイトの URL で、http:// または https:// で始まっている必要があります
root Web サイトのルートディレクトリ URL のパス名
permalink 記事の パーマリンク 形式 :year/:month/:day/:title/
permalink_defaults パーマリンク内の各セグメントのデフォルト値
pretty_urls permalink 変数を美しい URL に書き換える
pretty_urls.trailing_index 末尾の index.htmlfalse に設定して削除します true
pretty_urls.trailing_html 末尾の .htmlfalse に設定して削除します(末尾の index.html に適用されません true
サブディレクトリ内の Web サイト

http://example.org/blog などの)サブディレクトリ内に Web サイトがある場合は、urlhttp://example.org/blog に、root/blog/ に設定します。

# e.g. page.permalink is http://example.com/foo/bar/index.html
pretty_urls:
trailing_index: false
# becomes http://example.com/foo/bar/

ディレクトリ

設定 説明 デフォルト
source_dir ソースフォルダー。コンテンツが格納されている場所 source
public_dir 公開フォルダー。静的サイトが生成される場所 public
tag_dir タグディレクトリ tags
archive_dir アーカイブディレクトリ archives
category_dir カテゴリディレクトリ categories
code_dir コードディレクトリ (source_dir のサブディレクトリ) を含める downloads/code
i18n_dir i18n ディレクトリ :lang
skip_render レンダリングせずに public にコピーされるパス。パスのマッチングには glob 式 を使用できます。

skip_render: "mypage/**/*"
# will output `source/mypage/index.html` and `source/mypage/code.js` without altering them.

## This also can be used to exclude posts,
skip_render: "_posts/test-post.md"
# will ignore the `source/_posts/test-post.md`.

執筆

設定 説明 デフォルト
new_post_name 新しい投稿のファイル名形式 :title.md
default_layout デフォルトのレイアウト 投稿
タイトルの最初の文字を大文字にする タイトルの文字をすべて大文字にしますか? false
外部のリンク 新しいタブで外部のリンクを開きますか?
external_link.enable 新しいタブで外部のリンクを開きますか? true
external_link.field `site`または`post`のみに適用する場合は site
external_link.exclude ホスト名を無視します。サブドメインが該当する場合には、`www`を含むサブドメインを指定します。 []
ファイル名のケース ファイル名を`1`は小文字、`2`は大文字に変換します。 0
ドラフトを表示する ドラフトを表示しますか? false
post_asset_folder アセットフォルダーを有効にしますか? false
relative_link ルートフォルダーに対する相対リンクにしますか? false
future 将来の投稿を表示しますか? true
syntax_highlighter コードブロックの構文ハイライト設定。使用方法のガイドについては構文ハイライトセクションを参照してください。 highlight.js
ハイライト コードブロックの構文ハイライト設定。使用方法のガイドについてはHighlight.jsセクションを参照してください。
prismjs コードブロックの構文ハイライト設定。使用方法のガイドについてはPrismJSセクションを参照してください。

ホームページの設定

設定 説明 デフォルト
index_generator 投稿のアーカイブを生成します。hexo-generator-indexを使用します。
index_generator.path ブログのインデックスページのルートパス ''
index_generator.per_page 1ページに表示される投稿数 10
index_generator.order_by 投稿の順序。デフォルトで日付の降順(新しい順から古い順)で並べられます。 -date
index_generator.pagination_dir URL形式。以下のページネーション設定を参照してください。 page

カテゴリーとタグ

設定 説明 デフォルト
default_category デフォルトのカテゴリー 未分類
category_map カテゴリーのスラッグをオーバーライドします。
tag_map タグのスラッグをオーバーライドします。

category_map:
"yesterday's thoughts": yesterdays-thoughts
"C++": c-plus-plus

日付/時刻の形式

HexoはMoment.jsを使用して日付を処理します。

設定 説明 デフォルト
date_format 日付形式 YYYY-MM-DD
time_format 時刻形式 HH:mm:ss
updated_option フロントマターで提供されていない場合に使用されるUPDATEDの値 mtime
updated_option

フロントマターで提供されていない場合、mtime UPDATEDの値を制御します。

  • mtime: ファイルの変更日をUPDATEDとして使用します。これはHexo 3.0.0以降のデフォルトの動作になっています。
  • date: date UPDATEDとして使用します。通常、ファイルの変更日が異なる場合にGitワークフローで使用されます。
  • empty: 提供されていない場合は単にUPDATEDを削除します。ほとんどのテーマやプラグインと互換性がない可能性があります。

use_date_for_updatedはバージョン7.0.0以降では削除されています。代わりにUPDATED_OPTION: 'date'を使用してください。

ページネーション

設定 説明 デフォルト
per_page 各ページに表示される投稿の数。0を指定すると、ページネーションが無効になります。 10
pagination_dir URL形式 page

pagination_dir: 'page'
# http://example.com/page/2

pagination_dir: 'awesome-page'
# http://example.com/awesome-page/2

エクステンション

設定 説明
theme テーマ名。falseを指定するとテーマが無効になります。
theme_config テーマ設定。このキーの下にカスタムテーマの設定を含めると、テーマのデフォルト設定がオーバーライドされます。
deploy デプロイメント設定
meta_generator Meta generatorタグ。falseはタグの挿入を無効にします。

ファイルまたはフォルダーを含める/除外する

次のオプションを使用して特定のファイル/フォルダーを明示的に処理または無視します。glob表現をサポートしてパスを照合します。

includeオプションとexcludeオプションはsource/フォルダーにのみ適用されますが、ignoreオプションはすべてのフォルダーに適用されます。

設定 説明
include 非表示のファイルを含める(アンダースコアで始まる名前のファイル/フォルダーを含め、例外*あり)
exclude ファイル/フォルダーを除外する
ignore ファイル/フォルダーを無視する

# Include/Exclude Files/Folders
include:
- ".nojekyll"
# Include 'source/css/_typing.css'.
- "css/_typing.css"
# Include any file in 'source/_css/'.
- "_css/*"
# Include any file and subfolder in 'source/_css/'.
- "_css/**/*"

exclude:
# Exclude 'source/js/test.js'.
- "js/test.js"
# Exclude any file in 'source/js/'.
- "js/*"
# Exclude any file and subfolder in 'source/js/'.
- "js/**/*"
# Exclude any file with filename that starts with 'test' in 'source/js/'.
- "js/test*"
# Exclude any file with filename that starts with 'test' in 'source/js/' and its subfolders.
- "js/**/test*"
# Do not use this to exclude posts in the 'source/_posts/'.
# Use skip_render for that. Or prepend an underscore to the filename.
# - "_posts/hello-world.md" # Does not work.

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"

リスト内の各値は一重引用符または二重引用符で囲む必要があります。

include:exclude:themes/フォルダーには適用されません。除外するにはignore:を使用するか、ファイル/フォルダー名の前にアンダースコアを付けます。

*主な例外はsource/_postsフォルダーですが、そのフォルダーの下にアンダースコアで始まる名前のファイルまたはフォルダーがあると無視されます。そのフォルダーでinclude:ルールを使用することは推奨されません。

代替構成を使用する

hexoコマンドに--configフラグを追加して、代替のYAMLまたはJSON構成ファイルへのパスか、複数のYAMLまたはJSONファイルのコンマ区切りのリスト(スペースなし)を指定して、カスタム構成ファイルのパスを指定できます。

# use 'custom.yml' in place of '_config.yml'
$ hexo server --config custom.yml

# use 'custom.yml' & 'custom2.json', prioritizing 'custom2.json'
$ hexo server --config custom.yml,custom2.json

複数のファイルを使用すると、すべての構成ファイルが結合され、マージされた設定が_multiconfig.ymlに保存されます。後方の値が優先されます。任意の数のJSONおよびYAMLファイルで、任意に深いオブジェクトとの組み合わせに使用できます。リストにはスペースを含めることができないことに注意してください。

たとえば、上記の例でcustom.ymlfoo: barが含まれていて、custom2.json"foo": "dinosaur"が含まれている場合、_multiconfig.ymlにはfoo: dinosaurが含まれます。

代替テーマ構成

Hexoテーマは独立したプロジェクトであり、個別の_config.ymlファイルがあります。

テーマをフォークして、自分の設定でカスタムバージョンを維持する代わりに、他の場所から構成できます

サイトのプライマリ構成ファイルの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'

テーマの構成結果

{
"bio": "My awesome bio",
"logo": "a-cool-image.png",
"foo": {
"bar": "a",
"baz": "b"
}
}

専用の_config.[theme].ymlファイルから

Hexo 5.0.0以降でサポートされています

ファイルはサイトフォルダー内に配置する必要があります。ymljsonの両方がサポートされています。_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"
}
}

テーマの構成は1か所に格納することを強くお勧めします。ただし、テーマの構成を別々に格納する必要がある場合は、それらの構成の優先度を知る必要があります。サイトのプライマリ構成ファイル内のtheme_configはマージ中に最も高い優先度を持ち、次に専用のテーマ構成ファイルが続きます。
テーマディレクトリ内の_config.ymlファイルの優先度は最も低くなります。