以前からGoogleリーダーを使っていて「不便だなぁ」と思うところが1つあって、それは一覧表示のアイテムリストをPageUp/PageDownキーでスクロールしたとき、スクロール前にどこまで見ていたか分かりづらいことがあること。
Googleリーダーで全文を取得して見ているようなときやほかのWebサイトでは普通に1ページ分スクロールするので、スクロール直前にどこまで見ていたかは感覚的に分かるわけですが、Googleリーダーのアイテムリストの場合は下端近くまでスクロールしないとそれ以降のアイテムを読み込まないので、1ページ分スクロールしないことがよくあり、毎回スクロール量が異なるためどこまで見ていたか分かりづらいんですよね。
解決策はいくつかあって、例えば上記のスクロール量が安定しないのはGoogle Reader Prefetch Moreを使って先読み量を増やしたり、Google Reader - Colorful List Viewなどを使ってアイテムリストを色付けする方法などがあると思います。
わたしは「スクロールしたときの境目が目印かなにかで分かればいいのになぁ」と思っていたので、それを実現するGreasemonkey/Scriptish用スクリプトを書いてみました。興味がある方は試してみてください。
Google Reader Scroll Marker for Greasemonkey
GoogleリーダーでPageUp/PageDownキーでスクロールしたとき、スクロールした境目に目印として赤い線を表示します。Google Reader Key Customizeを使って別のキーでスクロールするように割り当てている場合、その割り当てたキーでも動作します。(Shift+)Spaceキーでのページスクロールでは目印は表示しません。
ページ右上のオプションアイコン→「Scroll Marker 設定」をクリックすると設定欄が開き、目印を表示する時間(ミリ秒)を設定できます。マイナスの数値だと時間経過では隠さずにずっと表示し続けます。この設定にかかわらず、何らかのキーを押すかどこかをクリックするとすぐに目印を隠します。
それと、標準では赤線が表示されますが、CSSでスタイルを変更できるので、「この赤線は嫌だなぁ」って方は"#grsm_scroll_marker"に対してカスタマイズしてみてください。例としてFirefox向けのをいくつか用意しましたのでよろしければ参考にしてみてください。
Google Reader Scroll Marker Restyle - Themes and Skins for Google - userstyles.org
あとこれはスクリプトがほぼ完成してからの話ですが、同等機能のスクリプトを見つけちゃいました。先にこれを見つけていれば自分でスクリプトは書かずに済んだだろうに…。ただ、そのスクリプトはマウスホイールのスクロールでも機能するなど使い勝手が少し違うので、わたしが作ったものもムダにはならないのかな。このスクロールマーカー機能ってOperaに実装されていたそうですね。昔、少しだけOperaを使っていたことはありますが、その頃はこの機能がなかったようで知りませんでした。
Google Reader Full Feed ModとGoogle Reader Key Customizeを更新しました。
(この記事を書いてる時点ではuserscripts.orgのサーバーが重いので、うまく更新できない場合はあとで試してみてください。)
11/21ごろGoogleリーダーに2個目の新しい設定ボタンが出現しましたが、そのボタンをクリックしたときに表示されるメニューにもスクリプトの設定欄を開く項目を追加しました。わたしが作ったスタイルを利用している方は既存の設定ボタンが隠れてしまいマウス操作で設定欄を開けなくなっていたのですが、これでマウスだけでも設定欄を開くことができますね。
Google Reader Full Feed Modでの主な更新内容として、設定欄→General→「全文を読み込まないアイテム」設定でアイテムURLとフィード名も指定できるようにしました。もともとこの設定は、通常の記事とは異なるフォーマットのページ(例えば特集ページとか)は別途サイト情報が用意されていないことが多い(というか特集ページごとにフォーマットが異なることもあるのでサイト情報を用意できない)ため、そういったアイテムは全文を読み込まずに新しいタブで開くことを想定した設定でした。
今回の仕様変更により、特定サイトのアイテムすべて全文を読み込まないようにしたい場合に、URLもしくはフィード名を指定することで実現できると思います。ただ、文字化けなど全文がうまく表示できないということであれば、それは正しいサイト情報を用いることで解決できるはずなので、該当するサイト情報を作成するなり修正するなりしていただくのが望ましいと思います。
また、設定欄→Auto Loadにブラックリストを設定できるようにしました。特定のサイトを除いたすべてのアイテムで全文を表示したい場合、このブラックリスト設定を使ってみてください。
このブラックリストの追加に伴い、1.16以前でAuto Load設定を「ホワイトリスト」や「なし」にしていた方が1.17以降に更新すると、この設定が「ブラックリスト以外」や「ホワイトリストのみ」へ勝手に切り替わってしまいます。申し訳ありませんがCtrl+Zキー(設定でZ以外に割り当てている方はCtrl+そのキー)を押して元の設定に戻すようよろしくお願いします。
それと、Google Reader Full Feed Modの設定欄の簡易説明ページを設けました。設定欄のタイトルをクリックしても開きますので、何か分からないところがあれば目を通していただければと思います。
あとこれはどうでもいいことですが、アイテム名の右隣に表示していたアイコンの文字を「G」から「F」に変更しました。今まで特に気にしていなかったのですが、「FullのFのほうが分かりやすいよね」というだけです。
Google Reader Full Feed Mod 1.16を公開しました。
今月から新しいデザインにリニューアルしたGoogleリーダーへの対応だけで、機能の追加などはありません。上部にポップアップするメッセージは通常時はオレンジ色、読み込み中などは水色、エラーなどは赤色で表示されます。
新デザインになったGoogleリーダーも少しずつ不具合が直ったり細かい部分が変わっていたりするので、今後も対処する必要があるかもしれません。現状でも何か問題点があればコメントくださいね。
Google Reader Full Feed Modを更新しました。
最近は「Replace Full Feed URL」設定の関連について変更しているのでそれを利用していない方にとっては不要かもしれませんが、Google Reader Full Feed Mod 1.11以前ではFirefox 6で動作しませんので、古いバージョンを使われている方は更新するようお願いします。
あと直接関係ないのですが、Scriptishが0.1.4に更新されました。0.1.3まではアドオンマネージャの「ユーザースクリプト」欄を開かないとスクリプトの更新を確認できなかったようですが、0.1.4では「更新可能」欄に拡張機能やテーマと同じようにGreasemonkeyスクリプトも一覧表示されるようになりました。Google Reader Full Feed Modのように自動更新に対応したGreasemonkeyスクリプトを利用している方はScriptish 0.1.4にすると便利かも。
Google Reader Full Feed Modを更新しました。
変更点は少しだけですが、元の長いURLに展開できない短縮URLがいくつかあるようなのでUnshorten.It!のAPIも使用するようにしました。このサービスでは展開したURLを取得するまでの時間が多少かかるようなので、全文を表示するまでの待ち時間が少し気になるかもしれません。特定のサイトだけで用いられている独自ドメインな短縮URLも展開できるサービスで、APIを提供しているよさそうなところはほかにあるのかな。
また、Firefox 7.0a2や8.0a1でエラーがでていたので、一応動くようにしておきました。Betaでは動作確認していますがAurora以降では普段は動作確認していないので、仕様がよく変わるであろうNightlyは別として、Auroraで動作しなくなった場合は教えていただけると助かります。
Google Reader Full Feed Modを1.10に更新しました。
Full Feed Mod設定のEtcタブに「Replace Full Feed URL」欄を追加しました。ここに置き換え前の値と置き換え後の値を指定することで、全文表示の取得先URLを書き換えられます。設定する必要がない場合は何も記入せず空白のままにしておいてください。
この欄には下記の例のように、JavaScriptのString.replaceの第1引数regexpと第2引数newSubStrの両方をセットにして、それぞれの値を半角スペース区切りで指定します。
^https?://twitter.com/ Link ^http://ascii\.jp/elem/(.+)/summary.html http://ascii.jp/elem/$1/
配布ページの更新履歴にも書きましたが、第2引数のほうに「Link」と指定することで、全文取得前のアイテム内に記載されているURLに置き換えられます。最新ニュースやサイトの最新ページなどを紹介するTwitterのフィードをGoogleリーダーで登録している場合、その紹介しているページを(wedataに登録されているサイトであれば)全文表示できるはず。ツイートで複数のURLを紹介している場合は最初のURLのほうだけを全文表示します。
また、コメント欄で書いたようにTwitterのフィードは直接全文表示できませんが、更新履歴の例1のように指定することで、モバイル版のツイートを全文表示できます。ただし、その場合はFull Feed Mod設定のSITE INFO→FF SiteInfo欄に下記のサイト情報を追加してください。
{
"url":"https?://mobile.twitter.com/",
"xpath":"id('tweets-list')/div[1]",
"type":"IND",
"enc":"utf-8"
}それと、userscripts.orgのSSLサーバーが再稼働していますので、Scriptishを利用している方はアドオンマネージャから当スクリプトをバージョンアップできます。アドオンマネージャのGoogle Reader Full Feed Modをダブルクリックして自動更新欄が「オフ」の場合は自動で更新されませんが、アドオンマネージャの「ユーザースクリプト」を開いている状態で「今すぐ更新を確認」を行うと、Google Reader Full Feed Modのところに「今すぐ更新」ボタンが表示され、そのボタンをクリックするとバージョンアップできます。
Google Reader Full Feed Modを更新しました。主な変更点を書いておきます。
次ページを自動で継ぎ足し表示する処理を、今までは「現在のスクロール位置〜アイテム下端」の距離で判断していましたが、これを「現在のスクロール位置〜次ページのリンク位置」の距離で判断するようにしました。これにより、AutoPagerizeと同じようなタイミングで次ページを継ぎ足し表示できると思います。ただし、次ページを継ぎ足す位置は今まで通りです。
全文内のインラインフレームを取り除く設定にしている場合でも、特定のインラインフレームだけは取り除かずに表示できるようにしました。例えば、設定欄のSecurityタブ→「表示を許可するインラインフレームのソースURL」の項目へ
^http://www\.youtube\.com/embed/.+
のように指定することで、全文内にあるYouTubeの動画を表示できます。
また、次ページの継ぎ足しを禁止するURLを設定できるようにしました。これは例えば、ブログとかの個別記事ページでも1つ前の記事が継ぎ足し表示できるような場合に、その次ページURLの一部を正規表現で指定しておくことで、その継ぎ足し表示を抑制できます。ただし、wedataなどに登録されている情報が古くなっていたり間違っているなどの理由によって個別記事ページでもAutoPagerizeなどで動作してしまっている場合は、その登録情報を修正したほうがいいかもしれませんね。
それと、Ver 0.99.1にてScriptishでの自動更新に対応したつもりでしたが、0.99.1に記載した更新用URLが正しくなかったため、0.99.1から1.00への自動更新は行われないと思います。1.00から次のバージョンには自動更新できるのではないかと思います。
Googleリーダーのキーボードショートカットを変更できるGreasemonkey/Scriptish用スクリプトのGoogle Reader Key Customizeを更新しました。
機能の追加などはありませんが、Googleリーダーの新レイアウトでは表示が崩れるため、それに対応しました。なお、日本語版Googleリーダーは現時点では旧レイアウトのままです。
Firefox 4 Beta版で動作するかもしれないGoogle Reader Full Feed Mod 0.99.1を公開しました。
Firefox 4 Beta 8とGreasemonkey 0.9.0 RC1もしくはScriptish 0.1b6で動作確認。機能的には0.99とまったく同じなので、Firefox 3.6を利用している場合は更新しないほうがいいかも。もし、Firefox 3.6以前でVer 0.99.1に更新してうまく動かなくなった場合、Ver 0.99を入れ直してください。今後、Firefox 4 Beta版のバージョンやGreasemonkey/Scriptishのバージョンによっては正しく動作しなくなる可能性もありますので、そのときは教えてくださいね。
また、ScriptishでVer 0.99をインストール済みの場合、Ver 0.99.1は別のスクリプトとしてインストールされますので、Ver 0.99はアンインストールしてください。Greasemonkeyでは上書き更新されるはず。
新しいプロファイルにGoogle Reader Full Feed Modを入れて全文表示していくと、ITmediaなど一部の記事では画像が表示されません。Firefox 3.6まではRefControlでリファラを偽装していたのですが、現時点ではFirefox 4対応版が公開されておらず…。ほかにないかと探してみると、下記のサイトでuserChromeJS用スクリプトを見つけました。
Firefoxのリファラを開こうとしているサイトのホストに偽装するuserChrome.jsスクリプト - Firefox - おれのオレによる俺のためのブログ
わたしの場合、リファラの偽装はGoogleリーダー以外では不要なので、先ほどのサイトで公開されているFake Referrerを元に、指定しておいたページを開いているときだけ実行するよう適当に改造してみました。うまく動かないかもしれませんが、興味がある方は以下からダウンロードし、拡張子を「.uc.js」にリネームして試してみてくださいね。
Fake Referrer Mod 2 (2011/06/30 更新)
ちなみに、Scriptish 0.1b6ではメニューなどが正しく表示されないようです。Greasemonkeyを参考にしたScriptish 0.1b6用の日本語言語ファイルをこちらにUPしておきましたので、必要な方はどうぞ。言語ファイルの更新方法は以下を参考にしてください。
Google Reader Full Feed Modを更新しました。先日報告があった不具合を修正できたはず。
自動更新が便利すぎるので次のバージョンではScriptishに対応したいのですが、Google Reader Full Feed Modは動かず…。いろいろ試行錯誤するしかないのかなぁ。