今回は Jekyll で構築したシステムを、Github に送る方法を考えてみる。

なんでも、GithubPagesは直接 Jekyll が稼働していて、コンパイル後の静的ページじゃなくてもちゃんとコンパイルして表示させてくれるみたい。

実際試してみたのだが、動的ファイルがあるトップディレクトリを送り込んでも、 「_site」以下のデータを送り込んでもほぼ同じように表示してくれる。
とすると何が違うのか?って話になるだろうけど、試してみたところ以下の点で少し動作が違う。

  1. 静的ページだと動的なプラグインが動かない( Jekyll/timeago 等)
  2. 動的ページだとindex.htmlへの自動要約抽出機能が動かない(post.excerpt)

という感じで、どちらもどちらで「うーん」ッて感じ。

でもよく考えてみると、1.のtimeagoはJekyllのプラグインじゃなくてもjQueryとかでやっちゃえばいいし、そもそもindex.html経由で見に来る人なんているの?なんて考えたらどっちも不要な感じがしてきた。

となると、あとは好みの問題になる。

色々なページを見てみると、やっぱりローカルのJekyllを通して作った静的ページのアップロードの方が無難なのかな?設定内容とか見られる心配もないし。

ふむ、そうするとJekyllシステム自体の管理はどうなる?Bitbucketでプライベートリポ作ってやるって手もあるようだけど、そこまで必要かな?パスワードとか書く必要があれば「.gitignore」で管理すればいいだろうし、てっとりばやくGithubでも良さそうだよね。
もし生データ取られるのが嫌だったらGitで送る前にZipでパスワードつけちゃえばいいだろうし。

ということで、

  • nobuhito.github.io は静的ページのアップ
  • Jekyllシステム自信は別リポジトリを作ってそちらにアップ

ということに決定。

実際にGitへ送り込む前には Jekyllサーバーを一旦停止し、Jekyllのルートディレクトリで

rm -fr _site/*
git clone https://github.com/nobuhito/nobuhito.github.io _site
cd _site
git rm *
cd ../
jekyll build
cd _site
git add .
git commit -m ''
git push

とやると、テスト的に作ったもの(僕の場合だと Middleman とか)をキレイにしてにして送り込める。

ということで、無事に完成おめでとう!! > オレ

pushed_github