1つはファイルを除外するオプション、もう一つはファイル名とURLのパスが同一でない場合に書き換えるオプションです。説明よりコードを読んだほうが分かりやすいと思ます。res.render(req.params.name);});このように、ignoreとreplaceがオプション指定できるようになりました。これで、バックアップファイルは除外されるし、jadeファイルが増えてもリストアップする必要がありません。実は自分でちゃんと使ったことがありませんでした。今回、一通り動くところまで使ってみたので、参考までに紹介します。Jadeを使う前提です。多くの場合、ディレクトリの構造は次のようになるのではないでしょうか。yyy.jadeこのような場合での、connect-cache-manifestの設定は次のようになります。res.render(req.params.name);});これで、/application.manifestが生成されるようになります。使ってみて不満が二つありました。一つは、emacsやvimで*~のバックアップファイルができた場合にそれもマニフェストに入ってしまうこと、もう一つは、jadeファイルが複数ある場合にリストアップしなければならないことです。そのうち気が向いたら改良しようかな。これで、HTML5のマニフェストを使いつつ、ほとんど気にせずに普通にコーディングができます。そうそう、ついでにもう一つ。ファイルを新規に追加したときは、nodeを再起動しないといけません。これは、node-supervisorやnodemonを使えば解決できるかもしれません。Canvasのみを使ってどこまでスマホアプリが作れるのか挑戦中です。Googleリーダがなくなるから、それの代替として作ろうと始めましたが、Googleリーダの期限までには完成しそうにありません。今日は、RSSの記事のリンクを開く機能を作りました。CanvasではHTMLは表示できません。iframeを使うことで表示しました。iframeの表示はjQueryを使いました。JavaScriptを使っていると、DOM操作はちょっと古びたものに感じます。RSSのリンクを開くためのボタンも作ってみました。右上の方に矢印のアイコンを置いて、それを押すとiframeが開きます。DataをKineticのpathで読み込みました。コードはこんな感じです。0.43});全コードはこちらです。https://github.com/dai-shi/canvas-rss-reader/実行サンプルはこちらです。http://canvas-rss-reader.herokuapp.com/未読既読の機能までできたら、とりあえずは使えるようになるかと思うのですが、どうでしょう。Canvasのみを使ってどこまでスマホアプリが作れるのか挑戦中です。今回は、フリックで横スライドに挑戦しました。時間が空いてしまったのは、どうやって実装するかイメージがわかなかったからです。試行錯誤した結果、比較的満足いくものになりました。普通のスマホアプリと同じくらいの操作性を目指しつつ、KineticJSの機能をフル活用して少ないコーディングで実現することです。横スライドも、縦スクロールと同様にドラッグ&ドロップの機能を活用しました。正確にはフリックを判定しているわけではなく、ドロップ後の位置でスライドするかどうか判定しています。使ってみると、直感と異なることもあるのですが、それは今後の課題ということで。今回、Canvasでアプリを作る時に意識をしているのは、軽快さです。普通に作ったアプリより軽く感じるWebアプリを作れるのかがポイントです。自分のスマホではかなり軽快にスライド動作ができるようになっています。他のスマホではどうなのか気になります。お持ちのスマホで試してみてください。下記の実行サンプルをスマホのブラウザで開くだけです。http://canvas-rss-reader.herokuapp.com/全コードはこちらです。https://github.com/dai-shi/canvas-rss-reader/この時点のコードを参照するには、本日のコミットを参照してください。上記実行サンプルは、今後最新版に変わっていってしまいますので、ご注意を。大切な発見を書くのを忘れていました。TweenのonFinishは呼ばれないことがあってはまりました。Tweenでノードを動かしている時に、ドラッグ&ドロップをすると、終了時にonFinishが呼ばれませんでした。setTimeoutを使うことで解決しました。KineticJSのバージョンは、4.5.2です。この仕様が将来のバージョンでどうなるかは不明です。Pipesの一機能として、スマホ向けのRSSリーダーみたいなものを作ってみようかと思います。RSSリーダーなんて世の中にたくさんあるので、普通のものを作っても面白くありません。そこで、勉強がてらHTML5でスマホアプリにしてみようと考えました。canvasというのはグラフィック用の機能ですが文字も書けるわけで、それですべてを作ったら面白いのではないかと思いました。Canvasは何年か前に少しだけ触りましたが、最近はライブラリも充実しているのではないでしょうか。検索してみると、HTML5のcanvasを劇的に使いやすくするJavaScriptライブラリまとめ5つを見つけました。Libraries(2012)?を見つけました。使ってみないと分からないだろうと思いますが、これらの情報から、KineticJSを試してみることにしました。今日のところはここまで。これから少しずつ進捗を書いていけたらいいなと思っています。dai-shi昨日、見つけてissueの登録をしておいた、connect-offlineの件です。Requestにして欲しいと。仕方ないやるかな、と思ってみたものの、やっぱりCoffeeScriptでは書く気になれません。パッケージ名も分かりにくいのではないのかと考え、新しく作ることにしました。初めは、完全互換のパッケージにしようと考えていたのですが、process.cwd()で相対パスを使っているのが気に入らず、__dirnameを使うようにしたかったので、パスの指定の互換性がなくなってしまいました。作っているうちに他の改善案(ディレクトリの再帰探索)も思いつき、実装方法もだいぶ変わってしまったので、互換の方向性はやめました。言っても、基本的には同じように使えるはずです。https://github.com/dai-shi/connect-cache-manifestから参照できます。npmにも登録済みです。dai-shiexpress.jsでHTML5のキャッシュマニフェストを使おう考えています。connectのmiddlewareにしたら便利だろうと思って調べました。GitHubでmanifestをキーワードに色々検索したのですが、見つかりませんでした。connect-manifestという空のプロジェクトがあったくらい。あきらめて、自分で作ろうかと思ったところで、npmで検索してみました。https://github.com/dustMason/connect-offlineofflineという名前だから、GitHubの検索では見つからなかったようです。Node.jsはパッケージ探しが難しいですね。このconnect-offlineはStar数が4しかありません。キャッシュマニフェストをmiddlewareで欲しいと思う人はいないのでしょうか。それとも、名前が悪くてみんな見つけられないのでしょうか。READMEを読むと、以前のconnectにはcacheManifestというmiddlewareがバンドルされていたようです。1.0より前のタグには存在します。やめたのかは分かりませんでした。logを見ればいいのも)さて、connect-offlineはちょっと想像していた機能が足りなかったので、自分で修正しようと思ったのですが、ソースがCoffeeScriptだったので手を出しませんでした。(CoffeeScriptはなぜか好きになれないので)代わりに、issueにしておきました。