node/websocket とknockout.jsでRSSリーダー作ってみた

風邪引いてるっぽくて頭痛と吐き気がひどいのですが、昨日作ったコード置いておきます
GitHub - mizchi-sandbox/node-rss-reader: LDRっぽいRSSリーダー

http://w-mtlab.com:2000 にサンプルを置いておきます
これは僕(mizchi)の未読です
(共通の未読管理フラグ使ってるので、誰かが読んでしまってると読めません)


コード総数は600行ぐらいなので、サンプルにはなると思います。プリントデバッグの名残が大量に残ってますが…


挙動はほぼLDRのjksaoのクローンです。マウスオペレーションはサポートしていません。


zappa.jsとKnockout.jsとwebsocketの練習がてら作りました。

knocout.js使ってみた感想

knockout.jsよかった(小学生並みの感想)


いや、風邪引いて頭悪いので後日フレームワークの感想書きます…

使い方

以下README

=== 依存 ====

  • mongodb
  • nkf
  • libxml2
  • node(0,4系)
  • python(2.7系)
  • WebSocket 対応ブラウザ
  • npm

zappa coffee-script readability mongolian request
他にもあった気がする

- python
pyquery , feedparser ,pykf, pymongo
これも多すぎて忘れた。feedparserで取得した辞書オブジェクトをそのままpymongoで投げてます。
スキーマさえあってればPythonである必要はないです。

  • フィードのソース

export.xmlid:miz404(mizchi)の opml です。
自分のものと差し替えたい場合は livedoor Readerにログインした状態で、
http://reader.livedoor.com/export/opml からダウンロードしてください。
Googleopmlと互換があるかは調べてません。

crawl.coffee は node でスクレイピングしようとした残滓です。
並列アクセスで、過負荷で自分が落ちます。

条件さえ満たしてれば

> python crawler.py
> coffee app.coffee
> open localhost:3000

で起動するはずです。

cron に crawler.py を登録するとスクレイピングします

使い方

j 次の記事
k 前の記事
s 次のソース
a 前のソース
o バックグラウンドでタブを開く
r 未読をリセットし、バックグラウンドでスクレイパーを走らせます