xpathをいくつか書いてみた。

LDR Full Feedを紹介した前回の記事が多くのヒトに共感していただけたようでとても喜んでいます。この場を借りてLDR Full Feedを開発・公開してくださったid:mattarinおよびid:Constellationに感謝させていただきます。

LDR Full Feedの0.0.3が公開されています。

Script内部の変数をかえると多少設定ができるように。ロード中の処理など個人の好き嫌いによるものが出てきたのでon/offを設定できるようにしてみた。

  • KEY : どのキーを押すと全文表示ができるか。
  • ADCHECKER : タイトルがこの正規表現にマッチすると、広告とみなして展開しない。
  • LOADING_MOTION : trueで展開中のエントリの背景色を変化。falseで今までどおり。
  • REMOVE_SCRIPT : 読み込み時にScript要素を削除するかどうか。
  • REMOVE_H2TAG : 読み込み時にH2要素を削除するかどうか。標準ではfalseになってる。
LDR Full Feed 0.0.3 - 枕を欹てて聴く

このほかにも全文を読み込んだときにスタイル定義を反映させたり出来るようにもなっていて、至れり尽くせりという印象。また、コメント欄でAutopagerizeのようにSITE_INFOを共有するような仕組みについても言及されています。時間がかかるとのことなので、楽しみに待ってます!

さて、サイト定義をいくつか書いたので置いておきます。全文フィードしてるサイトでもホットエントリとかで読んでると部分になっちゃうのであった方が便利なんですよね。全文への展開はフィードごとではなくエントリごとに行われるので、フォーカスされているエントリがSITE_INFOにあればオッケーです。

    {
      // 産経新聞
      url:    'http://sankei.jp.msn.com',
      xpath:  '//div[@id="articleTextnews1"]/div/div[@class="child c2 cf"]/div[@class="_LSUCS"]',
      enc:    'Shift_JIS',
    },
    {
      // 読売新聞
      url:    'http://www.yomiuri.co.jp',
      xpath:  '//td[@class="main"]/div[@class="article-def"]',
      enc:    'Shift_JIS',
    },
    {
      // ZDNet
      url:    'http://japan.zdnet.com',
      xpath:  '//div[@class="article_body"]',
      enc:    'Shift_JIS',
    },
    {
      // builder by ZDNet
      url:    'http://builder.japan.zdnet.com',
      xpath:  '//div[@id="block_story"]',
      enc:    'Shift_JIS',
    },
    {
      // ITpro
      url:    'http://itpro.nikkeibp.co.jp/article/NEWS',
      xpath:  '//div[@id="kiji"]',
      enc:    'EUC-JP',
    },
    {
      // 日経トレンディ
      url:    'http://trendy.nikkeibp.co.jp',
      xpath:  '//div[@id="digital"]/div[@class="articlebody"]',
      enc:    'EUC-JP',
    },
    {
      // エアロプレイン
      url:    'http://airoplane.net',
      xpath:  '//div[@class="entry"]',
      enc:    'EUC-JP',
    },
    {
      // 情報考学 Passion For The Future
      url:    'http://www.ringolab.com/note/daiya',
      xpath:  '//div[@class="blog"]/div[@class="blogbody"]',
      enc:    'Shift_JIS',
    },
    {
      // エキサイトブログ
      url:    'exblog.jp',
      xpath:  '//div[@class="POST_BODY"]',
    },
    {
      // Geekなページ
      url:    'http://www.geekpage.jp/blog',
      xpath:  '//center/div[@class="container"]/div[@class="main"]',
      enc:    'Shift_JIS',
    },
    {
      // phpspot開発日誌
      url:    'http://phpspot.org/blog',
      xpath:  '//div[@id="con_left"]/div[@class="entrybody"]',
    },

xpathを書くときにはAutoPagerize用のXPathをかんたんに作るためのブックマークレット AutoPagerize IDE - bits and bytesで公開されているAutoPagerize IDEFirefoxの拡張XPath Checkerを使っています。
特にautopagerize IDEは枠を見ながらクリックするだけで目的のxpathを知ることが出来るのでとても便利ですよ。