express-generatorをforkして、ECT使えるようにした
ECTっていうのは、テンプレートエンジンの一つです。
ECT - Fastest JavaScript template engine with CoffeeScript syntax
このECT、テンプレートの継承が便利で、かつjadeのような特殊文法さが少ないので学習コストが低いのが特徴です。文法はejsに似てますが、若干違います。 実行速度も速いらしく、しばらくexpressと連携して使ってみたいなと思いまして、簡単に使えるようにしてみました。
インストール
npm uninstall -g express-generator npm install -g esperia/generator
後者のコマンドを入力すると、僕がforkしたリポジトリ(esperia/generator)の方からダウンロード・インストールを行なってくれるようになってます。 一応ejsの方を参考にテストを書きまして、passしました。
使い方
express --ect
で、現在のカレントディレクトリにプロジェクトを作製できます。
$ express --ect create : . create : ./package.json create : ./app.js create : ./public create : ./public/javascripts create : ./public/images create : ./public/stylesheets create : ./public/stylesheets/style.css create : ./routes create : ./routes/index.js create : ./routes/users.js create : ./views create : ./views/index.ect create : ./views/layout.ect create : ./views/error.ect create : ./bin create : ./bin/www install dependencies: $ cd . && npm install run the app: $ DEBUG=gen:* npm start
デフォルトに戻す場合
npm uninstall -g express-generator npm install -g express-generator
参考
上記記事の内容を、コマンドでgenerateできるようにした感じです。(layout.ectとかは参考にしてないので多分記述違うだろうなあ…)
ECT出てからわりと経つのに、express-generatorモジュールに反映されてないの、多分理由があるんだと思ってる…。 PR投げてもいいけど、コミット整理するのめんどい(´・ω・`)
追記
言い忘れてた…。僕が改造したrepoですが、ちょっと気に食わなかったところ改造してます…。
publicディレクトリ内のディレクトリ名変更javascripts -> jsstylesheets -> cssimages -> img
テンプレート内の、HTMLの属性を囲むシングルクォートを、ダブルクォートに変更
細かいことなんですけどね…。
(2015-08-11追記: 上記独自仕様やめました。compassとかにも影響が出ることがわかったので…)