絶賛開発中 #2

とりあえず、rsync すらめんどくさくなったので githubに登録しておく。

yssk22/sunrise - GitHub

アプリは CouchDBレプリケーションでコピーできるけど、コンテナがまだその辺未対応なので。example はこれから作ります。(今あるヤツはさすがにgitにのっけるには的な...)

これを書きながら、貯まってきたノウハウは書籍にまとめつつあります。今、既存のJS資産を利用する的な話を書いているところで、

https://github.com/yssk22/sunrise/blob/master/lib/sunrise/vendor/php.js

とか見ると、24500行もある、JavaScriptによるPHP関数の実装なんですが、元々クライアント向けに作られていたものを、がっちゃんこして node.js で使えるようにしたものです。メモリに乗っかるので、ファイルサイズは心配してないです。

https://github.com/yssk22/sunrise/blob/master/lib/sunrise/vendor/sanitizer.js

は G様ご謹製のHTMLサニタイズライブラリ。Cajaプロジェクトのhtml_sanitizer.js というフJS部分を引っこ抜いてきました。HTML はある程度許容したい、的な用途にはぴったりのライブラリがあるもんです。ほかに、node-markdown という Markdown ライブラリも使ってますが、こちらは別の方が クライアント向けに作られていた Showdown.js というライブラリを node で使えるようにパッケージ化したもの。

node.js のブクマで「これでライブラリがあればなー」っていうのをよく見かけるんですが、あるんですよ、すぐそばに。ちょちょっとnode.jsで使えるようにするために必要な作業があるぐらいで。

で、この「node.js で使えるようにする」というのはそれほど大変な作業じゃないので、汎用的な方法を本で紹介しよう、という作業もあわせてやっています。。。。実はコード書く作業が楽しくなって、本の方がおろそかになっているのは余り大きな声では言えませんが...