griffin-stewieの日記

2007-11-23

[][][]LDRizePinAddLinkPad.jsを一行だけ修正

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

不具合は958さんのおかげで解消されたのでタイトル通り一行だけ追加。

API?のclearPin();を追加しただけです。

動作は

導入

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にクリップできるはず。

2007-11-22

[][][]LDRizeに拡張機能搭載

え〜 毎度のことながらいろいろ書きたいことがあったのですがなんだかんだでgdgdです。

LDRize with LinkPad - griffin-stewieの日記コメント欄でおねだりしていた機能が実装されました。

958さんお疲れ様です&ありがとう

追加された機能など(同梱ReadMe.txtより)

 ●window.LDRize について

  LDRizeが実行されたページでは、window.LDRizeオブジェクトが追加され、LDRizeの一部の機能にアクセス可能

  ・window.LDRize.jQuery

   jQueryアクセス

   *LDRizeに同梱されているjQueryは、軽量化のためにダイエットされているため、本家のjQueryの一部の機能は使用不可

  ・window.LDRize.getPinList()

   ピンが設定されているパラグラフ配列で返却

  ・window.LDRize.getPinListURL()

   ピンが設定されているパラグラフ内のリンクURL配列で返却

  ・window.LDRize.getCurrentParagraph()

   現在カレントパラグラフを返却

  ・window.LDRize.getParagraphLink(paragraph)

   パラメータに渡されたパラグラフリンクを返却

  ・window.LDRize.clearPin()

   ピンリストを削除

  ・window.LDRize.addKeyBind(key, func)

   キーバインドを追加

充実のインターフェイスです。


また、いくつかスクリプトが同梱されています。

  サンプルとして、以下のスクリプトを添付してあるので、そちらを参照。

  ・LDRizePinAddHatebu.js・・・・・・UserActionスクリプト ハテナブックマークにピンリストを追加

  ・LDRizeClearPin.js・・・・・・・・UserActionスクリプト ピンリストを削除

  ・LDRizeShowGoogleCache.user.js・・Seahorseスクリプト Google検索結果に'c'でGoogleキャッシュを開くキーバインドを追加


書かなくちゃ

LDRize with LinkPad - griffin-stewieの日記も最新バージョンに対応させたい。なにげにあのスクリプト不具合満載です(汗)

サイトによって綺麗にURLがとってこれなかったりするのでその辺の調査&修正もやりたいと思っています。

追記 11月22日午後8時56分

コメントで報告いただいた最新版のLinkPadとLDRizeでLDRizePinAddLinkPad.jsを試してみました。

手元の環境IE7&IE6)ともに、このあいだ不具合発見したYahoo検索とLiveSearchでも僕の意図した動作になっていました。

958さんありがとうございます。

あとは新インターフェイスように微調整です。それはまたあとで。


しかし

明日からの三連休(今知った)は友人の結婚式のため名古屋に攻め入る予定なので弄れるのは週明けかもしれません。

2007-11-16

[][][]LDRize with LinkPad

今さっきこれを書き終わってトラバの削除ボタンクリックしたらページを再読み込みしやがって書いたのが全部消えてorz

今はSaveTextAreaでばっちり保存しながらだから大丈夫。気を取り直して書き直し。

 

最新版のLDRizeにはPinパラグラフURLアクセスできるようになったのでちょっと書いてみた。

はっきり言ってLDRize同梱のLDRizePinAddHatebu.js と LinkPad同梱のスクリプト群とのコピペした程度のものです。LDRizePinAddLinkPad.jsとかで保存してみてください。

(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++){
		pins[i].innerText.match(/(.*?)\r\n/)
		stream.Write(RegExp.$1 + '\r\n' + urls[i] + '\r\n');
	};
	stream.Close();

})();

LDRizeでPinしたところをLinkPadに送るってだけです。

LinkPadに送るタイトル部分をどうしようかと思ったけど、単純にパラグラフのinnerTextの一行を持ってきてみることにしてみました。

LinkPad自体が優秀だからタイトル部分がなくてもURLが表示されるし、タイトルが長すぎてもちゃんとツールチップが出るからこれでもいいかもしれない。むしろ、長めの方がLinkPadにマウスオーバーしたときにリンク内容がよくわかって良い感じ。

LDRizeとLinkPadとこのスクリプトを使うとLDRizeが有効な所ならすべてがはてブのホッテントリみたいに気になった所をガンガンPinしていって見たいときに見るっていうことができて少なくとも僕的には便利。

958さんがこれを見てくれててさらに"あり"と思ってくれたら958さんによってブラッシュアップしてもらってLDRizeに同梱もしくはLDRize本体に組み込んでもらったら便利なんじゃないかと思ってみたり。

と、調子こいてみた。

これを書いてて気付いた

LinkPadを以前はほとんど使ってなくて今回新たに導入してみて気付いたんだけど、LinkPadも958さんの作だったのね。すごいっす。へこんでくるorz

958さんsuite(sweetではない)はすごく便利です。

スウィートブラウジングを!(笑)

追記

こちらに最新版あります。

プロフィール

griffin-stewie

griffin-stewie

遂にプログラマの端くれに。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には一切関係ありません。