LDRizePinAddLinkPad.jsを一行だけ修正

我慢できずにやりました。

不具合は958さんのおかげで解消されたのでタイトル通り一行だけ追加。
API?のclearPin();を追加しただけです。

動作は

  • PinしたパラグラフのURLとタイトル相当部分をLinkPadに送ります。
  • LinkPadに渡したあとのPinはクリアされます。
  • 後述するやり方で導入した場合はLinkPadにちなんで”l(エル)”にしたかったのですがリスト表示と被ってしまうのでLDRの動作とキーバインドに倣って キーバインド”i(アイ)” で動作します。
  • キーバインドは自由に変えられます。

導入

LDRizeとLinkPad(ともに2007/11/23の時点での最新版)をすでに導入済みという前提で書きます。
1.以下のスクリプトをLDRizePinAddLinkPad.jsという名前でC:\Program Files\Fenrir & Co\Sleipnir\plugins\scripts*1フォルダに保存してください。

(function () {
	var path = sleipnir.UserFolder + 'setting\\linkpad.tmp';
	var fso = new ActiveXObject('Scripting.FileSystemObject');
	var stream;
	try {
		stream = fso.CreateTextFile(path, false);
	} catch(e) {
		stream = fso.OpenTextFile(path, 8);
	}
	var urls = _window.LDRize.getPinListURL();
	var pins = _window.LDRize.getPinList();
	if (urls.length == 0) {
		alert('ピンが設定されていません。');
		return;
	}
	for (var i = 0; i < pins.length; i++){
		try{
			pins[i].innerText.match(/(.*?)\r\n/)
		}catch(e){}
		stream.Write(RegExp.$1 + '\r\n' + urls[i] + '\r\n');
	};
	_window.LDRize.clearPin();
	stream.Close();
})();

2.次に {Sleipnirインストールディレクトリ}\plugin\seahorse\LDRize\ に keybindex.js というファイルを作成。
3.先ほど作成したkeybindex.jsをテキストエディタで開き、以下の内容をコピペして保存。

KEYBIND['i'] = function() {
	sleipnir.RunScript(sleipnir.ScriptFullName.replace(sleipnir.ScriptName, '').replace(/\.js$/, '') + '..\\scripts\\LDRizePinAddLinkPad.js');
};

これで次にLDRizeが動作したページからは ”i” でLinkPadにクリップできるはず。

*1:インストーラでのデフォルトインストール先の場合