Webページを移動しても消えない“マーカー”を引けるFirefox拡張

http://www.forest.impress.co.jp/article/2006/04/24/linemarker.html
ほー。おもしろいね。これ。マーカーの位置情報はどうやって保持してるんだろう。気になる。誰か解説してくれないかな。
ネットでこの情報を共有できたりすると面白い気がする。コメントも付けられるようにして、引用場所とコメントをみんなで共有してばっと一覧できるソーシャルサービスにならんだろうか。前に、Paul Grahamの文章のどこが各ブログに引用されてるかを図示してたサイトがあったよね?どこだっけ。これ(http://labs.qootas.org/misc/hs-j.html)だ。こういうのが自動でできると、ちょっと楽しくない?

ちょっと試してみたが、Firefoxを終了させてもちゃんとマーカーが前のとおりに表示される。おもしろい。でも当然ながら、マーカー情報はURLごとに保持されているようで、"URLは違うけど同じ文章"は認識してくれない。ブログの最新でマーカーつけたやつはパーマリンクでのアクセス時には表示されない。
Web上の断片を参照する機能はまだまだ全然たりてないなぁ。もともとパーマリンクでマーカー付けろっちゅう話か。

ちらっとソースを眺めてみたよ

結局マーキングした情報は、各自のProfileディレクトリの中のlinemarker.txtの中に保持される。ちょっと癖のあるフォーマットだけど、基本的にはURLとマーカーの場所、それからマーカーのスタイル情報の組がマーカー分だけ格納される。おもったより単純だ。ミソであるマーカーの位置情報(開始位置と終了位置)は、XPathでのHTMLDOMの中のエレメント指定と、あるエレメントの中の文字列インデックスで表現されている。さらにマーキングした文字列そのものも格納してあって、多分これはチェックに使うんだろな。

これだけの情報で済むのかあ。おもしろいね。はてブFirefox拡張と連動するデータ構造とAPIをつけたせば、すぐにでもマーカー版ブックマークもできそう。そうか、そもそもコメントに情報押しこめばデータ構造の拡張の必要はないな…。ふむ。というかそこまでしなくてもあれか、ページ中の一意な文字列が指定できるだけの正規表現なりで良いのか。そうかそうか。できちゃうな…。ふふふんふん。ブックマークレットでもいけそうだけど、拡張にしないとネットアクセスが鬼門か。