2011年12月22日木曜日

coffee&coffeekupでらくらくjs(javascript)&html

js(javescript)をcoffeeという言語?を使って書いていたのですが、
できればhtmlもcoffee形式で書きたいと思っていたところで、coffeekupというのがあるのを知りました。

そこで、今回は、vim + quickrun + (coffee & coffeekup)を使って、
jsとhtmlを楽に書く方法についてのまとめです。

はまったところは、



  1. 私の環境(ubuntu 11.10)だけなのか、coffeekupがまともに動かなかったこと
  2. coffeekupのfiletypeをcoffeeにしないといけないので、coffeeとcoffeekupを同時にquickrunで使えなかった(解決)

まずは、インストールから

npm install coffee-script -g
npm install coffeekup -g

私の環境では、node_modules/coffeekup/lib/cli.jsに書かれている
coffeeのライブラリへのpathが異なっていて、まともにcoffeekupが動きませんでした。

なので、以下の通り修正しました。

変更前:OptionParser = require('coffee-script/lib/optparse').OptionParser;
変更後:OptionParser = require('coffee-script/lib/coffee-script/optparse').OptionParser;

これで、coffeekupが正常に動くようになりました。

次にvimrcの設定

coffeekup(html)はcoffeeという拡張子でないと正常に動作しないようなんですが、
そうすると、coffee(js)とかぶってしまいます。
なので、coffeekupのファイルの拡張子をなんでもいいので、変えます。
ここでは、kupとう拡張子にしてます。

======================================================
" ファイル保存時の設定
" 保存時に.jsで結果を保存する
autocmd BufWritePost *.coffee silent CoffeeMake! -cb | cwindow | redraw!
" ここで、kupという拡張子をkupというfiletypeに設定する
autocmd BufNewFile,BufRead *.kup set filetype=kup
" 保存時にhtmlで結果を保存する
autocmd BufWritePost *.kup silent !coffeekup -f <afile>

" quickrunの設定
let g:quickrun_config = {} 
" coffeeというfiletypeはcoffeeコマンドを実行する
let g:quickrun_config['coffee'] = {'command' : 'coffee', 'exec' : ['%c -cbp %s']}
" kupというfiletypeをcoffeeというfiletypeに設定しなおして、coffeekupコマンドを実行
let g:quickrun_config['kup'] = {'type' : 'coffee', 'command' : 'coffeekup', 'exec' : ['%c -pf %s']}

======================================================

これで、coffeeとcoffeekupが同時にquickrunで使えるようになります。

便利です!!

coffee,coffeekupの書き方については、
それぞれ本家にサンプルがたくさんあるので、そちらで確認してみてください。

0 件のコメント:

コメントを投稿