jadeをbowerで扱えるようにclient-jadeを作った
$ bower install client-jade --save
自分が使ってるbrunchやgrunt-bower-concatが動くようにbrowserifyでビルドして正しくbower.json書いた、だけ。
あとはrequire.jsなり好きなツールで読みこむなりして jade.compile('h1 foo')()
とか叩けば展開される。
経緯
今作ってるアプリで、デバッグツールとしてクライアントでjadeでテンプレートを書いて任意のDOMに叩き込めるユーティリティを作っていた。まあよくある話だと思う。
クライアントでJadeテンプレートを展開しようとすると地獄が顕現した。
地獄っぽい… / “javascript - Using Jade Templates (http://t.co/PIieBIM2dR) client-side - Stack Overflow” http://t.co/TiWVcsYVId
— 高意識エネルギー (@mizchi) 2014, 3月 3
ここ一時間調べた結果「クライアントでjadeテンプレート記述して展開したいんですけど」jade「サーバーサイドでプレコンパイルすることで高速化してるよ!」「高速化とかいらなくてクライアントで完結したいんですけど」jade「サーバーサイドでプレコンパイルすることで高速化してるよ!」
— 高意識エネルギー (@mizchi) 2014, 3月 3
browserify ./lib/jade.js > built.js --standalone jade か
— 高意識エネルギー (@mizchi) 2014, 3月 3
@各位 bower register client-jade git://github.com/mizchi/client-jade.git しました
— 高意識エネルギー (@mizchi) 2014, 3月 4
visionmediaっていうかtjにコミット投げるのすごく辛いので(主に性格的や主張的な問題で), 本家PRださずにforkのまま自分でメンテする系です
— 高意識エネルギー (@mizchi) 2014, 3月 4