環境

  • Node.js v8.10.0
  • Git v2.17.1
  • Hexo v3.9.0

Hexo本体のインストール

ここhttps://hexo.io/docs/に従ってインストール

Linuxにインストールするとき、-gオプションでpermission errorが出るのでnpmjsのガイドに従って対処する

1
2
3
4
5
6
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo "export PATH=~/.npm-global/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
# 動作テスト
npm install -g jshint

以下のコマンドでインストール

1
npm install -g hexo-cli

利用するパッケージのインストール

1
2
3
hexo init myblog
cd blog
npm install

テーマのインストール

hexo-theme-indigoを使用するが、これは中国製なので、私と友人で日本語環境にカスタマイズしたhttps://github.com/SatoMasuda/hexo-theme-indigoこちらを使う。

Gitでブログ全体を管理したい場合、そのリポジトリのサブモジュールとしてテーマをインストールすると便利

1
git submodule add https://github.com/SatoMasuda/hexo-theme-indigo themes/indigo

Hexoの_config.yml

1
theme: indigo

このようにして完了

起動

1
hexo server -p 4000

あとはnginxやapacheを設定

デプロイするとき

ブログ編集を手元で行い、それをnginxなりapacheなりで静的配信するときのこと。

たいていVPSよりもローカルのPCのほうが性能がいいのでhexo generateが速くなる。また、VPSのリソースをhexoのサーバーで圧迫しないので気持ち的に楽。デプロイにはsftpやscpもいいけどこれらは遅いので、圧縮して送れるrsyncが良いと思う。

1
2
3
4
5
//package.json
"scripts": {
"deploy":"rsync -rzv ./public vps:~/public/blog",
"all":"hexo generate && npm run deploy"
}

こんな感じにpackage.jsonに書いておくと、

1
npm run all

でHTML生成とデプロイができる。

なお、destinationでラベルを使うには.ssh/configで設定しておく必要がある。

参考文献