メモ: Lion で Firefox をビルド
Building Firefox for macOS - Mozilla | MDN を参考に:
(2) homebrew を入れる
(3) Mercurial を入れる
$ brew install Mercurial
Error: No available formula for Mercurial
Install Mercurial with pip:
easy_install pip && pip install Mercurial
Or easy_install:
easy_install Mercurial
$ sudo easy_install pip
$ sudo pip install Mercurial
(4) 他に必要な物を homebrew で入れる
$ brew install pkg-config $ brew install libIDL
(5) autoconf213 を homebrew で入れる
- その前に Lonnen から autoconf213.rb をダウンロードして /usr/local/Library/Formula/autoconf213.rb へ置いておく
$ brew install autoconf213
(6) ソースを入手
$ hg clone http://hg.mozilla.org/mozilla-central/ mozilla
(7) .mozconfig を作成
- webm と libjpeg-turbo はとりあえず使用しないことにした
$ cat > mozilla/.mozconfig . $topsrcdir/browser/config/mozconfig mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-ff-dbg mk_add_options MOZ_MAKE_FLAGS="-s -j4" ac_add_options --enable-debug ac_add_options --disable-optimize ac_add_options --disable-webm ac_add_options --disable-libjpeg-turbo mk_add_options AUTOCONF=/usr/local/Cellar/autoconf213/2.13/bin/autoconf213
(8) ビルド
$ cd mozilla $ make -f client.mk build
(9) 実行
$ cd mozilla
$ open obj-ff-dbg/dist/NightlyDebug.app
hatena_bookmark_ignores.user.js
http://b.hatena.ne.jp/ を眺めている時に、あるサイトの記事は絶対に見たくないというものがいくつかあります。そんなわけで、そのようなサイトの表示を薄くして文字も小さく表示するユーザースクリプト (Greasemonkey スクリプト) をてきとーに書いてみました。
利用するには、ファイルをダウンロードしたあと、拡張子の .txt を .users.js へ変更してから Firefox へドロップすれば良いハズです。
ファイル冒頭の配列の URL を変更すれば、好きな(というか嫌いな)サイトを追加できます。
Firefox3.5
Firefox3.5 が出たので Does Firefox share my location with websites? | Mozilla Support を試してみたのですが、自宅はかなり正確に表示されてびっくり。誤差20メートルぐらい。
3.5 になて、Mozilla Weave がちゃんと使えるようになってました。すばらしい!
Firebug 1.2.0b4 が使えない
インストールして置くとたいへん不便な状況になってしまったので、アンインストールしたのですが、ないならないでとても不便。困ったものです。
Firebug 1.2.0b4 が入っていると…
- 例えば自分のはてブ ( http://b.hatena.ne.jp/ganaware/ ) を見に行くと prototype-1.4.0.js の 548 行目でデバッガが動作する。
つまりエラーが起こった時にデバッガが動作する機能を無効化する方法がないようなのです。JavaScript のエラーは日常的に様々なサイトで発生しているので、Firebug がしばしば動作することになりとても困ります。以前の Firebug ならば、通常時は無効化しておいて必要な時だけ動作させることができたのですが。
(7/1追記) 結局 1.2.0b3 を入れなおしました。
AutoPagerize を少し高速化 (update 0.0.31)
高速化の動機や方法については「AutoPagerize を少し高速化 - GANAwareはてな版」こちらに書いてあります。
id:swdyh さんのオリジナルがバージョンアップ (AutoPagerize0.0.30 - SWDYH) したので、高速化版もバージョンアップしました。
利用するには http://github.com/ganaware/autopagerize/tree/master の download リンクをクリックしてダウンロード後、展開した中身の autopagerize.user.js を Firefox へ drug & drop してください。
しかし Firefox3 上で使えばオリジナルのものでも快適なので、高速化版を使ってもあまり意味はなさそうです。 と思ったのですが、ふだん利用しているマシンではオリジナルのものだとスクロールが遅いので、やはり高速化版を利用したほうが快適でした。
また、マージした時点のオリジナルのバージョンが 0.0.31 になっていたので、高速化版は 0.0.31 をベースにしたものとなっています。
(6/30修正)
マージ手順はこんな感じ。(git はまだわからないことだらけなので無駄なコマンドを入力しているかもしれません)
$ git fetch swdyh
$ git checkout swdyh
$ git pull
$ git checkout master
$ git merge swdyh/master
$ git push origin master
github 上ではこのようなリビジョングラフが表示されます。分かりやすい!
Firefox3速いね
Firefox3 がリリースされましたね。
使ってみてすぐにわかるのは、とても速いということです。Gmail の新インターフェースも快適に利用できるようになりました。
いくつかの拡張機能がまだ利用できないのですが、個人的に一番痛いのは Google Browser Sync です。http://lifehacker.com/396112/google-browser-sync-discontinued-no-firefox-3-support によれば開発中止だそうです。
代わりに Mozilla Weave を使うことができると快適そうなのですが、残念ながらまだ開発中なのでユーザー登録に制限がかけられていて使うことができません。
AutoPagerize の SITEINFO を書いてみた。
どこから手をつければ良いのか分からず途方にくれたので、やったことをメモしておきます。
最初に自分の手元でテスト
Greasemonkey の「ユーザースクリプトの管理」から AutoPagerize を選んで「編集」します。そして var SITEINFO の中身を編集します。(notepad.exe では編集不可能ですので、改行コード LF を扱えるエディタを使用する必要があります)
http://wedata.net/items/1510 の内容なら、
var SITEINFO = [ { url: 'http://wiredvision\.jp/(gallery|news)/[0-9]+/[0-9]+.html', nextLink: '//div[contains(@class, "galleryContent")]//ul[contains(@class, "navigation")]/li/a', pageElement: '//div[contains(@class, "galleryContent")]', insertBefore: '//div[contains(@class, "gallery")]/ul[contains(@class, "menu")]', exampleUrl: 'http://wiredvision.jp/news/200805/2008051923.html', }, ]
こんな感じになります。nextLink, pageElement, insertBefore は XPath で記述します。記述すべき XPath を知るには Firebug を使うのが便利です。
- 参考:http://autopagerize.jottit.com/how_to_write_siteinfo_(ja)
- 参考:データベース連携からシステム統合まで、企業システムの「つなぐ」を実現 | インフォテリア株式会社
編集しセーブした後は Firefox で該当ページをリロードするだけで反映されます。
うまく動作しない場合は、編集ミスを見つけるために JavaScript コンソールを表示しておきます(ツール ⇒ コンソール)。コンソールに何も役に立つことが出ていないようなら、以下のような手段を使ってデバッグします。
- 要所要所に GM_log() を挿入してどこで問題が起こるか見極めます。
- 他人の設定を無視するために launchAutoPager(〜) をほぼ全てコメントアウトします (launchAutoPager(SITEINFO) だけは残しておきます)
うまく動作するようになったら var SITEINFO の中身をどこかにメモしておいて、AutoPagerize をアンインストールし、http://userscripts.org/scripts/show/8551 からインストールしなおします(自分が行った編集が原因で AutoPagerize が誤動作しないように、オリジナルを入れなおすのです)。
Firebug が有効になっているとユーザースクリプトをうまくインストールできないことがよくあるので、必要な時以外は Firebug は無効にしておくと良いと思います。
Wedata へ登録
SITEINFO は Item - データベース: AutoPagerize - wedata へ追加することでみんなが幸せになれます。Wedata へ追加するためにはまずログインする必要があるのですが、そのためには OpenID が必要です。
はてなダイアリーの利用者の場合は、はてなが OpenID を提供してくれているのでそれを使うのが楽かもしれません。私のアカウントならば http://www.hatena.ne.jp/ganaware/ が OpenID です。最後の / は必須です(おかげでうまくいかなくてしばらく悩みました)。
SITEINFO の追加が終わったら、AutoPagerize のユーザースクリプトコマンド (右下の Greasemonkey のアイコンを右クリックして出てくるメニューの中にあります) から AutoPagerize - clear cache を実行しておきます。
できた!
これで自分の好きなページが便利に見られるようになりました。
しかし幾つか疑問もわいてきます:
- もっとスマートなやり方はないのでしょうか?
- 他人が書いた SITEINFO の url と被っている場合、どうなるのでしょうか?
- その場合、他人の SITEINFO を編集して、自分のものと被らないように修正すべきでしょうか?