ネットサービスとかGoogleとか豆知識とか。

Index > Greasemonkey > 「z」で本文を取得するGoogle Reader用Greasemonkeyスクリプト
Greasemonkey
2008年01月12日 18:00

「z」で本文を取得するGoogle Reader用Greasemonkeyスクリプト

  • このエントリーをはてなブックマークに追加
  • ... PV
スポンサード リンク

(追記 2008-01-13) バージョン0.3までは、SITE_INFOのurlとサイト or フィードのURLが一致する場合のみ動作するようにしていましたが、バージョン0.4から記事のURLと一致する場合も動作するようにしてみました。

自分で修正する場合は、

        if (source.match(reg)) {

とある行を、

        if (source.match(reg) || link.match(reg)) {

と書き換えてください。

----------------

フィードの登録数が増えてくると livedoor Reader では最新の情報を追いきれないと最近思うようになっていたので、Google Readerに乗り換えることにしました。

ということで、Google Reader用に例の本文取得のGreasemonkeyスクリプトを移植しました。

スクリプトはこちらからどうぞ。
» google reader full feed changer – Userscripts.org

今回は正規表現ではなく XPath で本文箇所を指定できるようにしました。これについては、AutoPagerizeのソースコードを参考にさせていただきました。

gキーにすでにショートカットが割り当てられているので、「z」キーを割り当てるようにしています。

Google Readerでは記事ひとつずつを開いて読む形式なので、フォーカスのあたっている記事についてのみ本文を取得します。なので、「j → z → j → z ・・・」といった感じで操作することになります。

また、Google Readerのインタフェースでは必ずしもフィード配信元サイトのURLを取得できるわけではないので、ブログのドメインとRSSフィードのドメインが異なる場合には、SITE_INFOに両方のドメインを書く必要があります。

以下がSITE_INFOの例です。

var SITE_INFO = [
    {
        url:    'http://(rssblog.ameba.jp|ameblo.jp)/',
        xpath:  '//div[@class="subContents"]'
    },
    {
        url:    'http://(www|rss).itmedia.co.jp',
        xpath:  '//div[@class="newart"]',
        conv:   true
    },
];

文字コードがUTF-8でないサイトの場合は、2個目のように「conv: true」というオプションをつけます。

相対パスの画像については表示されません。取得してきた本文にJavaScriptが混入していても阻止しません。ですので、悪意のないサイトの本文を取得するようにしてください。