github:pagesでもモダンな静的ページ運用をしたいよね

github:pagesが、githubにリポジトリをつくってpushするだけのお手軽仕様なのでもっと有効に使っていきたい!
でも、素のhtmlやcssを書くのもなー
デフォルトでJekyllというCMSが使えるようだけど、ブログにする*1わけでもないのに混み入った構成にしたくないし、github:pagesのためだけにその使い方を覚えるのも・・・

要点

  • haml+scss+coffeescript
  • ローカルではPowでsinatraで確認
やること
  • sinatraのプロジェクトを作成

github:pagesで使うにはプロジェクトルートにindex.htmlを置く必要があるけど、そこに色々ファイルを置いてごちゃごちゃしてしまうのは嫌ですね。ひとつディレクトリをつくって、Sinatra関連のファイルをまとめる。powのシンボリックリンクもそのディレクトリにはればいいし。

  • watchrをつかって、自動でhtml、cssなどを生成

watchrをバックグラウンドで動かしておいて、hamlやscssファイルへの変更がgithub:pages用ファイルに反映されるようにしておく。
scssとcoffeeそれぞれのコマンドで自前でwatchさせてやればwatchrいらなくなる。ただし、その場合プロセスを二つはしらせる必要がある。

ローカルでPowを使ったプレビュー時にはwatchrでファイルを生成する必要はないので、必要に応じてrakeをはしらせるのもありかも。

別案

マークダウンを使うという手もいいかもしれない。github:pagesならいい感じに表示してくれるし。ただ、Sinatraでマークダウンを扱うのをどうしたものか。

参考にしてもらえるかも

marutanm.github.com/src at master · marutanm/marutanm.github.com · GitHub
Sinatraに必要なconfig.ruとapp.rbや、ファイルを変換するためのRakefileないしwatchr.rbなど置いてます。

*1:Jekyllでブログするなら[http://octopress.org/:title] が良さそう