<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xml:lang="ja">
	<channel>
		<title>pekepekesamurai@vimperator</title>
		<link>http://vimperator.g.hatena.ne.jp/pekepekesamurai/</link>
		<description>pekepekesamurai@vimperator</description>
		<dc:creator>pekepekesamurai</dc:creator>


		<item>
			<title>個人的に大ヒットな設定</title>
			<link>http://vimperator.g.hatena.ne.jp/pekepekesamurai/20090314/1237014634</link>

			<description><![CDATA[
		<div class="section">
			<p>かなり快適です。</p>
			<p>特にセレクトボックスとかをC-p/C-nで選択できるところが。</p>
<p><pre>
imap &lt;C-n&gt; &lt;Down&gt;
imap &lt;C-p&gt; &lt;Up&gt;
</pre></p>
			<p>これ設定してから思ったんだけど、 input-mode を emacs ライクにしてしまうのもありかと思った。</p>
		</div>
]]></description>

			<dc:creator>pekepekesamurai</dc:creator>

			<pubDate>Sat, 14 Mar 2009 07:10:34 GMT</pubDate>



		</item>

		<item>
			<title>はてぶにショートカットキーを追加</title>
			<link>http://vimperator.g.hatena.ne.jp/pekepekesamurai/20090221/1235230727</link>

			<description><![CDATA[
		<div class="section">
			<p>してみた。</p>
			<p>e でタグ＋コメント編集。q で削除。</p>
			<p>LDRizeCooperation＋localkeymodeで実現。</p>
<p><pre>
(function(){
var hbControl = function(is_edit){
  var paragraph = liberator.plugins.LDRizeCooperation.LDRize.getParagraphes();
  var pos = paragraph.current.position + 1;
  var doc = content.window.document;
  var n = doc.evaluate('//descendant::h3[@class="entry"]['+pos+']', doc, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
  if (!n) return;
  var bmid = n.singleNodeValue.id.replace(/[^\-]+-/,'');

  var e = content.document.createEvent("MouseEvents");
  e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  
  var cn = doc.evaluate('//span[@class="bookmark-appender-cancel"]', doc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
  for (let i=0, l=cn.snapshotLength; i&#60;l ; i++) cn.snapshotItem(i).dispatchEvent( e );
  
  var node = doc.getElementById("delete-"+bmid);
  if (!node) return;
  var target = is_edit ? node.nextElementSibling : node ;
  
  e.initMouseEvent("mouseover", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  target.dispatchEvent( e );
  e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  target.dispatchEvent( e );
};
liberator.globalVariables.localKeyMappings=[
  [ /b\.hatena\.ne\.jp/, [
    ['e', function() hbControl(true)],   // edit tag and comment
    ['q', function() hbControl(false)],  // delete bookmark
  ] ],
];
})();
</pre></p>
			<p>本当はグリモンでMinibuffer.addShortcutKey + <a class="keyword" href="http://vimperator.g.hatena.ne.jp/keyword/feedSomekeys_2%2Ejs">feedSomekeys_2.js</a> とかで対応したかったんだけど、直でLDRizeの制御オブジェクトに触る方法がない(一応とれないかがんばった！けどとれねー)→Minibuffer経由で実現できそうだけどやるのが面倒→これでいいや的な感じ。</p>
			<p>eval 第二引数があればなー、、、もしくはグリモンで liberator.eval 相当のものがあれば楽になるのに、、、という感じ。</p>
			<p>liberator.eval 相当を自前で用意するのもアリっちゃアリなのかもだけど、導入が面倒になるのでスルーしました。</p>			<br>

			<p>それにしても、このやり方は我ながらかなり無理矢理＆適当感大</p>
		</div>
]]></description>

			<dc:creator>pekepekesamurai</dc:creator>

			<pubDate>Sat, 21 Feb 2009 15:38:47 GMT</pubDate>



		</item>

		<item>
			<title>LDRで購読停止用のキーを追加するための設定</title>
			<link>http://vimperator.g.hatena.ne.jp/pekepekesamurai/20090214/1234602059</link>

			<description><![CDATA[
		<div class="section">
			<p>&lt;C-v&gt;&#60;Del&gt;でも十分だったんだけど、そろそろフィードの整理がしたかったので、ワンキーで購読停止したかったのでやってみました。</p>
			<p><a class="keyword" href="http://vimperator.g.hatena.ne.jp/keyword/feedSomeKeys_2%2Ejs">feedSomeKeys_2.js</a> で fmap hoge q,&#60;Del&gt; とか、fmap hoge &#60;Del&gt; とかを指定できればよいのだけれど、なんか僕の環境だとできなかったぽいので、別の方法で回避。</p>
<p><pre>
autocmd LocationChange <a href="http://reader" target="_blank">http://reader</a>\\.livedoor\\.com/reader :fmap q

js &lt;&lt;EOM&lt;/ppp&gt;
autocommands.add('DOMLoad' , '<a href="http://reader" target="_blank">http://reader</a>\.livedoor\.com/reader/', function(arg){
	var w = gBrowser.mTabs[arg.tab-1].linkedBrowser.contentWindow.wrappedJSObject;
	w.addEventListener('load', function(){
		// add susubscribe keybind
		w.Keybind.add('q', w.Control.unsubscribe);
	}, false);
});
EOM
</pre></p>			<br>

			<p>ちなみに、DOMLoad じゃなくて PageLoad にひっかけてもいけると思う。</p>
			<p>addEventListener をしてるのは DOMLoad のタイミングで実行しちゃうと、JS側の初期化が多分終わってないぽく、エラーがでちゃうのを回避するためです。</p>
			<p>まー、こんなことするならグリモンでやっちゃった方が早いんだろうけど、グリモンがごちゃごちゃしてきているのであえて<a class="keyword" href="http://vimperator.g.hatena.ne.jp/keyword/Vimp">Vimp</a>側(正確には<a class="keyword" href="http://vimperator.g.hatena.ne.jp/keyword/vimp">vimp</a>+<a class="keyword" href="http://vimperator.g.hatena.ne.jp/keyword/feedSomeKeys_2%2Ejs">feedSomeKeys_2.js</a>)でやってみました。</p>			<br>

			<p>本当はあまり影響なさげな # とかで Keybind.add しようと思ったんだけどキー制御ロジックがa-zA-Z0-9と特定のキーしか対応してないぽい。(厳密によく読んでないので違うかもしれないけど)</p>			<br>

			<p>上記コードを書いておもったんだけど、autocommands.add のコールバックに渡される引数に contentWindow.wrappedJSObject がないのはなんでなんだろ？</p>
			<p>contentWindow.document よりも window もらえた方がありがたいと思うんだけど。もしかしたらあんのかなー？</p>
			<ul>
				<li>追記</li>
			</ul>
			<p>すでにやってる人いた～。</p>
			<p>＞＜</p>
			<p><a href="http://vimperator.g.hatena.ne.jp/snaka72/20090209/1234172041" target="_blank">以前作ったLDRで購読停止するコマンドをVimperator的にするとこんな感じかな？ - vimpがあればなんでもできるっ！ - vimperatorグループ</a></p>			<br>

			<p>ほー、こういう風にしたのか、と参考になった。</p>
		</div>
]]></description>

			<dc:creator>pekepekesamurai</dc:creator>

			<pubDate>Sat, 14 Feb 2009 09:00:59 GMT</pubDate>



		</item>

		<item>
			<title>[vimperator]ネタない。</title>
			<link>http://vimperator.g.hatena.ne.jp/pekepekesamurai/20090204/1233757194</link>

			<description><![CDATA[
		<div class="section">
			<p>自作プラギン exopen.js 専用だけど、はてなのグループ系だったら<a href="http://vimperator.g.hatena.ne.jp/mala/">id:mala</a>さん作のYahoo!Pipesを通してLivedoorReaderに追加する設定。</p>
			<p>はてなグループじゃない場合は、フツーにLivedoorReadeのブックマークレットと同じ動き。</p>
<p><pre>
liberator.globalVariables.exopen_templates = [ {
    label: 'sldr',
    value: 'subscribe feed to livedoor reader',
    custom: function(){
      var url = buffer.URL;
      if (/https?:\/\/(\w+)\.g\.hatena\.ne\.jp/.test(url))
        url = '<a href="http://pipes.yahoo.com/pipes/pipe.run?_id=TssmX7bb2xGYLar_l7okhQ&_render=rss&group_id='" target="_blank">http://pipes.yahoo.com/pipes/pipe.run?_id=TssmX7bb2xGYLar_l7okhQ&amp;_render=rss&amp;group_id=&#39;</a> + RegExp.$1;
      return '<a href="http://reader.livedoor.com/subscribe/'+url;" target="_blank">http://reader.livedoor.com/subscribe/&#39;+url;</a>
    }
  }
];
</pre></p>
			<p>実はこーゆーのを気軽にプラギンでやりたいがために exopen.js を作っただけなのよね。</p>
			<p>工夫次第では他のプラギンでも実現できることだから、無駄プラギンなのかもしれんけど。笑</p>			<br>

			<p>そろそろ久々にプラギン作りたいけど、アイデアがないです。</p>
			<p>というか、現状の<a class="keyword" href="http://vimperator.g.hatena.ne.jp/keyword/Vimp">Vimp</a>に満足してしまっている自分ガイル…</p>
		</div>
]]></description>

			<dc:creator>pekepekesamurai</dc:creator>

			<pubDate>Wed, 04 Feb 2009 14:19:54 GMT</pubDate>


			<category>vimperator</category>


		</item>

	</channel>
</rss>

