2007年04月08日
はてブ お気に入り マイナス 人気エントリ
ずっと前に作ったまま放置していたので、正式に公開。はてなアイデアで要望が出ていた「[自分の「お気に入り」から、「注目エントリー」や「人気エントリー」に入ったエントリを除外した、マイナーなエントリーだけを表示する機能]」を Y! Pipes で実現してみました。
はてな id を入力するだけで OK。あとは RSS でも JSON ででも取得できます。
仕組みはこう。
- 人気エントリの RSS の後ろに お気に入りの RSS を結合。順番が大事(後述)
- link つまりエントリの URL が同じものを Unique で束ねる
- Filter で dc:creator があるもののみ表示する。
3つ目がかなりハックっぽいのですが、Unique には複数のアイテムを束ねるときに、2つ目以降のデータを捨てる、という仕様を利用しました。人気エントリのアイテムには dc:creator は含まれておらず、お気に入りには必ず含まれています。そのため、人気エントリに存在せず、かつ、お気に入りに存在するアイテムのみに、dc:creator がある、ということになります。1つ目の手順で順番が大事と書いたのは、逆ならこの性質は利用できないからです。かなり複雑です。自分で書いてても分からなくなりそうです…。
さて、これでだいぶ幸せにはなるのですが、Pipes には RSS 出力すると、タグのデータが削られたり、content:encoded の HTML がエスケープされてしまう、といった問題があります。このへんが解決したら、だいぶ便利になりそうなんですが。