作成日 2005年5月27日
修正 2005年7月22日 level様よりGreasemonkey0.3.5以下のバージョン における
脆弱性に関するご指摘を頂き、リンク先を修正しました。
一言




■ 特徴

SnapShot_GmailGreaseMonkey(グリー スモンキー:整備士)ってのはどんなソフトかと言うと、Wired風にいうところの「サイトの体裁を整える」機 能を持ったソ フトです。「サイトの体裁を整える」というのは、普段見ているブログ記事にある邪魔な広告スペースを削除したり、内容は良いんだけどレイアウト のかんばしくないサイトを自分の好きなようにレイアウトすることをいいます。まぁ好きなようにレイアウトといっても、人様のページそのものを勝手 に変更が出来るわけではもちろんなくて、Firefox + GreaseMonkeyを使って見たときだけ、特定のページを自分の好きなように見ることがで きるよって感じです。他にもJavaScriptとCSSを使って、サイトに自分が書いたスクリプトを埋め込んだり、全く関係のないサイト同士を連 携させて自分だけのページを作ったりなんかもできるようです。
Platypus(プラティパス:カモノハシ)は、JavaScriptの知識が前提になるGreaseMonkeyをもっと使いやすくするためのソフト で、基本的にはマウスと人差し指1本でキーがたたければ他人のページを簡単にイジくれるソフトです。


■ 世界観

Firefoxによって読み込まれたホームページのデータにGreaseMonkeyが変更を加える際、どんなページに対してどんな変更を行うかという命 令 を書いた「ユーザースクリプト」が必要になります。例えば「ヤフーメールのページを表示させた時、画面上部に表示される広告を 削除したい」という事をスクリプトとして指示する必要があります。ユーザースクリプトはJavaScriptで書かれており、これを GreaseMonkeyに登録 することで、ページへの変更を実現しています。ですのでページに変更を加える際、自分で目的のユーザースクリプトを書くか、公 開されているユーザースクリプ トから目的に似たものを 探して登録する必要があります。ユーザースクリプトなんて書けないぜベイベーという人(私も含めて)はPlatypusを使うことで、WYSIWYG環境 で簡単に GreaseMonkey向けのユーザースクリプトを作成することが出来ます。
ただし、Platypusで書かれたユーザースクリプトは、Platypusエクステンションに依存しているので、Firefox + GreaseMonkeyだけという環境では利用できません。

  まとめ

■ 目的

今回この記事で紹介するサイトの変更は3点。私個人の大好きなサイト「泣ける2チャンネル」さんのページから、記事で使われている文字の大きさを大 きくして読みやすくすることが一 つ。もう一つは先に挙げたように、Gmailに「Delete」ボタンを付け加え、さらに広告領域を削除してみます。

なお記事内で使用している各ソフトのバージョンは、下の通りです
ソフトウェア名 バージョン 説明
Firefox 1.0.4 ホームページとかが見れる例のヤツ
GreaseMonkey 0.3.5 そのページとかを改造できる例のヤ ツ
Platypus 0.4 そんな改造が指先一つでできる例の ヤツ

■ エクステンションのダウンロード

下のリンクからエクステンションをダウンロードします。直リンクが気持ち悪い方は、この記事冒頭のバージョン情報のある公式サイトからダウンロード してください。

一回Firefoxを再起動させてエクステンションを有効にします。これで準備は整いましたので、Firefox画面上の変更点を見ていきましょ う。

1:ステータスバーに猿のアイコンが表示される
Monkey

2:メニューバーの「ツール」内と、コンテキストメニューに関連項目が追加される
ToolMenu Context


■ ページの編集1) 泣ける2チャンネルの文字を大きくする

では実際にPlatypusを使ったページの編集を行ってみましょう。編集対象となる「泣ける2ちゃんねる 嗚咽 その6」をクリックして開いてみ ましょう。この作業ではキーボード操作が必要となるため、念のため日本語入力がOFFになっていることを確認して、メニューバーのツール項目にある 「Platypus!」を選択します。

HighLight コンテンツエリア内の記事や広告エリア上にポインタを移動すると、その エリアがハイライトされると思います。とりあえず色々な エリアがハイライトされることを確認の後、キーボードから「Q(小文字大文字は関係ありません)」を押してください。これで編集モードを抜ける事ができま す。変更作業が思い通りに行かなかった場合は、「Q」で編集を修正するか、ページのリロードで編集を中止する事ができます。なお「Q」以外のキーボード ショートカット全般に関してはこちらを参照下さい。
Point で は、再度メニューバーのツール項目から「Platypus!」を選択してください。今回は、記事が書かれた部分(Class=pick)部分の文字を全て 大きくしますので、左の図で示した黄色線の領域あたりにマウスを移動し、記事全体がハイライトされたことを確認し、キーボードから「S(小文字大文字は関 係ありません)」を押してください。

すると、次の様なダイアログが表示されスタイル関連の細かい設定が可能になります。
ダイアログ

今回フォントを大きくしますので、右下にある「Font Size」から「large」を選択し、下の「Apply」ボタンを押して変更具合を確かめてください。この大きさで良ければ「Accept」をクリッ ク。元の画面に戻ったら、この変更を保存しますので、キーボードから「Ctrl + S(コントロールを押しながらS)」 を押してください。別ウィンドウにスクリプトが表示されます。

新たに表示されたウィンドウにあるメニューバーから「ツール」をクリックして、「Install User Scripts...」をクリックします。

次に「Include pages」項目内にある「http://tear.maxs.~」をクリックし、右のボタン「Edit」をクリックします。
「http://tear.maxs.jp/pic350.html」となっている所を「http://tear.maxs.jp/*.html」に変更 してください。「OK」でユーザースクリプトを保存します。

最後に「涙が出るほどいい話」 を開いてください。文字が大きくなって、読み進めるうちに画面が滲んできたら成功です。

※いらなくなったスクリプトは、ツール内にある「Manage User Scripts...」から削除できます。

■ ページの編集2) Gmailのメール削除機能の追加と広告削除

この変更では、2つのユーザースクリプトを使います。一つはGmailユーザーインターフェースに削除機能を追加するスクリプトで、もう一つは広告を削除 するユーザースクリプトです。まずはGmailインターフェースに削除機能を加える変更行います。Gmailアカウントをお持ちでない方で、興味のある方 は先にこ こを読んでアカウントを取得して下さい。(残念ながらサービス終わっ ちゃったみたいですね。Gmail管理者から注意を受けたみたいなこと書いてありました)
メールを出すのが手間でない方は、テ クノラティ辺りで探してみると、招待してくれる方が沢山いるので、メールを送ってみるのも手です。

本ページの冒頭、誰か他の人が作ったユーザースクリプトが利用できると書きましたが、この変更はそれを使わせていただきます。まずはこ こをクリックし、新規ウィンドウに表示されたらメニューバーの「ツール」→「Install User Scripts...」を選択し、今回はそのまま「OK」をクリックします。
確認のためGmailのInbox画面を開いて、「Delete」ボタンが付いていれば成功です。メールを削除する場合には、削除したいメールにチェック をして、「Delete」ボタンを押すとゴミ箱に移動してくれます。

次にGmailの広告を削除するスクリプトをインストールします。同じようにこ こをクリックしてください。先と同じくメニューバーの「ツール」→「Install User Scripts...」→「OK」をクリックします。これで広告が表示されなくなります。

■ より深く知りたい方 へ

Greasemonkey向けユーザースクリプトをバリバリ書きたい人は、「Dive into Greasemonkey」(英語)をどうぞ。「Hello World」を出力する方法から、コーディングとデバッグ方法なんかの解説が詳しくしてあります。日本語訳なんぞがあれば便利なんですよね…(汗) と ゆーかどこぞにGreasemonkey向けのコミュニティーがあるといいんですが。

Dive into Greasemonkey  (トップページ)

料理レシピのページをGreasemonkeyとplatypusを使って、印刷しやすいように整形する方法を紹介した、しげふみ様のブログがあります。この記事では触れていない 「Del」の使い方など、使う側にたった分かりやすい操作方法の紹介があります。是非併せてご覧下さい。

Greasemonkey とPlatypusでCOOKPADの印刷ページを整形

■ 最後に

もの凄いショボイ解説で恐縮ですが、さわりだけでもご理解いただければ幸いです。ご意見なんぞがございましたら、こ ちらまでお願いいたします。