nazoking - Greasemonkey ユーザースクリプト

このページは何ですか?

Firefox の拡張機能 Greasemonkey用のスクリプトがおいてあります。

はてなダイアリー用 NiceLink

ダウンロード・インストール

NiceLinkForHatena.user.js

↑を右クリック、Install User Script で

他ブログ用

  1. MovableType用 Flashによるデモあり!わかりやすい!
  2. Blosxom用
  3. P_BLOG, WordPress, Nucleus用

改訂履歴

2006/02/03
2005/07/04
  • @nameが「Nice Link」となっていたのを「Nice Link for Hatena Diary」に変更しました。以前のバージョンをインストールしている方は、Manage User Script から一度「Nice Link」をアンインストール(UnInstall)した後、新しいバージョンをインストールしてください
  • はてなブックマークも検索できるようにしました
  • [title]部分をクリックすると、検索したタイトルをリンクして挿入するようにしました。
  • ツールチップの日本語化( http://d.hatena.ne.jp/tapot/20050701/p1 で教えてもらいました)
2005/06/30
  • 初公開

これは何ですか?

今日の井原 blogを書くときにURLをリンクするのがだるい より

 blogを書くときにはURLをリンクするという作業がとても高い頻度で発生しますが、これが単純作業きわまりなく、一つ二つなら我慢できるんですが数が多いとだるくて発狂モノです。なんとかならんのでしょうか。

中略

blogの記事でURLをリンクするときには、相手先のサイトのトップページにリンクを貼るケースが多く、そのようなケースではgoogle等の検索結果のトップに当該サイトが来ることが期待できます。そんな作業は自動化されて欲しいものです。
ということで自動化するスクリプトです。都合によりはてなダイアリー専用です。(とはいえ、内容を解析してもらえば意外と簡単にほかのブログでも利用できるのではないでしょうか?)

あと、Google検索結果以外に、自分のはてなダイアリーも検索してリンクすることもできるようになっています。

使い方

スクリプトをインストールしたら、はてなダイアリーの編集画面にいきます。ツールバーに見慣れない4つのボタンができています。

まずテキストエリアでいつものようにブログ・日記を打ちます。相手先のサイトのトップページを示す文字列(たとえば「nazonoDiary」)を入力した後、これにリンクを張りたい、とします。

  1. テキストエリア内に入力した、相手先のサイトを示す文字列(たとえば「nazonoDiary」)を選択し、「NiceLink」ボタンを押します。
  2. すると、ツールバー下が Searching nazonoDiary ... となり、しばらく後に検索結果一覧が出てきます。
  3. 適当と思われるもののリンク部分をクリックすると結果欄は消え、入力欄中の「nazonoDiary」は「<a href="http://d.hatena.ne.jp/nazoking/">nazonoDiary</a>」とリンクされたものになります。
ボタンによって、検索先が違います。
Googleで検索し、結果の一覧からユーザーが選択します。リンク以外の部分をクリックすると、リン&クを張らずに結果一覧が消えます。
Googleで検索し、結果の一番目を自動で選択します。結果一覧は表示されません。
自分のはてなダイアリーを検索し、結果の一覧からユーザーが選択します。セクションへのリンクとなります&。
自分のはてなブックマーク内を検索し、結果の一覧からユーザーが選択します。
また、検索結果は
Select Link Site ( 検索語句 )
[title]検索されたURL 検索されたタイトル
[title]http://www.example.com/ Welcom to Example.com
という形で表示されます。このうち、[title]の部分をクリックすると、挿入のリンクは
        <a href="検索されたURL" target="_blank">検索されたタイトル</a>
      
となります。URLの部分をクリックすると
        <a href="検索されたURL" target="_blank">検索語句</a>
      
となります。

ToDo(あるいは誰か他の人が改造してください)

ライセンス

GPL でよろしくお願いします

謝辞

ツールバー位置へのボタンの挿入に関して、こども(てれび)テキストエフェクト入力支援パクリ参考にしました。

技術的解説

Greasemonkey では、GM_xmlhttpRequestという関数が使えます。これは、他ドメインへのアクセスが可能なXMLHTTPRequestです。

NiceLinkForHatena.user.js ではGoogle検索もはてなダイアリー検索も、APIをたたいたりXMLを解析したりせずにHTMLを正規表現等で解析しています。これにより検索ページのデザイン構造が変わればスクリプトも変更しないといけなくなる、というデメリットがありますが、この方法ではAPIが用意されていないサービス(はてなダイアリーの日記内検索など)も使用可能です。NiceLinkForHatena.user.js では getHatenaResults、getGoogleResults 内で検索用URLの設定と解析を行っています。

ツールバーにボタンを設置している関数は init です。

これらを変更することで、他のブログにも応用可能ではないでしょうか。(あえてはてな記法は使っていません)

バグ報告・要望・助言とか

はてなダイアリーのこちらのページにコメント/トラックバックしてください。あるいは、nazoking@gmail.com までメールください。


nazo.yi.org