Blog rolling with mongoDB, express and Node.jsの写経だが、このエントリはわかりやすいですね。

MongoDBって使いやすそうなので、SQLiteから乗り換えようかなと思ってちょっと調べたところMongoKitはSQLAlchemyっぽいような気がしたんだけどどうなんだろうかねぇ。結局javascriptだとクラス関係ないしJSON(BSON)だからMongoとの相性がいいんだろうか?あとでもう少し調べてみよう。
さて、上のエントリのブログのサンプルで使われていたHTMLとCSSのテンプレートエンジンが面白かったので調べてみた。
zen-codingみたいなノリでサクサク書いていけるっぽい。
Jade - robust, elegant, feature rich template engine for nodejs
Hamlっぽいとか書いてあったんだけどHaml知らんからなぁ(普段はFlask+Jinja2使ってます)。
EmacsのJade-modeはないみたい
CSSをシンプルに書ける独自のスタイル指定言語らしい。構造化してすっきりと記述できるみたい。
Expressive, robust, feature-rich CSS language built for nodejs
スクリーンキャストもありますね。
CSSなんてすぐにぐちゃぐちゃになって可読性が落ちるので、CSSなんてバイナリと一緒で人が読むもんじゃないんだぜみたいな立場にたてば、DRYを保てるようなこういった仕組みは良いんだろうなと思う、っていうか良い。
モジュールをインストールするとstylusっていうコマンドがついてきて、別にNode.jsじゃなくても使えるのでFlaskで使おうかなと思っている。
こんなstylがあるとして
body
font-family "Helvetica Neue", "Lucida Grande", "Arial"
font-size 13px
text-align center
text-stroke 1px rgba(255, 255, 255, 0.1)
color #555
h1, h2
margin 0
font-size 22px
color #343434
h1
text-shadow 1px 2px 2px #ddd
font-size 60px
コマンドラインからコンパイル
$ ../../node_modules/stylus/bin/stylus style.styl
compiled style.css
できた。
body {
font-family: "Helvetica Neue", "Lucida Grande", "Arial";
font-size: 13px;
text-align: center;
text-stroke: 1px rgba(255,255,255,0.1);
color: #555;
}
h1,
h2 {
margin: 0;
font-size: 22px;
color: #343434;
}
h1 {
text-shadow: 1px 2px 2px #ddd;
font-size: 60px;
}