2008/05/02

はてな
vimperator otsuneさんが以前、「Firefox 3.0b5とvimperator0.6とAutoPagerizeとLDRizeとMinibufferとldr_cooperation.jsを組み合わせると快適過ぎる - otsune's SnakeOil - subtech」で紹介していたvimperator、もうインストールしてしまった人はいるだろうか。
まだインストールしていない人は、今後vimperaorでウェブブラウジングが実際にどの様に変っていくかが知りたいかと思います。
Firefoxをvimぽくする拡張、vimperatorを入れると、まさしくFirefoxがvimぽくなる。このぽくが重要。vimのままを期待している人は拍子抜けするかもしれない。でも、キーボードしか触りたくないユーザにとってvimperatorは心地よい操作感を与えてくれると思います。
一般的な使い方は「ナレッジエース - Firefoxをキーボード操作できるプラグイン「Vimperator」の使い方」が参考になるかと思います。
ここでは通常のウェブブラウジング以外の操作がどの様に変るかをご紹介したいと思います。
例えば通常以外の操作を以下の様に大別してみます。
  • Googleでの検索
  • ソーシャルブックマークへポスト
  • twitter
  • はてなスター

Googleでの検索

vimperatorではテキスト選択もキーボードで行う。「i」を押してキャレットが表示されるので「hjkl」で移動したり「0」や「$」で行頭や行末に、「gg」や「G」でページの先頭やページの末尾に移動する。選択したくなったら「v」を押して選択モードに移り、同じく「hjkl」等で移動後「y」でyank(コピーの意味)出来ます。 さらに単語を検索もキーボードで。例えば上のGoogle検索結果で「firefox」を検索するならば
/firefox<ENTER>
と入力します。「firefox」という単語がハイライトされvimの様に「n」で次の検索単語へジャンプ出来る。リンクの上までジャンプし「ENTER」を押すとリンク先にもジャンプ出来ます。
そして肝心な検索ですが、vimperatorには既に数多くのpluginが作られており、その中の一つに「googlesuggest.js」があります。
この「googlesuggest.js」を使えば先ほどyankした単語を簡単に検索出来ます。
:google <s-insert><ENTER>
「<s-insert>」はSHIFTを押しながら「INSERT」キー。「<c-v>」(CTRLを押しながらvでもok) とすればGoogleの検索結果が出来ます。ただ、そこまでしなくても「googlesuggest.js」を使えば
:google fire<tab>
とすれば
:google firefox
と補完してくれます。
「googlesuggest.js」はcodereposからダウンロード出来るので「~/.vimperator/plugin」(Windowsなら「%USERPROFILE%¥vimperator¥plugin¥」)にコピーすれば完了(ブラウザ再起動「:restart」が必要)。

ソーシャルブックマークへのポスト

これもvimperator pluginで行う。使うのは「direct_bookmark.js」でインストール方法は「googlesuggest.js」と同じ。
ブックマークしたいページを見付けたら
:sbm
タグやコメントを付けたいならば「はてな方式」で
:sbm [vimperator]それvimperatorで出来るよ
といった感じに。現状既に「はてなブックマーク」、「del.icio.us」、「livedoor clip」に対応しています。タグは補完が可能でサーバからタグ一覧を再取得するには
:btags
さらにブックマークエントリページに行きたいならば
:bentry
「:bentry h」で「はてなブックマーク」に...といった感じ

twitter

twitterは「twitter.js」を使う。
:twitter
とすればfollowerのステータスが表示されます。
vimperator-twitter
ステータスを更新したければ
:twitter 声が小さい!おいっす!
とでもすればいい。

はてなスター

「hatenaStar.js」を使う。使い方は
:hatenastar
現状豪快仕様プラグインでページ内の全ての「はてなスター」をクリックする為、「はてなスター」がいっぱい付いたページで実行するとエライ事になるので注意。
既にid:retletさんがやってしまってますが...
一応、何番目の「はてなスター」かを引数でも指定出来るので
:hatenastar 1
とかしとくとブラウザが爆発する心配もありません。

その他、色んなvimperator pluginがあるので興味ある方は試してみてはどうでしょうか。
coderepos にあるvimperator plugin
また「ldr_cooperation.js」を使えばgreasemonkeyのminibufferと共存する事も出来るので、キーボードだけでブラウザを操作したい人には「ウマー」な環境が出来上がるかと思います。

Firefox 3のリリース時に、「えっvimperatorで出来ないの?」なんて事にならない様、vimperator plugin開発者の皆様、頑張っていきましょう。

2008/03/25

はてな
最近私もFirefox3を使い始めたのですが、Operator 0.9.1と組み合わせると、microformatsが「hCard」と「adr」だけになってしまい、少し困ってました。 何かのバグにしてはエラーコンソールに何も出ないし悩んでいたのですが、今日ソースを見て納得。
Firefox3からは、ブラウザ自身でmicroformatsを解析出来る仕組みが入ったのですが、その対応がOperatorに中途半端に入っている様です。
chromeからmicroformatsを扱う為には
Components.utils.import("resource://gre/modules/Microformats.js");
というコードが必要なのですが、この処理がコメントアウトされていました。
実際には
$(FIREFOX_PROFILE)/extensions/{95C9A302-8557-4052-91B7-2BB6BA33C885}/chrome/operator.jar
に含まれる
content/operator.js
が原因で、パッチで表すならば以下の様な感じ。
--- chrome/content/operator.js.orig Wed Mar 19 11:44:26 2008
+++ chrome/content/operator.js  Tue Mar 25 19:11:01 2008
@@ -77,7 +77,7 @@
     /* Attempt to use the Microformats module if available (Firefox 3) */
     if (Components.utils.import) {
       try {
-//        Components.utils.import("resource:///modules/Microformats.js");
+        Components.utils.import("resource:///modules/Microformats.js");
       } catch (ex) {
         /* Unable to load system Microformats - use builtin */
       }
おしいなぁ...作者。もしくは開発時はバギーだったかな?
実際の作業としては「operator.jar」を解凍し上記パッチを当てた(もしくは手編集)後に再度zip(拡張子jar)化すればOK。見事以前までのmicroformat Operatorが帰ってきました。
相変わらずウチのサイトはmicroformatsだらけですが...
bigsky-microformats-20080325

ところでFirefox3で扱えるmicroformats、「Describing microformats in JavaScript - MDC」を見るとどうやら自前でmicroformatの定義が出来る様です。今後draftとして拡張されていくであろうmicroformatsへの配慮ですかね。せっかくmicrosummaryのOperatorプラグイン作ってたのに、こっちの方向で作り直しか?

で、さらにドキュメントの例を見ていると
var adr_definition = {
  mfVersion: 0.8,
  mfObject: adr,
  className: "adr",
  properties: {
    "type" : {
      plural: true,
      types: ["work", "home", "pref", "postal", "dom", "intl", "parcel"]
    },
    "post-office-box" : {
    },
    "street-address" : {
      plural: true
    },
    "extended-address" : {
    },
    "locality" : {
    },
    "region" : {
    },
    "postal-code" : {
    },
    "country-name" : {
    }
  }
};
という記述が...。これOperatorのソースコードのままだね。ってことはOperatorのソースをFirefox3に持ってったのかな?
とにかく簡単に拡張出来そうな仕組みなので、しばらく追ってみる。

2008/03/14

はてな
capture.flickr.js FirefoxでキャプチャしてFlickrにアップロードするJSActionsスクリプト #2008.03.13 « ZeroMemory

といってもCSSだけ...
--- capture.flickr.js.orig  Thu Mar 13 21:55:18 2008
+++ capture.flickr.js   Fri Mar 14 12:37:01 2008
@@ -7616,7 +7616,7 @@
        document.addEventListener( 'mousedown', this.onmousedown, true );
 
        var s = document.createElement('style');
-       s.innerHTML = '* {cursor: crosshair !important;}';
+       s.innerHTML = '* {cursor: crosshair !important; -moz-user-select: none;}';
        document.body.appendChild(s);
        this.style = s;
    },
ふむ。便利だ。
capture.flickr.js FirefoxでキャプチャしてFlickrにアップロードするJSActionsスクリプト #2008.03.13 « ZeroMemory

2007/11/02

はてな
しげふみさんのサイトでmicrosummaryという言葉を初めて目にしました。
livedoor Reader購読者数のライブタイトル
これはFirefoxだけの拡張で置いておくのは勿体無い。
しばらくしたら私のサイトでもmicrosummaryに対応したいと思いますが、とりあえず遊びも兼ねて...

Yahooヘッドラインニュースの最新1件をFirefoxのライブタイトルで表示出来る物を作ってみました。
インストールには、Microsummary Buddyが必要です。
Microsummary Buddyをインストールした後、以下のリンクをクリックして下さい。
※Firefox限定です。
YahooヘッドラインニュースのMicrosummary Generatorをインストール
これを入れた後Yahooヘッドラインニュースに移動し、ブックマーク追加を行います。
microsummary-yahoo-headline-news1
1段目のプルダウンメニューを広げると以下の様な項目が現れます。
microsummary-yahoo-headline-news2
ブックマークの登録先は、「個人用ツールバーフォルダ」に行います
すると、ブックマークツールバーに以下の様なブックマークが登場します。
microsummary-yahoo-headline-news3
※microsummaryが見つかるとアドレスバーに青いアイコンが現れます。
ライブタイトルの更新はデフォルトで30分おきという事なので、30分おきにYahooのヘッドラインニュース最新1件がブックマークツールバーに表示される事になります。

さて、このMicrosummary Buddyの拡張XMLですが中身は以下の様になっています。
<?xml version="1.0" encoding="UTF-8"?>
<generator xmlns="http://www.mozilla.org/microsummaries/0.1" name="Yahoo Headline News">
 <template>
  <transform xmlns="http://www.w3.org/1999/XSL/Transform" version="1.0">
   <output method="text"/>
   <template match="/">
    <text>News:</text>
    <value-of select="//h1[@class='yjXL'][1]/a[1]/text()"/>
   </template>
  </transform>
 </template>
 <pages>
   <include>^http://headlines\.yahoo\.co\.jp/hl$</include>
 </pages>
</generator>
"generator/pages/include"でmicrosummaryを生成するURLのパターンを定義し、"generator/template/transform"でライブタイトルとなるmicrosummaryの変換式を書きます。
XSLTで「//li...なんちゃら」とやっている部分がYahooヘッドラインニュースのトップ記事1件を取得しているXPathになります。

面白いですね。twitterの最新発言や、自分のサイトはてなブックマーク数をライブタイトルにしても面白いかも知れませんね。

2007/10/25

はてな
デジャブかもしれません
twitterを使ってみんなでアイデアを共有するサービス、ひらめいったーはてなスターサイト上で、twitterユーザのアイコンが表示されるようにするグリモン書いた。

続きを読む...


2007/08/23

はてな
オフィシャル側で対応頂いたので、このグリモンの必要性は無くなりました。はてなスター日記
twitter上に、はてなスターを置く為のグリモン「つい☆すた」のサイト、「Twitter: What are you doing?」上でtwitterユーザのアイコンが表示されるようにするグリモン書いた。

続きを読む...


新規投稿