スポンサーサイト

■ スポンサー広告 Posted by ひぐま (Higmmer) on -------- at --:--:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Sage++ (Higmmer's Edition)のソーシャルブックマーク連携機能について

■ 自作ソフト Posted by ひぐま (Higmmer) on 2007-07-05 at 01:44:41

◆共有テーマ: Firefox [コンピュータ]

Last updated on 2011-09-25

Sorry, English document is not available.

このエントリではSage++ (Higmmer's Edition)に搭載されているソーシャルブックマーク連携機能と、それを更に簡単・便利に扱うための Greasemonkeyスクリプト「Yahoo! Bookmarks Integrator for Sage++」について説明します。

ソーシャルブックマーク連携機能

Sage++でフィードを開いた場合、各エントリに対して以下に示すアイコンが表示されます。

ソーシャルブックマークアイコン

左側はお馴染みはてなブックマーク閲覧/登録用のアイコン、そして右側がソーシャルブックマーク登録用のアイコンです。これをクリックするとそのエントリがブックマークに登録されます。また、Read Manager for Sage++ 1.1.1以降を導入している環境ではキーボードの"B"キーがショートカットとして機能します。

使用するソーシャルブックマークを変更するには"about:config"等を用いて以下に示す値を作成します。 メニューから設定できるようになりました。

【設定名】
 sage.sbm_add_url   (文字列)     <Sage++ 1.3.11.5 以下>
 sage.sbm.add_url   (文字列)     <Sage++ 1.3.20.0 以上 及び Sage-Too>
 extensions.sagepp.sbm.add_url   (文字列)     <Sage++ 2.3.0 以上>
【URLに使用可能な変数】
$TITLE$
 登録するエントリのタイトル (encodeURIComponent関数でエンコード)
$TITLE2$
 登録するエントリのタイトル (escape関数でエンコード)
$URL$
 登録するエントリのURL (encodeURIComponent関数でエンコード)
$URL2$
 登録するエントリのURL (escape関数でエンコード)
【デフォルト】
(下記参照)
【メニューから】
設定 → コンテンツエリア → 高度な設定 → SBM連携 → ソーシャルブックマーク追加用URL

使用するブックマークサービスの登録用URLを記述します。この設定名が存在しない場合、又は空文字列が設定されている場合はデフォルト設定のYahoo!ブックマークが使用されます(*)。

(*) Yahoo!ブックマークの仕様により、ブックマーク登録時にウィンドウサイズが変更されてしまう場合があります。これを防ぐためにはFirefox本体のJavascriptの設定で「ウィンドウの移動又は大きさの変更」を禁止するか、後述の「Yahoo! Bookmarks Integrator for Sage++」を導入して下さい。

いくつかのブックマークサービスの設定例を以下に示します。

詳しくはそれぞれのブックマークサービスのサイトを参照して下さい。

SBM URLフィルタについて

フィードによっては各エントリのリンクURLの中に"ref=rss"などのアクセス元を示すクエリが埋め込まれていることがあります。これをそのままブックマークするとサーバー側に余計な情報を残すことになるだけでなく、本来同一のエントリになるべきものがクエリの有無で別々のエントリと見做されてしまうなどの弊害が生じることがあります。

そこでSage++ではソーシャルブックマークリンクからクエリ部分を除去するための「SBM URLフィルタ」を実装しました。このフィルタを設定するには"about:config"等を用いて以下に示す値を作成します。 メニューから設定できるようになりました。

【設定名】
 sage.sbm_url_filter   (文字列)     <Sage++ 1.3.11.5 以下>
 sage.sbm.url_filter   (文字列)     <Sage++ 1.3.20.0 以上 及び Sage-Too>
 extensions.sagepp.sbm.url_filter   (文字列)     <Sage++ 2.3.0 以上>
【書式】
正規表現|正規表現| ...
※前後のデリミタ("/")は不要。正規表現には自動的に"i"オプションが付加されます
 (大文字小文字の区別なし)
【デフォルト】
(ref|fr(om)?|in)=[a-z0-9%_-]+|(rss|xml|rdf|atom)
【メニューから】
設定 → コンテンツエリア → 高度な設定 → SBM連携 → 除去するURLパラメータ

ソーシャルブックマークリンクから除去するクエリを正規表現で記述します。この設定名が存在しない場合はデフォルト規則が適用されます(値を作成した場合はそちらが優先されます)。

記述するのはクエリ部分だけで構いません。例えば

http://www.example.com/index.php?entry=12345&ref=rss&mode=view

の赤字部分を除去するには、単に

ref=rss

と書きます("?"や"&"などを含めてしまうと正しくマッチしませんので注意して下さい)。

以下に代表的な設定例を紹介しておきます。

(ref|fr(om)?|rss|linktype|in|ca|st|vos)=[a-z0-9%_-]+|(rss|xml|rdf|atom)
 →よく見かけるクエリを除去するためのフィルタ

尚、フィードによってはリンクURLにエントリ自体のURLとは異なるURL(リダイレクタ)が設定されていることがありますが、現状、このようなURLを直接リンクに変換する機能はありません。

Yahoo! Bookmarks Integrator for Sage++

Sage++のソーシャルブックマーク連携機能にはごく基本的な機能しか実装されていませんので、そのまま使うにはやや不便な面があります。ここで紹介する「Yahoo! Bookmarks Integrator for Sage++」はその点を補うためのGreasemonkeyスクリプトです(その名が示す通りYahoo!ブックマーク専用です)。

このツールを導入することで以下のことが可能になります。

  • ブックマーク登録を新しいタブではなくダイアログで行う
  • タグ付けやコメント入力の半自動化
  • 「後で読む」機能の実現

インストールするにはGreasemonkeyが導入されている環境で以下のファイルをダウンロードした後、拡張子を".user.js"に変えてFirefoxのウィンドウにドラッグ&ドロップして下さい(fc2ブログの制限で".user.js"という拡張子が使えないため直接インストールはできません)。

尚、このスクリプトを動作させるには "about:config"で greasemonkey.fileIsGreaseable を true に設定する必要があります。

ここでのファイル配布は終了しました。
Read Manager for Sage++ 1.3.0 以降のアーカイブ内に収録されている以下のファイルをご利用下さい。
/extra/gm_scripts/YBM_Integrator_for_Sagepp.user.js

このスクリプトを導入した場合、ソーシャルブックマーク登録ボタンを押した時に新しいタブの代わりに以下のダイアログが表示されるようになります(*)。

Yahoo! Bookmarks Integrator for Sage++ 動作イメージ
(*) 但しYahoo! Japanにログインしていない状態ではログイン画面がポップアップします。

この中に指定された書式でタグとコメントを入力して[OK]をクリックすると、その内容がYahoo!ブックマークに登録されます([キャンセル]=中止)。登録されるブックマークは非公開設定となりますので誰かに見られる心配はありません。正しくブックマーク登録が完了した場合、アイコンが次のように変化します。

ソーシャルブックマークアイコン
  ↓
ブックマーク登録完了アイコン

デフォルトでは「後で読む」というタグが自動入力されるように設定されていますので、後からこのタグ名でブックマークを検索すれば登録したエントリを読むことができます。デフォルトで入力するタグやコメント等を変更するにはソースコード先頭部分の以下の行を編集して下さい。

var postTags = decodeURI("%E5%BE%8C%E3%81%A7%E8%AA%AD%E3%82%80"); var postFolderId = "root"; var postComment = ""; var showPrompt = true; var debugMode = false;

それぞれの変数の意味は以下の通りです。

postTags
自動入力するタグ。空白区切りで複数指定可 (*1)
※この設定に関わらず「bySage++」タグも合わせて付加されます
postFolderId
登録するフォルダID(登録したいフォルダURLの以下のxxxx部分の4桁の数字を入力)
 http://bookmarks.yahoo.co.jp/my/fid/xxxx
postComment
自動入力するコメント (*1)
showPrompt
ブックマーク登録時に入力ダイアログを表示するかどうか (*2)
debugMode
エラー発生時にコンソール出力するかどうか
(*1) 日本語を直接記述したい場合はファイルのエンコードをUTF-8に変更する必要があります。
(*2) falseに設定してもログイン画面は表示されます。

showPromptをfalseに設定しておくといちいちダイアログを表示することなく次々とブックマーク登録ができるのでオススメです(但しアイコンが変化する前にフィードを閉じると正しく登録されない場合があるので注意して下さい)。

更に便利に使うためのTips集

【その1】 「後で読む」リストに素早くアクセスできるようにするには

Read Manager for Sage++を導入している場合、"config.js"に以下の設定をしておくとキーボードから"Shift + B"を押すだけで簡単に「後で読む」リストにアクセスすることができます(設定方法についてはこちらのエントリを参照して下さい)。

,sbm_page: "http://bookmarks.yahoo.co.jp/my/tag/%E5%BE%8C%E3%81%A7%E8%AA%AD%E3%82%80"

また、Custom Buttons用ボタンも用意しましたので必要な方はどうぞ。

【その2】 「後で読む」リストに登録したページをまとめて一気に開くには

Read Manager for Sage++ 1.3.0 以降に同梱している「Yahoo! Bookmarks Usability Improvements」を追加導入すれば、選択したページを一括して開くことができるようになります(*)。「後で読む」リストに大量に登録したページをまとめて読みたい場合に使うと便利です。

(*) 但しYahoo!ブックマークの仕様上、一度に選択できるのは20件までです。

更新履歴

2010/2/14 Version 1.2.1
  • sage.html以外のローカルページで動作しないように修正
2008/6/19 Version 1.2.0
  • 最近のGreasemonkeyで動かなくなっていた問題に対応
2007/7/15 Version 1.0.0
  • 公開

トラックバック

この記事について書く(FC2ブログユーザー)
※言及リンクの無いトラックバックは無効です

PageTop▲

コメント

PageTop▲

コメントの投稿

 
 
 
 
 
 (後で編集・削除したいなら必須)
 
  

PageTop▲

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。