Hexo はNode.jsをつかったブログフレームワークです。ここではGitHub Pages、もしくはそのサブディレクトリに公開することにします。具体的には、http://yukiyamashina.github.io が自分のGitHub Pagesのアドレスだとすると、http://yukiyamashina.github.io/blog にブログに公開するようにします。

NVM (Node Version Manager)、Hexoのインストール

ターミナルを開いて以下を実行してください。 インストールするNode.jsのバージョンは
source ~/.nvm/nvm.sh
のあとで
nvm ls-remote
で確認できます。記事投稿時での最新の安定版は0.10.32です。 続けて.bash_profile、もしくは.profileに以下を追記してください。 続いて
npm install -g hexo
でHexoをインストールします。

ブログの雛形をつくる

ターミナルからブログに必要なファイルを保存しておくディレクトリに移動した後、以下のコマンドを実行してください。 これでhttp://localhost:4000/に飛ぶとひな形が表示されます。

GitHubにデプロイする

GitHubに”blog”というリポジトリを作成し、gh-pagesブランチをつくっておいてください。 ローカルに作成したblogディレクトリの中の_config.ymlファイルを編集します。 あとは
hexo deploy --generate
で記事を生成してデプロイします。これでGitHub Pagesのサブディレクトリにブログが公開されます。 もしサブディレクトリではなくてGitHub Pagesそのものにブログを公開する場合は、_config.yml ファイルを というように編集してください。

記事を投稿する

ついでに記事の追加方法を。記事を追加するには
hexo new "new post"
で、source/_posts 以下にMarkDownファイル(この場合だとnew-post.md)が生成されます。このnew-post.mdファイルを編集してデプロイすると記事を投稿することができます。

テーマの設定

GitHubのテーマページにテーマ一覧があります。基本的にはgit cloneして_config.ymlのthemeの部分を書き換えるだけです。 気に入ったのは二つ。 このブログではyiliaをカスタマイズして使用しています。

プラグインの導入

GitHubのプラグインページに一覧があります。 とりあえず以下のプラグインをインストールしてみました。

GitHubにデプロイするときにエラーが出る場合の対処法

hexo deploy でGitHubにデプロイする段階で
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
というようなエラーが表示されることがあります。この場合はまずMacにインストールされているGitHubが最新のものかを疑ってください。GitHub for Macをインストールしている人はアプリを起動して「Check for Updates…」(アップデートの確認)をクリックしてください。アップデートがある場合には自動的にインストールされて次回起動時にアップデートされます。おそらくこれで解決できると思います。

meta name=keywordsの設定

デフォルトのテーマやcasper, yiliaなどではキーワードのmetaタグが設定されていないようです。なので各テーマのhead.ejsの適当な場所に以下のコードを書き加えてください。 投稿用のmdファイルに といったようにキーワードが書かれていると、それぞれのワードをmetaタグのkeywordsに指定します。もしkeywordsが設定されていない場合はtagsで指定したワードがmeta name=”keywords”ととして設定されます。

しかも数式も表示できる!(鉄仮面風)

さきほどリンクを張ったhexo-mathMathJax Renderer Plugin for HexoといったプラグインをインストールするとLaTeXコマンドで数式を表示させることができます。 こんなコマンド をmdファイルに書いておくといい感じに表示してくれます。