Github pages+Jekyllでホームページ作成
Jekyll (静的サイトのジェネレータ) と組みあわせることによって、ローカルで書いたMarkdownのコンテンツを、HTMLに変換したサイトを作成することができる。これと、Github pagesと組みあわせることによって、サイトのバージョン管理を容易におこなうことができる。
日本語の資料としては、「Jekyllいつやるの?ジキやルの?今でしょ!」が、ていねいに書いてあってわかりやすい。
1. 準備
まず、ローカルにJekyllの環境をととのえる。Rubyを用意してから、gemでJekyllをインストールする。しかし、Using Jekyll with Pagesと、Jekyllのページで若干内容が違う。gemは、github-pagesか、jekyllかどっちが正しいのだろう?
2. Jekyllサイトの作成
サイトのフォルダは、Jekyllでつくるか、テンプレートをダウンロード、展開して使う。
ここでは、Jekyll themesで紹介されている中から、Lagomを使用している。
wget https://github.com/swanson/lagom/archive/master.zip
unzip master.zip
mv lagom-master/ USERNAME.github.com
ここで、USERNAMEは自分のgithubアカウントの名前にすること。
3. サイトの設定
_config.yml にYAML形式で記述する。
- サイトのロゴ名は、logo.pngに固定されていることに注意。
- 独自ドメインの設定をしているときは、CNAMEを書く。
フォルダ構成
4. 記事の作成とビルド
記事は_postフォルダにMarkdown形式で書く。そして、
jekyll build
とするとブログがHTMLに変換される。
###5. githubとの接続 githubにはSERNAME.github.ioの名前のリポジトリを作成しておく。これは特殊な名前となり、github pageと認識される。
git init
git add .
git commit -m "First commit"
git remote add origin git@github.com:USERNAME/USERNAME.github.io.git
git push -u origin master
以下はその他のもろもろのメモ。
Jekyll Bootstrap
Jekyll Bootstrapは、Jeklyll 1.0に未対応のようであるが、Bootstrap対応にするのはそれほどむずかしくはないだろう。
Scrivenerとの連携(失敗)
Scrivernerと連携すると便利だと思ったのだがうまくいかなかった。Scrivenerはフォルダと連携するときにファイル名にバージョン管理のための連番をつけてしまう。これがJekyllでビルドするときにうまくいかなかった。
ブログからのインポート
記事をブログサイトから移行することが可能であるらしいが、実際にやっていないのでうまくいくかは不明である。
インポート用のgemをインストールする。
gem install jekyll-import --pre
Tumblrからのインポート
$ irb
> require "jekyll/jekyll-import/tumblr"
=> true
> url = "http://toshiukii.tumblr.com/"
"http://toshiukii.tumblr.com/"
> format = "md"
"md"
> grab_images = true
=> true
> add_highlights = true
=> true
> rewrite_urls = true
=> true
> JekyllImport::Tumblr.process(url, format, grab_images, add_highlights, rewrite_urls)