Hexo 設定ファイル

Hexoの設定ファイル

設定ファイルは『config.yml』、Hexoフォルダ直下とテーマフォルダ直下に存在する。前者はHexoやブログ機能の根底的な設定を行い出力はconfig.○○、後者はRSSのURLやファビコンのパス、あるいはアナリティクスのIDなど文字列を格納場所として利用でき、出力はtheme.○○となる。データ形式はYAMLでスペースを挟む文章を(ダブル)クォーテーションで囲む点さえ気をつければ、知識がなくても直感的に書き込める。しかし、どんなブログを作るにせよ絶対にconfigファイルをイジる必要は出てくる。
Hexoなら速攻でブログ開設が可能なんて書いてるサイトがあるけれど嘘つくんじゃねーよって話、その点FC2とかアメブロとかすげぇよな最後までチョコ以下略。

参考

参考配置
http://www.liuzhixiang.com/hexo_site_cn/docs/configuration.html
参考2Configuration
https://hexo.io/docs/configuration.html

英語と中国語。各々、片方で説明してあることが、もう片方で説明されてない、もうねアホかとバカかと。

コマンド

エディターでconfigファイルを書き換えても良いが、コマンドから変更もできる。ただしコマンドを入力した瞬間に圧縮され、コメントアウト(説明文)が見事に消えるので注意。

設定変更
hexo config title 'Hexoブログ'

反映の下見

hexo serverコマンドでサーバーを開いた状態であればファイルの更新を自動で行ってくれるが、hexoフォルダ直下にあるconfigファイルの反映を確認したい場合、一度サーバーを閉じて再び開く必要がある。

config.yml(構築ファイル直下)

Site

title

タイトル

subtitle

サブタイトル

description

ブログの説明

language

サイト言語、IETF書式を使う。
テーマによってはしっかりと記述が変わり、Hexoの場合は中国語のテーマが多いので「en」に設定しておくのが無難。

timezone

タイムゾーン、デフォルトではPCの設定を反映するので空白でもOK。
書式はタイムゾーンのリストを参照、日本の場合Asia/Tokyo

URL

url

サイトのURL。

root

ディレクトリパス。

変数 説明
:year
:month
:i_month 月(0を省略)
:day  
:i_day 日(0を省略)
:title 記事タイトル
:category カテゴリー
:id 記事ID

下層ディレクトリの記述、例えばウチは:category/:id/としている。idを使う場合、記事ごとに指定をする必要があるが任意のURLを名付けられる。個人的な話だがWPで日本語URLの地雷を知ってから、どうにもURLに日本語を使いたくないので一々と設定することにしている。

ところで、ちゃんと閉じないとリンクがバカになるので注意。

ちゃんと閉じる
(*´∀`) OK
permalink: :category/:id/  

( ゚Д゚) ヴォケ!!
permalink: :category/:id

指定が見当たらなかった場合のパーマリンク。

permalink_defaults:
  category: uncategorized
  id: none

Directory

source_dir

ブログ変換前のファイル格納場所
編集を行う記事ファイルや画像など管理。
デフォルトは[source]

public_dir

静的サイトの格納場所。
実際に閲覧されるブログファイル。
デフォルトは[public]

tag_dir

タグアーカイブ用フォルダ。
デフォルトは[tags]

archive_dir

日付アーカイブ用のフォルダ。
デフォルトは[archives]

category_dir

カテゴリーアーカイブ用のフォルダ。
デフォルトは[categories]

code_dir

コード用フォルダ。

i18n_dir:

言語ファイルのディレクトリ

skip_render

generateする際にファイルの変換を避ける。
下記の場合『haha』フォルダに入ったmdファイルはコード変換されず、htmlファイルではなくmdファイルのまま静的ファイルに移される。

変換されない
skip_render: haha/*.md

Writing

new_post_name

生成される記事ファイル名。

default_layout

newコマンドで[layout]を省略した場合、生成される記事タイプ。

layout 説明
post 記事
page 固定ページ
draft 下書き

titlecase

trueでタイトルの先頭を大文字にする。
関係ないけれど私、jsの命名はキャメルケース派です。

Hexoタグプラグインの外部リンクを新しいタブで開くか否か。

filename_case

記事ファイル名。
望むならアッパーケース、ローワーケースが指定できる。

番号 意味
0 指定なし
1 小文字(lower)
2 大文字(apper)

render_drafts

deploy時、下書きの記事を表示するか否か。

post_asset_folder

asset機能。trueで記事を生成時にアセットフォルダ作成。
Hexo専用タグ「Include Assets」を使用できるようになる。
ちなみに私はfalseに設定、ちょっとココで言及

trueで相対リンクを利用。

future

未来の日付である記事を表示するか否か。

highlight

Hexoタグプラグインによるソース表示の設定。
enable: trueで利用。
line_number: falseで行番号表示。
tab_replace: trueでタブに変換。

Category & Tag

default_category

カテゴリー指定されていない記事の所属先。

category_map

カテゴリースラッグ。
カテゴリ名とパーマリンク上で記述を分けられる。上記にも書いたがURLに日本語を使いたくない私は一々と設定している。

category_map:
  cat: slug
  Hexo: hexo
  日記: diary

tag_map

タグスラッグ、上に同じ。

Date / Time format

時刻表記。
Hexoはmoment.jsを利用しているので、書式もそのように。

date_format

日付。

time_format

時間。

Pagination

per_page

アーカイブなどで1ページあたりに表示する記事数。
「0」設定時、ページネーション無効。

pagination_dir

ページディレクトリ。

Extensions

theme

テーマを指定。

exclude_generator

ジェネレーター時の除外ファイルを指定。

Deployment

deploy

githubは下記のように設定(hexo 3.0)

deploy:
  type: git
  repo: git@github.com:ユーザー名/github.io.git
  branch: master

theme直下のconfig.yml

こちらについては、カスタマイズを参照して下さい。