2012/7

  • Jul
  • 24
  • 2012

IT

Docpadでサイトを作ったの巻

先日githubで見つけたDocpadというNode.jsモジュールを使って自分のサイトを作ってみた。
URL:george-osd-site
リポジトリ:georgeOsdDev/george-osd-site.docpad
インストール
              npm install -g docpad
              
スケルトン出力
              docpad run
              
サーバー起動
              cd hoge
              docpad server
              
これで基本的にはサイトが立ち上がる。なんかrailsっぽい。
markdownのファイルを追加してやればdocpadがそれを解釈してexpress上で表示してくれる仕組み。
でもいろいろ調べて、コマンドとしてじゃなくてモジュールとしても使えるようなので、作者のhttp://balupton.com/のサイトとかリポジトリとか見よう見まねで自分でいろいろやってみた。
基本的にはexpressのアプリケーションみたいにserver.coffeeでHTTPサーバをたちあげてその中でdocpadのインスタンスを作って
              docpad.createInstance docpadConfig, (err,docpadInstance) ->
                docpadInstance.action "server generate watch", (error) ->
                  console.log error.stack if error
                  console.log 'OK,Docpad was Initialized'
              
とやると、サーバを作って、ファイルをgenerateして、ファイルの変化をwatchしてくれる。
これでブラウザからlocalhost:3000とか見ながら編集して作業が進めれた。
でも自分の環境のせいなのかdocpadのせいなのかよくわからないが、
              docpad = require 'docpad'
              
だとdocpadにcreateInstanceなんてfunctionねーよって怒られるので
              docpad = require "#{__dirname}/node_modules/docpad/out/lib/docpad"
              
としてやる必要があった。
そのほかfeedpluginとかうまく動かないのがいろいろあったけど、やってるうちにcoffeekupの書き方とか、stylusとは何ぞとか、勉強になった。
coffeekupとかstylusとか最近のイケてるテクニックの勉強になったし、たぶんグダグダだけど英語の勉強も兼ねて今後も保守っていこうと思う。
あとこれからimpress.jsとかdeck.jsとかHTML5スライドのスケルトンを出力するようなモジュールを作ってみようと画策中。