記念すべき初投稿
一度解約していたVPSを改めて借りたので、ちゃんとアウトプットの場をつくろうと自分のサーバにブログを立てようと思った。 ちなみに前はさくらだったが今回はConoHaで借りてみた。一番安いプランね。
GitHub Pages や はてなブログやNoteなど、わざわざ自分で立てなくてもブログが書ける場所は山程ある。 それでもお金を払って自分でメンテしているおもちゃ(サーバ)があるんだから自分のブログを作りたいよね。という軽い動機。
自分のブログを改めて立てるんだから、今までと同じWordpressじゃあ芸がないと思ったので ナウイCMSサービスって何があるんじゃらほい?と思って適当にぐぐってみたら Jekyllというものをみつけたのでここに決めた。 あとで調べて知ったのものあるが、特徴はこんな感じ。
- OSSで日本語のドキュメントも古いながら公式で用意されている。困ったら最新の英語のドキュメント読めばいいね。
- Ruby製(Rubyはなんとなく好き)
- 息が長いOSSで、現在もメンテが続いている
- GitHub Pages の裏で動いている
- Markdownで書ける
- Gitで管理できる
- DBが不要
- 静的なページを吐くからNginxで直接読める
Jekyll をインストールする
Quick-start ガイド(日本語を見ると、 gem install jekyll
でいいとのこと。
Centos7のyumで降ってくるRubyが2.0.0と、ちょっと古いがまあいいか、と思ってインストールしようとすると
どうやらRuby 2.1.0以降が必要らしい。(どこかに書いておいてくれ…)
というわけでRuby公式サイトから最新のRuby 2.5.1のソースを落としてきてシステムにインストールすることにした。
gem を使うので --enable-rubygems
する。デフォルトだと disable なんだね。
ローカルビルドするのだからオプションいじって最適化できるんだろうが、それはそのうち。
$ wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz
$ tar zxvf ruby-2.5.1.tar.gz
$ cd ruby-2.5.1
$ ./configure --enable-rubygems
$ make
$ sudo make install
これでRuby 2.5.1がシステムに入った。
$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
$ whereis gem
gem: /usr/local/bin/gem
これで、改めてJekyllのインストールに移る
$ sudo gem install jekyll
$ jekyll new myblog
$ cd myblog
$ jekyll serve
でおk。 jekyll new
する前にbundlerをインストールしておくこと。
jekyll new
のサブコマンドでブログの雛形を作成するタイミングでbundlerを使っている。
コンテンツを書く
path/to/blog/_posts/YYYY-MM-DD-[title].[ext]
というフォーマットでファイルを作成すると認識してくれる。
この当たりはドキュメントを読んだほうが早い。
VPS で公開する
jekyll build
すると _site
に静的なコンテンツが吐き出されるので、これを Web サーバの DocumentRoot に指定してあげればよい。
このブログの場合は Nginx を使っていて、今の所こんな感じになっている。
server {
...
location / {
root /usr/share/nginx/blog/_site;
}
}
感想
WordPress のような Web UI からブログを書く形式だと Vim が使えない影響で執筆に筆が乗らない & Vim が使えない & 独特の記法を用いる必要がある(ことが多い)という難点があったが、Jekyllの場合はすべて解消されている。
今の所の欠点としてはプレビューができないというだけなので、
- ローカルに Jekyll を建てて手元でブログを書く
- GitHub に push
- フックして VPS に pull する、
jekyll build
する
という手順を整えられれば最高だと思う。
というわけでブログを書くモチベーションを保つための TODO はこんな感じ。
スタイルをいい感じにする- jekyll-uno にしてみた
ヘッダー、フッターをいい感じにする- スタイル変更したらいい感じになった
- フォント、シンタックスハイライトが少し微妙なので調整する
Rails をデプロイするときのUnicornみたいな誰かがいないのか調べる- 静的コンテンツを吐くのでいらない
- Google Analytics を入れる
- GitHub に push したら自動でデプロイされる仕組みを作る