Sleipnir2で開いているページをLivedoorクリップに登録するスクリプト。
ブックマークレットで十分用は足りるとはいえ、凝った使い方をしようとするならSleipnir自身の内部機能と同じように使えるほうが便利です。
というわけで作りました。
UserAction Extensionのインストールが必要です。
プラグインのインストールが終わったらSleipnir2のインストールフォルダ以下のPlugins\scripts\フォルダにAddToLivedoorClip.jsとしてスクリプトを保存してください。
拡張子はテキストファイルにしてあるのでjsに変更してください。
Sleipnirの設定内にあるマウス・ジェスチャー・キーボードへの機能の割り当てでAddToLivedoorClipコマンドが使えるようになります。
ExtendedMenu Extensionをインストールしてある場合、右クリックメニューにもこのコマンドを追加出来るので便利です。
スクリプト上部にある初期設定部分を適宜変更することでクリップ動作がカスタマイズできます。
/////////////////////////////////////////////////////////////////////////////
// AddToLivedoorClip.js ver 20070511
// 現在開いているページをLivedoorクリップにクリップするスクリプト
//
/////////////////////////////////////////////////////////////////////////////
// 初期設定
// 引用機能
// 選択されたテキストをコメント欄に引用します。
// この機能をオンにするならtrue、使用しないならfalse
TEXT_QUOTE = true;
// 初期入力タグ
// あらかじめタグを入力しておきたい場合に設定してください。
// 複数タグはスペース区切り、必要ないなら空白のままで。
//
// 例: DEFAULT_TAG = "後で読む 記事 音楽";
DEFAULT_TAG = "";
// 非公開でクリップする
// 非公開設定でのクリップを標準にします。
// この機能をオンにするならtrue、使用しないならfalse
PUBLIC_OFF = false;
// クリップ後に開くページ
// クリップ動作完了後にジャンプするページを設定できます。
// 0 - 元のページに戻る
// 1 - マイクリップ画面に飛ぶ
// 2 - クリップされたページの詳細・コメント一覧の画面に飛ぶ
JUMP_PAGE = 0;
/////////////////////////////////////////////////////////////////////////////
// プログラム本体
var objectSleipnirApi = new ActiveXObject("Sleipnir.API");
var activeDocumentIndex = objectSleipnirApi.GetDocumentID(objectSleipnirApi.ActiveIndex);
var _document = objectSleipnirApi.GetDocumentObject(activeDocumentIndex);
var _window = objectSleipnirApi.GetWindowObject(activeDocumentIndex);
var addToLivedoorClipUri = 'http://clip.livedoor.com/clip/add?link=';
if (_document == null)
{
objectSleipnirApi.MessageBox("documentオブジェクトを作成できません");
}
else
{
// LivedoorClipへの登録URLを生成
// クリップするアドレスとドキュメントのタイトルを生成
addToLivedoorClipUri += encodeURIComponent(_window.location.href)+'&title='+encodeURIComponent(_document.title);
// 引用機能がオンなら選択テキストを取得
if (TEXT_QUOTE){
addToLivedoorClipUri += '¬es=' + encodeURIComponent((_document.selection.createRange().text).slice(0,150));
}
// 初期タグがあるなら追加する
addToLivedoorClipUri += '&tags=' + encodeURIComponent(unescape(DEFAULT_TAG));
// 非公開クリップか否か
if (PUBLIC_OFF){
addToLivedoorClipUri += '&public=off';
}
// クリップ完了後のページ遷移
switch ( JUMP_PAGE ) {
case 0:
addToLivedoorClipUri += '&jump=ref';
break;
case 1:
addToLivedoorClipUri += '&jump=myclip';
break;
case 2:
addToLivedoorClipUri += '&jump=page';
break;
default:
addToLivedoorClipUri += '&jump=ref';
break;
}
// 生成されたURIにジャンプする
_window.open(addToLivedoorClipUri, "_self");
_document = null;
}
objectSleipnirApi = null;










