<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>suVeneのアレ &#187; Programming</title>
	<atom:link href="http://d.zeromemory.info/category/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://d.zeromemory.info</link>
	<description>suVeneのアレです。</description>
	<lastBuildDate>Sat, 04 Sep 2010 15:47:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://d.zeromemory.info/category/programming/feed" />
		<item>
		<title>Publish::Delicious, LivedoorClip で utf-8 フラグを落として post すると何故か文字化け</title>
		<link>http://d.zeromemory.info/2009/01/27/plagger-mojibake-publish-delicious-livedoorclip.html</link>
		<comments>http://d.zeromemory.info/2009/01/27/plagger-mojibake-publish-delicious-livedoorclip.html#comments</comments>
		<pubDate>Mon, 26 Jan 2009 15:01:34 +0000</pubDate>
		<dc:creator>suVene</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Plagger]]></category>

		<guid isPermaLink="false">http://d.zeromemory.info/?p=749</guid>
		<description><![CDATA[







Plagger を利用して、Hatena から Delicious, LivedoorClip に同期してるんだが、2ヶ月ほど前からこんな感じで文字化けするようになってた。


2ヶ月以上も放置してて、o [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F27%252Fplagger-mojibake-publish-delicious-livedoorclip.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Publish%3A%3ADelicious%2C%20LivedoorClip%20%E3%81%A7%20utf-8%20%E3%83%95%E3%83%A9%E3%82%B0%E3%82%92%E8%90%BD%E3%81%A8%E3%81%97%E3%81%A6%20post%20%E3%81%99%E3%82%8B%E3%81%A8%E4%BD%95%E6%95%85%E3%81%8B%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91%22%20%7D);"></div>
<p>
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/01/10 */
google_ad_slot = "4380003246";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- google_ad_section_start --><!-- rakuten_ad_target_begin -->Plagger を利用して、Hatena から Delicious, LivedoorClip に同期してるんだが、2ヶ月ほど前からこんな感じで文字化けするようになってた。<br />
<br />
<div id="attachment_748" class="wp-caption alignnone" style="width: 310px"><a href="http://d.zeromemory.info/wp-content/uploads/2009/01/20090126_mojibake.png"><img class="size-medium wp-image-748" title="文字化け" src="http://d.zeromemory.info/wp-content/uploads/2009/01/20090126_mojibake-300x142.png" alt="文字化け" width="300" height="142" /></a><p class="wp-caption-text">文字化け</p></div><br />
<br />
2ヶ月以上も放置してて、otsune さんからも IRC でつっこまれたので、ちょっと調べてみることに。タイミングとしては、XML::Feed::RSS かなにかが XML::Feed::Entry::Format::RSS とかに変わったあたりなんだけど、そのとき cpan モジュール沢山更新したから、あんまり関係ないのかも。<br />
<br />
で、とりあえず試行錯誤でかろうじてわかったのは、Publish::Delicious.pm の場合、<br />
<pre><code>
    my $params = {
        url         => $args->{entry}->link,
        description => encode('utf-8', $args->{entry}->title),
        tags        => encode('utf-8', $tag_string),
    };
</code></pre>
の部分の、encode をはずすと文字化けしなくなるってこと。Publish::LivedoorClip も同じ。<br />
<br />
デバッグしてみても、「utf8::is_utf8($args-&gt;{entry}-&gt;title-&gt;data)」は 1 だし、encode した文字列はちゃんとフラグ落ちてたんだけど、なんでだろう。perl の仕組みも文字列の扱いも詳しくないからこれ以上わからない。<br />
<br />
というわけで、とりあえず以下のようなパッチを宛てて文字化け回避したのはいいけど、ちょっと場当たり的。LivedoorClip も似たような感じ。<br />
<br />
<pre><code>
--- a/plagger/lib/Plagger/Plugin/Publish/Delicious.pm
+++ b/plagger/lib/Plagger/Plugin/Publish/Delicious.pm
@@ -32,12 +32,16 @@ sub add_entry {
    my $params = {
        url         => $args->{entry}->link,
#        description => encode('utf-8', $args->{entry}->title),
#        tags        => encode('utf-8', $tag_string),
        description => $args->{entry}->title,
        tags        => $tag_string,
    };
</code></pre>
ついでに、Hatenaブックマークのフィードは、何故か entry_body にブクマした記事の概要が入ってて、summary のほうに自分のコメントが入ってるので、<br />
<br />
<code>$params-&gt;{extended} = $args-&gt;{entry}-&gt;body_text;</code><br />
<br />
のところは、<br />
<code>$params-&gt;{extended} = $args-&gt;{entry}-&gt;summary;</code><br />
<br />
に変えてしまった。<br />
<br />
うーん。謎いです！<br />
<h4>環境</h4>
<ul>
	<li>Perl v5.8.8 built for i386-freebsd-64int</li>
	<li>Encode 2.27</li>
	<li>URI::Fetch 0.08</li>
	<li>WWW::Mechanize 1.54</li>
	<li>Net::Delicious 1.13</li>
</ul>
主要なのはこんな感じ？<br />
<br />
似たような状況に陥ってる人はおらんのかな。<!-- rakuten_ad_target_end --><!-- google_ad_section_end --><br />
<br><div>
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/11/02 */
google_ad_slot = "3456326943";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div class="topsy_widget_shortcode topsy_theme_brick-red" style="background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F27%252Fplagger-mojibake-publish-delicious-livedoorclip.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Publish%3A%3ADelicious%2C%20LivedoorClip%20%E3%81%A7%20utf-8%20%E3%83%95%E3%83%A9%E3%82%B0%E3%82%92%E8%90%BD%E3%81%A8%E3%81%97%E3%81%A6%20post%20%E3%81%99%E3%82%8B%E3%81%A8%E4%BD%95%E6%95%85%E3%81%8B%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91%22%20%7D);"></div>
</p>

]]></content:encoded>
			<wfw:commentRss>http://d.zeromemory.info/2009/01/27/plagger-mojibake-publish-delicious-livedoorclip.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://d.zeromemory.info/2009/01/27/plagger-mojibake-publish-delicious-livedoorclip.html" />
	</item>
		<item>
		<title>[vimperator]copy.js の wedata 読み込みセキュリティ強化</title>
		<link>http://d.zeromemory.info/2009/01/26/vimperator-copy-security-check.html</link>
		<comments>http://d.zeromemory.info/2009/01/26/vimperator-copy-security-check.html#comments</comments>
		<pubDate>Mon, 26 Jan 2009 08:50:18 +0000</pubDate>
		<dc:creator>suVene</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Vimperator]]></category>

		<guid isPermaLink="false">http://d.zeromemory.info/?p=733</guid>
		<description><![CDATA[it:teramako(作者)さんから、copy.js の wedata 読込みに関してこんなコメントが。
この点は確かに、同じように悩んだ部分である。
なので、とりあえずの対処として default では wedata は読込まず、かつ読込む設定にしても custom 関数はさらにオプション指定しないと登録されないようにと]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F26%252Fvimperator-copy-security-check.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5Bvimperator%5Dcopy.js%20%E3%81%AE%20wedata%20%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E5%BC%B7%E5%8C%96%22%20%7D);"></div>
<p>
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/01/10 */
google_ad_slot = "4380003246";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- google_ad_section_start --><!-- rakuten_ad_target_begin -->it:teramako(作者)さんから、copy.js の <a title="[vimperator]wedata から copy.js の template 読み込み - suVeneのアレ" href="http://d.zeromemory.info/2009/01/26/vimperator-copy-load-wedata.html">wedata 読込み</a>に関してこんなコメントが。<br />
</p>
<blockquote title="copy.js のWeData対応について - vimpな日々 - vimperatorグループ" cite="http://vimperator.g.hatena.ne.jp/teramako/20090126/1232946148"><p>僕はあまり歓迎していない。<br />
<br />
<a class="keyword" href="http://vimperator.g.hatena.ne.jp/keyword/copy%2ejs">copy.js</a>にはcustom句(?)があり、この値がfunctionオブジェクトの場合はそれを実行した結果文字列をクリップボードにコピーする機能がある。これがWeData化すると、<strong>よく分からないネットワーク上の誰もが更新できるコード</strong>が<em><a class="okeyword" href="http://d.hatena.ne.jp/keyword/Chrome">Chrome</a>特権化で動く</em>ことになる。<br />
<br />
<a title="copy.js のWeData対応について - vimpな日々 - vimperatorグループ" href="http://vimperator.g.hatena.ne.jp/teramako/20090126/1232946148">copy.js のWeData対応について &#8211; vimpな日々 &#8211; vimperatorグループ</a> <a title="はてなブックマーク数" href="http://b.hatena.ne.jp/entry/http://vimperator.g.hatena.ne.jp/teramako/20090126/1232946148"><img title="はてなブックマーク数" src="http://b.hatena.ne.jp/entry/image/http://vimperator.g.hatena.ne.jp/teramako/20090126/1232946148" border="0" alt="はてなブックマーク数" /></a></p></blockquote>
<p>
この点は確かに、同じように悩んだ部分である。<br />
なので、とりあえずの対処として default では wedata は読込まず、かつ読込む設定にしても custom 関数はさらにオプション指定しないと登録されないようにと二重の設定をさせるようにしていたのだが(<a title="[vimperator]wedata から copy.js の template 読み込み - suVeneのアレ" href="http://d.zeromemory.info/2009/01/26/vimperator-copy-load-wedata.html">前回の記事参照</a>)、 やはりいつの間にか悪意あるユーザーによって function が書き換えられないとも限らない。<br />
なので、少しセキュリティ強化を入れた。<br />
<br />
まず、以下のような template があったとする。<br />
<br />
<div id="attachment_727" class="wp-caption alignnone" style="width: 410px"><a href="http://d.zeromemory.info/wp-content/uploads/2009/01/20090126_1.png"><img class="size-full wp-image-727" title="e.g.)wedata vimp copy template" src="http://d.zeromemory.info/wp-content/uploads/2009/01/20090126_1.png" alt="copy.js template" width="400" height="319" /></a><p class="wp-caption-text">e.g.)wedata vimp copy template</p></div><br />
<br />
これを初めて実行しようとした時に、以下のようなメッセージが表示される。<br />
<br />
<div id="attachment_729" class="wp-caption alignnone" style="width: 365px"><a href="http://d.zeromemory.info/wp-content/uploads/2009/01/20090126_21.png"><img class="size-full wp-image-729" title="confirm1" src="http://d.zeromemory.info/wp-content/uploads/2009/01/20090126_21.png" alt="確認ダイアログ" width="355" height="192" /></a><p class="wp-caption-text">確認ダイアログ</p></div><br />
<br />
キャンセルすると、そのまま終了。OK を押すと、custom 関数が実行され、<br />
<br />
<div id="attachment_730" class="wp-caption alignnone" style="width: 365px"><a href="http://d.zeromemory.info/wp-content/uploads/2009/01/20090126_3.png"><img class="size-full wp-image-730" title="alert" src="http://d.zeromemory.info/wp-content/uploads/2009/01/20090126_3.png" alt="実行ダイアログ" width="355" height="134" /></a><p class="wp-caption-text">実行ダイアログ</p></div><br />
<br />
と、表示される。ここまでが、1回目のチェック。<br />
<br />
ここで、<strong><span style="color: #ff0000;">悪意あるユーザー</span></strong>が現れ、wedata のデータを以下のように変更したとする。<br />
<br />
<div id="attachment_731" class="wp-caption alignnone" style="width: 460px"><a href="http://d.zeromemory.info/wp-content/uploads/2009/01/20090126_4.png"><img class="size-full wp-image-731" title="changed wedata" src="http://d.zeromemory.info/wp-content/uploads/2009/01/20090126_4.png" alt="変更されたデータ" width="450" height="341" /></a><p class="wp-caption-text">変更されたデータ</p></div><br />
<br />
で、このように wedata が書き換えられた状態を読込み、次回実行しようとすると、<strong>以前確認した時点から変更があれば</strong>、再度確認ダイアログを表示する。<br />
<br />
(wedata のデータは 24時間保存しているので、実際には変更されてもすぐに取り込まれる訳ではない)<br />
<br />
<div id="attachment_732" class="wp-caption alignnone" style="width: 423px"><a href="http://d.zeromemory.info/wp-content/uploads/2009/01/20090126_5.png"><img class="size-full wp-image-732" title="confirm2" src="http://d.zeromemory.info/wp-content/uploads/2009/01/20090126_5.png" alt="確認ダイアログ2" width="413" height="192" /></a><p class="wp-caption-text">確認ダイアログ2</p></div><br />
<br />
どうだろう。<br />
<br />
これなら Greasemonkey などのように、user scripts を確認するタイミングができるし、知らないうちに違う function に置き換えられる危険も少ない。(バグがなければ。ただ、confirm は default で ok に focus がある……)<br />
<br />
custom に指定する funciton は大抵小さいだろうから、これくらいで十分かな？と。<br />
<h4>Links</h4>
<ul>
	<li><a title="copy.js のWeData対応について - vimpな日々 - vimperatorグループ" href="http://vimperator.g.hatena.ne.jp/teramako/20090126/1232946148">copy.js のWeData対応について &#8211; vimpな日々 &#8211; vimperatorグループ</a> <a title="はてなブックマーク数" href="http://b.hatena.ne.jp/entry/http://vimperator.g.hatena.ne.jp/teramako/20090126/1232946148"><img title="はてなブックマーク数" src="http://b.hatena.ne.jp/entry/image/http://vimperator.g.hatena.ne.jp/teramako/20090126/1232946148" border="0" alt="はてなブックマーク数" /></a></li>
	<li><a title="[vimperator]wedata から copy.js の template 読み込み - suVeneのアレ" href="http://d.zeromemory.info/2009/01/26/vimperator-copy-load-wedata.html">[vimperator]wedata から copy.js の template 読み込み &#8211; suVeneのアレ</a> <a title="はてなブックマーク数" href="http://b.hatena.ne.jp/entry/http://d.zeromemory.info/2009/01/26/vimperator-copy-load-wedata.html"><img title="はてなブックマーク数" src="http://b.hatena.ne.jp/entry/image/http://d.zeromemory.info/2009/01/26/vimperator-copy-load-wedata.html" border="0" alt="はてなブックマーク数" /></a></li>
</ul><!-- rakuten_ad_target_end --><!-- google_ad_section_end --><br />
<br><div>
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/11/02 */
google_ad_slot = "3456326943";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div class="topsy_widget_shortcode topsy_theme_brick-red" style="background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F26%252Fvimperator-copy-security-check.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5Bvimperator%5Dcopy.js%20%E3%81%AE%20wedata%20%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E5%BC%B7%E5%8C%96%22%20%7D);"></div>
</p>

]]></content:encoded>
			<wfw:commentRss>http://d.zeromemory.info/2009/01/26/vimperator-copy-security-check.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://d.zeromemory.info/2009/01/26/vimperator-copy-security-check.html" />
	</item>
		<item>
		<title>[vimperator]wedata から copy.js の template 読み込み</title>
		<link>http://d.zeromemory.info/2009/01/26/vimperator-copy-load-wedata.html</link>
		<comments>http://d.zeromemory.info/2009/01/26/vimperator-copy-load-wedata.html#comments</comments>
		<pubDate>Mon, 26 Jan 2009 02:46:35 +0000</pubDate>
		<dc:creator>suVene</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Vimperator]]></category>

		<guid isPermaLink="false">http://d.zeromemory.info/?p=718</guid>
		<description><![CDATA[とのことなので、エロくないけど機能追加しといた。copy.js 自身の対応 version は、すでに completion の関係から、実質 2.0 以上になってたので、2.0 以上のみの対応。
設定できる Option は pluginhelp -v でみてくれればよいけど、簡単に説明しておく。]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F26%252Fvimperator-copy-load-wedata.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5Bvimperator%5Dwedata%20%E3%81%8B%E3%82%89%20copy.js%20%E3%81%AE%20template%20%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%22%20%7D);"></div>
<p>
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/01/10 */
google_ad_slot = "4380003246";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- google_ad_section_start --><!-- rakuten_ad_target_begin --></p>
<blockquote title="copy.js 用のテンプレート wedata Database 作った - VoQn.vimp - vimperatorグループ" cite="http://vimperator.g.hatena.ne.jp/VoQn/20090126/1232907735"><p>これ作ったからwedata SITEINFO からコマンドひっぱってこれるよーっていう<a class="keyword" href="http://vimperator.g.hatena.ne.jp/keyword/copy%2ejs">copy.js</a>の改良は他のエロい御人たちにまかせる。<br />
<br />
<a title="copy.js 用のテンプレート wedata Database 作った - VoQn.vimp - vimperatorグループ" href="http://vimperator.g.hatena.ne.jp/VoQn/20090126/1232907735">copy.js 用のテンプレート wedata Database 作った &#8211; VoQn.vimp &#8211; vimperatorグループ</a> <a title="はてなブックマーク数" href="http://b.hatena.ne.jp/entry/http://vimperator.g.hatena.ne.jp/VoQn/20090126/1232907735"><img title="はてなブックマーク数" src="http://b.hatena.ne.jp/entry/image/http://vimperator.g.hatena.ne.jp/VoQn/20090126/1232907735" border="0" alt="はてなブックマーク数" /></a></p></blockquote>
<p>
とのことなので、エロくないけど<a title="Changeset 29038 – CodeRepos::Share – Trac" href="http://coderepos.org/share/changeset/29038">機能追加しといた</a>。copy.js 自身の対応 version は、すでに completion の関係から、実質 2.0 以上になってたので、2.0 以上のみの対応。<br />
設定できる Option は <strong>pluginhelp -v</strong> でみてくれればよいけど、簡単に説明しておく。<br />
<ol>
	<li> liberator.globalVariables.copy_use_wedata = false; // false by default</li>
	<li> liberator.globalVariables.copy_wedata_include_custom = true; // false by default</li>
	<li> ｌiberator.globalVariables.copy_wedata_exclude_labels = [ 'anylabel1', 'anylabel2', …… ];</li>
</ol>
1. wedata から template 読込みたい人は true に。<br />
<br />
2. custom 関係の template を読込みたい人は true に。(window.eval を利用しているので、default は false にしてる)<br />
<br />
3. wedata から読込みたくない label のリストを設定。<br />
<br />
ネ、簡単でしょ！<br />
<br />
<strong>おら、とんでもなくすげぇ便利に copy.js 使ってるぜ！</strong><br />
<br />
<strong>あたい、copy.js でメシ食ってるわ！</strong><br />
<br />
ってな人は、是非 <a title="アイテム - データベース: vimp copy - wedata" href="http://wedata.net/databases/vimp%20copy/items">wedata</a> に登録を。<br />
あー、あと<br />
</p>
<blockquote title="copy.js 用のテンプレート wedata Database 作った - VoQn.vimp - vimperatorグループ" cite="http://vimperator.g.hatena.ne.jp/VoQn/20090126/1232907735"><p>wedataでの説明についてが言葉足らずなので、あとでもうちょっとマシな文面にしたい。「こう書けば良いんでないの」という方アドバイスplz.<br />
<a title="copy.js 用のテンプレート wedata Database 作った - VoQn.vimp - vimperatorグループ" href="http://vimperator.g.hatena.ne.jp/VoQn/20090126/1232907735">copy.js 用のテンプレート wedata Database 作った &#8211; VoQn.vimp &#8211; vimperatorグループ</a> <a title="はてなブックマーク数" href="http://b.hatena.ne.jp/entry/http://vimperator.g.hatena.ne.jp/VoQn/20090126/1232907735"><img title="はてなブックマーク数" src="http://b.hatena.ne.jp/entry/image/http://vimperator.g.hatena.ne.jp/VoQn/20090126/1232907735" border="0" alt="はてなブックマーク数" /></a></p></blockquote>
<p>
らしいので、誰か適当におねがい。<br />
<br />
いじょ。<br />
<h4>追記1</h4>
セキュリティに関して少々不安があったので、ちょっと機能追加。<br />
<p style="padding-left: 30px;"><a title="[vimperator]copy.js の wedata 読み込みセキュリティ強化 - suVeneのアレ" href="http://d.zeromemory.info/2009/01/26/vimperator-copy-security-check.html">[vimperator]copy.js の wedata 読み込みセキュリティ強化 &#8211; suVeneのアレ</a> <a title="はてなブックマーク数" href="http://b.hatena.ne.jp/entry/http://d.zeromemory.info/2009/01/26/vimperator-copy-security-check.html"><img title="はてなブックマーク数" src="http://b.hatena.ne.jp/entry/image/http://d.zeromemory.info/2009/01/26/vimperator-copy-security-check.html" border="0" alt="はてなブックマーク数" /></a></p>
<br />
<h4>Links</h4>
<ul>
	<li><a title="copy.js 用のテンプレート wedata Database 作った - VoQn.vimp - vimperatorグループ" href="http://vimperator.g.hatena.ne.jp/VoQn/20090126/1232907735">copy.js 用のテンプレート wedata Database 作った &#8211; VoQn.vimp &#8211; vimperatorグループ</a> <a title="はてなブックマーク数" href="http://b.hatena.ne.jp/entry/http://vimperator.g.hatena.ne.jp/VoQn/20090126/1232907735"><img title="はてなブックマーク数" src="http://b.hatena.ne.jp/entry/image/http://vimperator.g.hatena.ne.jp/VoQn/20090126/1232907735" border="0" alt="はてなブックマーク数" /></a></li>
	<li><a title="アイテム - データベース: vimp copy - wedata" href="http://wedata.net/databases/vimp%20copy/items">アイテム &#8211; データベース: vimp copy &#8211; wedata</a> <a title="はてなブックマーク数" href="http://b.hatena.ne.jp/entry/http://wedata.net/databases/vimp%20copy/items"><img title="はてなブックマーク数" src="http://b.hatena.ne.jp/entry/image/http://wedata.net/databases/vimp%20copy/items" border="0" alt="はてなブックマーク数" /></a></li>
	<li><a title="Changeset 29038 – CodeRepos::Share – Trac" href="http://coderepos.org/share/changeset/29038">Changeset 29038 – CodeRepos::Share – Trac</a> <a title="はてなブックマーク数" href="http://b.hatena.ne.jp/entry/http://coderepos.org/share/changeset/29038"><img title="はてなブックマーク数" src="http://b.hatena.ne.jp/entry/image/http://coderepos.org/share/changeset/29038" border="0" alt="はてなブックマーク数" /></a></li>
</ul><!-- rakuten_ad_target_end --><!-- google_ad_section_end --><br />
<br><div>
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/11/02 */
google_ad_slot = "3456326943";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div class="topsy_widget_shortcode topsy_theme_brick-red" style="background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F26%252Fvimperator-copy-load-wedata.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5Bvimperator%5Dwedata%20%E3%81%8B%E3%82%89%20copy.js%20%E3%81%AE%20template%20%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%22%20%7D);"></div>
</p>

]]></content:encoded>
			<wfw:commentRss>http://d.zeromemory.info/2009/01/26/vimperator-copy-load-wedata.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://d.zeromemory.info/2009/01/26/vimperator-copy-load-wedata.html" />
	</item>
		<item>
		<title>ubuntu の perl update で git-svn やらがエラー（でたので回避修正)</title>
		<link>http://d.zeromemory.info/2009/01/24/ubuntu-perl-error-when-upgrade.html</link>
		<comments>http://d.zeromemory.info/2009/01/24/ubuntu-perl-error-when-upgrade.html#comments</comments>
		<pubDate>Sat, 24 Jan 2009 08:13:41 +0000</pubDate>
		<dc:creator>suVene</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://d.zeromemory.info/?p=712</guid>
		<description><![CDATA[







今朝、何の update だったか忘れたが、perl のコアモジュール的なアップデートをした後、
plagger とか、git svn rebase などが、以下のエラーで動かなくなった。
% git s [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F24%252Fubuntu-perl-error-when-upgrade.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22ubuntu%20%E3%81%AE%20perl%20update%20%E3%81%A7%20git-svn%20%E3%82%84%E3%82%89%E3%81%8C%E3%82%A8%E3%83%A9%E3%83%BC%EF%BC%88%E3%81%A7%E3%81%9F%E3%81%AE%E3%81%A7%E5%9B%9E%E9%81%BF%E4%BF%AE%E6%AD%A3%29%22%20%7D);"></div>
<p>
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/01/10 */
google_ad_slot = "4380003246";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- google_ad_section_start --><!-- rakuten_ad_target_begin -->今朝、何の update だったか忘れたが、perl のコアモジュール的なアップデートをした後、<br />
plagger とか、git svn rebase などが、以下のエラーで動かなくなった。<br />
<pre><!-- BODY { FONT-FAMILY:桃花丸ゴシックL; FONT-SIZE:10pt } P { FONT-FAMILY:桃花丸ゴシックL; FONT-SIZE:10pt } DIV { FONT-FAMILY:桃花丸ゴシックL; FONT-SIZE:10pt } TD { FONT-FAMILY:桃花丸ゴシックL; FONT-SIZE:10pt } --><span style="font-family: monospace;">% git svn rebase
 Errno architecture (i486-linux-gnu-thread-multi-2.6.24-14-server) does not match executable architecture (i486-linux-gnu-thread-multi-2.6.24-19-server) at /home/suvene/local/lib/perl5/Errno.pm line 11.
 Compilation failed in require at /usr/share/perl/5.8.8/File/Temp.pm line 138.
 BEGIN failed--compilation aborted at /usr/share/perl/5.8.8/File/Temp.pm line 138.
 Compilation failed in require at /usr/lib/perl5/SVN/Ra.pm line 6.
 BEGIN failed--compilation aborted at /usr/lib/perl5/SVN/Ra.pm line 6.
 Compilation failed in require at /usr/bin/git-svn line 30.</span></pre>
ググってみると、バグなのか、upgrade の順番が悪いのかわからないが、なにやら似たような状況の人もいる様子。<br />
<br />
<a title="Bug #316013 in util-linux (Ubuntu): “apt-get dist-upgrade failed - architecture (i486-linux-gnu-thread-multi-2.6.15.7) does not match executable architecture (i486-linux-gnu-thread-multi-2.6.24-14-server)”" href="https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/316013">Bug #316013 in util-linux (Ubuntu): “apt-get dist-upgrade failed &#8211; architecture (i486-linux-gnu-thread-multi-2.6.15.7) does not match executable architecture (i486-linux-gnu-thread-multi-2.6.24-14-server)”</a><br />
<br />
ここの中を読んでると、以下の対応方法がリンクされてて、#post5  の通りやったらエラー回避できた。<br />
<br />
<a title="[ubuntu] apt-get upgrade fails for 8.04.1 Server - Ubuntu Forums" href="http://ubuntuforums.org/showthread.php?p=6558942">[ubuntu] apt-get upgrade fails for 8.04.1 Server &#8211; Ubuntu Forums</a><br />
<br />
方法は、まんま書いてある通りだが、<br />
<ol>
	<li><!-- BODY { FONT-FAMILY:桃花丸ゴシックL; FONT-SIZE:10pt } P { FONT-FAMILY:桃花丸ゴシックL; FONT-SIZE:10pt } DIV { FONT-FAMILY:桃花丸ゴシックL; FONT-SIZE:10pt } TD { FONT-FAMILY:桃花丸ゴシックL; FONT-SIZE:10pt } --><span style="font-family: monospace;">% vim /home/suvene/local/lib/perl5/Errno.pm</span><span style="font-family: monospace;">11~13行目のエラー吐いてる箇所をコメントアウト</span><br />
<pre>11 #"$Config{'archname'}-$Config{'osvers'}" eq
12 #"i486-linux-gnu-thread-multi-2.6.24-14-server" or
13 #    die "Errno architecture (i486-linux-gnu-thread-multi-2.6.24-14-server) does not match executable architecture ($Config{'arch    name'}-$Config{'osvers'})";</pre>
</li>
	<li><span style="font-family: monospace;">% sudo synaptic(GUI の使える環境で)</span><br />
全てアップグレードした後閉じる。(念のため reboot したほうがよいかも?)</li>
	<li>% cpan -f Errno(もしくはコメントアウトした箇所を元に戻す)</li>
</ol>
以上で完了。<br />
<br />
何のエラーだか詳しくよくわからんかったのだが、とりあえず ok？<br />
<h4>Links</h4>
<ul>
	<li><a title="Bug #316013 in util-linux (Ubuntu): “apt-get dist-upgrade failed - architecture (i486-linux-gnu-thread-multi-2.6.15.7) does not match executable architecture (i486-linux-gnu-thread-multi-2.6.24-14-server)”" href="https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/316013">Bug #316013 in util-linux (Ubuntu): “apt-get dist-upgrade failed &#8211; architecture (i486-linux-gnu-thread-multi-2.6.15.7) does not match executable architecture (i486-linux-gnu-thread-multi-2.6.24-14-server)”</a></li>
	<li><a title="[ubuntu] apt-get upgrade fails for 8.04.1 Server - Ubuntu Forums" href="http://ubuntuforums.org/showthread.php?p=6558942">[ubuntu] apt-get upgrade fails for 8.04.1 Server &#8211; Ubuntu Forums</a></li>
</ul><!-- rakuten_ad_target_end --><!-- google_ad_section_end --><br />
<br><div>
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/11/02 */
google_ad_slot = "3456326943";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div class="topsy_widget_shortcode topsy_theme_brick-red" style="background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F24%252Fubuntu-perl-error-when-upgrade.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22ubuntu%20%E3%81%AE%20perl%20update%20%E3%81%A7%20git-svn%20%E3%82%84%E3%82%89%E3%81%8C%E3%82%A8%E3%83%A9%E3%83%BC%EF%BC%88%E3%81%A7%E3%81%9F%E3%81%AE%E3%81%A7%E5%9B%9E%E9%81%BF%E4%BF%AE%E6%AD%A3%29%22%20%7D);"></div>
</p>

]]></content:encoded>
			<wfw:commentRss>http://d.zeromemory.info/2009/01/24/ubuntu-perl-error-when-upgrade.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://d.zeromemory.info/2009/01/24/ubuntu-perl-error-when-upgrade.html" />
	</item>
		<item>
		<title>情報をまとめるのは誰の役目か</title>
		<link>http://d.zeromemory.info/2009/01/12/who-brings-info.html</link>
		<comments>http://d.zeromemory.info/2009/01/12/who-brings-info.html#comments</comments>
		<pubDate>Mon, 12 Jan 2009 12:27:47 +0000</pubDate>
		<dc:creator>suVene</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Vimperator]]></category>

		<guid isPermaLink="false">http://d.zeromemory.info/?p=646</guid>
		<description><![CDATA[







twitterをみていると気になる発言があったのでメモ。

誰かーVimperator2.0の情報まとめてーたすけてー 


@anekos プラグイン作った時にさ、ブログに書かないでWikiかはてなキー [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F12%252Fwho-brings-info.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%E6%83%85%E5%A0%B1%E3%82%92%E3%81%BE%E3%81%A8%E3%82%81%E3%82%8B%E3%81%AE%E3%81%AF%E8%AA%B0%E3%81%AE%E5%BD%B9%E7%9B%AE%E3%81%8B%22%20%7D);"></div>
<p>
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/01/10 */
google_ad_slot = "4380003246";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- google_ad_section_start --><!-- rakuten_ad_target_begin -->twitterをみていると気になる発言があったのでメモ。<br />
</p>
<blockquote><p><span class="entry-content"><a href="http://twitter.com/hazime1373/status/1112824706">誰かーVimperator2.0の情報まとめてーたすけてー </a><br />
</span><br />
<br />
<span class="entry-content" style="display: block;">@<a href="http://twitter.com/anekos">anekos</a> <a href="http://twitter.com/hazime1373/status/1112831403">プラグイン作った時にさ、ブログに書かないでWikiかはてなキーワードで説明とかして貰いたいんですよね。んで簡単な説明をくわえたそのリンクを、pl ugin_list的なものに加える </a><br />
</span><br />
<br />
<span class="entry-content" style="display: block;"><a href="http://twitter.com/hazime1373/status/1112839513">説明が重要なんじゃなくてそれをまとめることが重要なのだ。今pluginが一体いくつある。それに伴う設定 項目がいくつある </a><br />
</span><br />
<br />
<a href="http://twitter.com/hazime1373/status/1112853454"><span class="entry-content">pluginが100とか越える前に何かすべきだったと思うよ。 </span></a><br />
<br />
<a href="http://twitter.com/hazime1373/status/1112853454"><span class="entry-content">俺の意見てかクレームをまとめると、情報を集中させろブログに分散すんな俺が死ぬってことである。 </span></a><br />
<br />
<span class="entry-content">@janus_wel <a href="http://twitter.com/hazime1373/status/1112861037">それぞれのブログに説明やら何やらあるとまとめにくいので、プラグインを作った際には説明やら何やらはwiki等に書き、ブログにゃそのwikiへのリンクだけ貼ったほうがみんな後で調べやすい。</a></span><br />
<br />
<a href="http://twitter.com/hazime1373"><em>hazime1373 さんの twitter より</em></a><span class="entry-content"><br />
</span></p></blockquote>
<p>
もっともである。確かに、自分も vimperator を使い始めて間もないが、そのときに plugin の情報がまとまってれば便利だったろうし、各ブログではなく、wiki など一元化されていれば情報収集も早かったろう。現に、自分で plugin を作成する時は、id:teramako さんによる <a title="Vimperator - livedoor Wiki（ウィキ）" href="http://wiki.livedoor.jp/shin_yan/">まとめページ</a><span class="entry-content">にはずいぶん助けられた。</span><br />
<br />
しかしながら、自分が plugin を作るうえで、「ブログに書かずに wiki に書くべき」と意見には、個人的には賛同しにくい。理由は幾つかあるが<br />
<ul>
	<li> 好きで作っている plugin の説明を強制されたくない。(でも、書きたくないというわけでもない)</li>
	<li> はてな記法しらない。(というか、はてな民じゃなくてもキーワード編集できたっけ？)</li>
	<li> plugin のソースの中に usage 含め、ある程度説明を書いてある。</li>
	<li> ソースの中の説明は、pluginManager.js という plugin を入れて :pluginhelp -v XXXX とすることで、ある程度わかるようにしてある。</li>
</ul>
そんな感じか。<br />
<br />
でもまぁ、id: hazime1373 さんの意見には、そこそこ賛成なので、「vimperator plugin まとめ情報」なる場所を id:hazime1373 さん自身がまず用意し、 plugin 利用してみて理解した plugin の概要、設定しなければならない情報、気をつけなければならない点などをまとめてみてはどうか。plugin のまとめ情報を作成するのは、「その作者自身」という決まりはないはず。<br />
<br />
そのようなことをしていれば、plugin 作者やその他賛同者により一元化された情報も蓄積されていく可能性もあるのではないかと思う。<br />
<h3>Links</h3>
<ul>
	<li> <a title="Vimperator - livedoor Wiki（ウィキ）" href="http://wiki.livedoor.jp/shin_yan/">Vimperator &#8211; livedoor Wiki（ウィキ）</a> <a title="はてなブックマーク数" href="http://b.hatena.ne.jp/entry/http://wiki.livedoor.jp/shin_yan/"><img title="はてなブックマーク数" src="http://b.hatena.ne.jp/entry/image/http://wiki.livedoor.jp/shin_yan /" border="0" alt="はてなブックマーク数" /></a></li>
</ul><!-- rakuten_ad_target_end --><!-- google_ad_section_end --><br />
<br><div>
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/11/02 */
google_ad_slot = "3456326943";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div class="topsy_widget_shortcode topsy_theme_brick-red" style="background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F12%252Fwho-brings-info.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%E6%83%85%E5%A0%B1%E3%82%92%E3%81%BE%E3%81%A8%E3%82%81%E3%82%8B%E3%81%AE%E3%81%AF%E8%AA%B0%E3%81%AE%E5%BD%B9%E7%9B%AE%E3%81%8B%22%20%7D);"></div>
</p>

]]></content:encoded>
			<wfw:commentRss>http://d.zeromemory.info/2009/01/12/who-brings-info.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://d.zeromemory.info/2009/01/12/who-brings-info.html" />
	</item>
		<item>
		<title>[gisty][Ubuntu]Gistyインストールから利用までの道のりメモ</title>
		<link>http://d.zeromemory.info/2009/01/05/install-gisty.html</link>
		<comments>http://d.zeromemory.info/2009/01/05/install-gisty.html#comments</comments>
		<pubDate>Sun, 04 Jan 2009 16:58:14 +0000</pubDate>
		<dc:creator>suVene</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://d.zeromemory.info/2009/01/05/gistyubuntsugisty%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%8b%e3%82%89%e5%88%a9%e7%94%a8%e3%81%be%e3%81%a7%e3%81%ae%e9%81%93%e3%81%ae%e3%82%8a%e3%83%a1%e3%83%a2.html</guid>
		<description><![CDATA[







Gist というサービスがあって、これは GitHub にプロジェクトとしてあげるまでもないけれど、Snippet 的なプログラムや、使いまわしの聞く関数などをちょこっと貼り付ける時に便利だ。

で、たま [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F05%252Finstall-gisty.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5Bgisty%5D%5BUbuntu%5DGisty%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%8B%E3%82%89%E5%88%A9%E7%94%A8%E3%81%BE%E3%81%A7%E3%81%AE%E9%81%93%E3%81%AE%E3%82%8A%E3%83%A1%E3%83%A2%22%20%7D);"></div>
<p>
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/01/10 */
google_ad_slot = "4380003246";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- google_ad_section_start --><!-- rakuten_ad_target_begin --><a href="http://gist.github.com/" title="Gist - GitHub">Gist</a> というサービスがあって、これは <a href="http://github.com/" title=" GitHub">GitHub</a> にプロジェクトとしてあげるまでもないけれど、Snippet 的なプログラムや、使いまわしの聞く関数などをちょこっと貼り付ける時に便利だ。<br />
<br />
で、たまーに使うのだが、いちいち Webサイト開いてコード貼り付けるのも手間だしいい方法はないかと思ってたら、<a href="http://d.hatena.ne.jp/swdyh/20081207/1228655198" title="Gisty">Gisty</a> なるツールがあるらしいので、インストールしてみることにした。<br />
その際、ちょっとインストールに手こずったので、ここにメモしておく。<br />
<br />
利用環境は、VMWare &#8211; Ubuntu 8.0.4(hardy)。Ruby 環境無し。<br />
<br />
まずは、公式にあるように、<br />
<pre class="code">$ gem install nokogiri
$ gem install swdyh-gisty
</pre>
するのだが、その前に gem をインストールする環境がないので、以下のコマンドでインストール。<br />
<pre class="code">$ sudo apt-get install rubygems
</pre>
で、gem の取得先の追加として<br />
<pre class="code">gem sources -a http://gems.github.com
</pre>
しようとしたのだが、<br />
<pre class="code">Bulk updating Gem source index for: http://gems.rubyforge.org
</pre>
という表示のままやたらと時間がかかる。というか、20分ほど待っても帰ってこない。動作もすごく遅くなったので、free でメモリみたら、完全にメモリ食いつぶして swap いっぱいになってた。ググってみると<a href="http://d.hatena.ne.jp/gnarl/20071002/1191325610" title="">同じような症状</a>が出ている人がいたので、VM のメモリを 256M → 512M に変更。<br />
すると今度は、すぐに更新完了。<br />
<br />
でようやく nokogiri とやらをインストールしようとしたら何らかのエラーがでたので(メモるの忘れた)、rubygems 自身の update をすることにした。<br />
<pre class="code">$ gem update --system
</pre>
すると今度は、update 自体がエラーになる。<br />
<pre class="code">/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)
</pre>
これもまたググってみると<a href="http://d.hatena.ne.jp/bottleneck/20080112/1200135756" title="どんぴしゃ">どんぴしゃ</a>なエントリが。なんかよくわからんが、とりあえず書いてあるままに、以下のようにファイルを編集。<br />
<pre class="code">$ vim /usr/bin/gem
10行目あたり(require 'rubygems' の下)
+ require 'rubygems/gem_runner'
</pre>
これで update は完了。<br />
<pre class="code">$ gem -v
$ 1.3.1
</pre>
<br />
改めて nokogiri をインストールしようとして、さっきよりも進んだのだが、今度は以下のエラーが。<br />
<pre class="code">Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Gem::Installer::ExtensionBuildError)
    ERROR: Failed to build gem native extension.

ruby extconf.rb install nokogiri
extconf.rb:3:in `require': no such file to load -- mkmf (LoadError)
        from extconf.rb:3
</pre>
どうやらこれは、makefile を作成する為のパッケージらしくて、これもまたググってみると ruby-dev 的なものを入れなければならないらしい。という訳で、以下のように。<br />
<pre class="code">$ sudo apt-get install ruby1.8-dev
</pre>
で、nokogiri を(ry で、またしてもエラー。<br />
<pre class="code">ERROR:  Error installing nokogiri:
        ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb install nokogiri
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... no
checking for exsltFuncRegister() in -lexslt... no
checking for #include <libxml/xmlversion.h>
... yes
checking for #include <libxslt/xslt.h>
... no
need libxslt
</pre>
まぁ、見るからにライブラリがないといってるので、以下のようにしてライブラリ追加。<br />
<pre class="code">$ sudo apt-get libxslt-dev
</pre>
するとなんか怒られた。<br />
<pre class="code">libxslt-dev は以下のパッケージで提供されている仮想パッケージです:
  libxslt1-dev 1.1.22-1ubuntu1.2
インストールするパッケージを明示的に選択する必要があります。
</pre>
という訳で、言われるがままにインストールしなおし。<br />
<pre class="code">$ sudo apt-get libxslt1-dev
</pre>
<br />
これでやっと nokogiri のインストール成功。<br />
<pre class="code">$ sudo gem install nokogiri
/usr/bin/gem:11:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.1.0
1 gem installed
Installing ri documentation for nokogiri-1.1.0...
Installing RDoc documentation for nokogiri-1.1.0...
</pre>
<br />
続いて、Gisty をインストール。これはすんなり成功。<br />
<pre class="code">$ sudo gem install swdyh-gisty
/usr/bin/gem:11:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
Successfully installed swdyh-gisty-0.0.10
1 gem installed
Installing ri documentation for swdyh-gisty-0.0.10...
Installing RDoc documentation for swdyh-gisty-0.0.10...
</pre>
<br />
これでやっと使える環境になった。実際に post する前に、初期設定が必要なのでそのようにする。<br />
<pre class="code">$ export GISTY_DIR="$HOME/dev/gisty"
$ git config --global github.user your_id
$ git config --global github.token your_token
</pre>
この辺は、RCファイルに書くなり、.gitconfig に設定するなりしてもよい。<br />
<br />
ここまで来てやっと目的のポスト。<br />
<pre class="code">$ gisty post filename
</pre>
<br />
そうすると、このファイルを post すると同時に、先ほど export した GISTY_DIR に clone した状態にしてくれる。<br />
<pre class="code">$ gisty post use1.7.user.js
Initialized empty Git repository in /home/suvene/dev/gisty/43073/.git/
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
</pre>
この、<strong>43073</strong>ってのが、gist の post の sequence で、この名前のディレクトリが、GISTY_DIR 以下に作成されている。(post したファイル自身はもういらない)<br />
後は、普通に git を使うように利用するだけ。<br />
<br />
便利なのは、<br />
<pre class="code">$ gisty sync
</pre>
とするだけで、今までポストした内容も clone してくれるということ。<br />
<pre class="code">$ gisty list
</pre>
とすると、実際のファイル名を見ることができるので、post番号?でわかりにくくても安心。<br />
他の詳細なコマンドは、公式のページをみること。<br />
<br />
以上、終わり。<br />
Gisty 素晴らしス。<br />
<br />
<br />
<h4>Links</h4>
  &#8211; <a href="http://gist.github.com/" title="Gist - GitHub">Gist &#8211; GitHub</a> <a href="http://b.hatena.ne.jp/entry/http://gist.github.com/" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://gist.github.com/" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
  &#8211; <a href="http://d.hatena.ne.jp/swdyh/20081207/1228655198" title="gistコマンドよりちょっと便利なgisty - SWDYH">gistコマンドよりちょっと便利なgisty &#8211; SWDYH</a> <a href="http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/swdyh/20081207/1228655198" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://d.hatena.ne.jp/swdyh/20081207/1228655198" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
  &#8211; <a href="http://mattn.kaoriya.net/software/20081216103329.htm" title="Big Sky :: Gistyで始めるGist/Githubのススメ">Big Sky :: Gistyで始めるGist/Githubのススメ</a> <a href="http://b.hatena.ne.jp/entry/http://mattn.kaoriya.net/software/20081216103329.htm" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://mattn.kaoriya.net/software/20081216103329.htm" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
  &#8211; <a href="http://github.com/" title="Secure Git hosting and collaborative development - GitHub">Secure Git hosting and collaborative development &#8211; GitHub</a> <a href="http://b.hatena.ne.jp/entry/http://github.com/" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://github.com/" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<br />
 <h4>Trouble shooting</h4>
 &#8211; <a href="http://d.hatena.ne.jp/gnarl/20071002/1191325610" title="rubygemsが猛烈に重い on colinux - gnarl、技術メモ%s&lt;marquee&gt;">rubygemsが猛烈に重い on colinux &#8211; gnarl、技術メモ’”%s&lt;marquee&gt;￥</a> <a href="http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/gnarl/20071002/1191325610" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://d.hatena.ne.jp/gnarl/20071002/1191325610" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
  &#8211; <a href="http://d.hatena.ne.jp/bottleneck/20080112/1200135756" title="Ubuntuでrubygemsを1.0.1にudpateしたら\"uninitialized constant Gem::GemRunner(NameError)\"のエラー - iビジネス&#038;テクノロジー">Ubuntuでrubygemsを1.0.1にudpateしたら&#8221;uninitialized constant Gem::GemRunner(NameError)&#8221;のエラー &#8211; iビジネス&#038;テクノロジー</a> <a href="http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/bottleneck/20080112/1200135756" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://d.hatena.ne.jp/bottleneck/20080112/1200135756" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<a href="http://gist.github.com/" title="Gist - GitHub">Gist</a> というサービスがあって、これは <a href="http://github.com/" title=" GitHub">GitHub</a> にプロジェクトとしてあげるまでもないけれど、Snippet 的なプログラムや、使いまわしの聞く関数などをちょこっと貼り付ける時に便利だ。<br />
<br />
で、たまーに使うのだが、いちいち Webサイト開いてコード貼り付けるのも手間だしいい方法はないかと思ってたら、<a href="http://d.hatena.ne.jp/swdyh/20081207/1228655198" title="Gisty">Gisty</a> なるツールがあるらしいので、インストールしてみることにした。<br />
その際、ちょっとインストールに手こずったので、ここにメモしておく。<br />
<br />
利用環境は、VMWare &#8211; Ubuntu 8.0.4(hardy)。Ruby 環境無し。<br />
<br />
まずは、公式にあるように、<br />
<pre class="code">$ gem install nokogiri
$ gem install swdyh-gisty
</pre>
するのだが、その前に gem をインストールする環境がないので、以下のコマンドでインストール。<br />
<pre class="code">$ sudo apt-get install rubygems
</pre>
で、gem の取得先の追加として<br />
<pre class="code">gem sources -a http://gems.github.com
</pre>
しようとしたのだが、<br />
<pre class="code">Bulk updating Gem source index for: http://gems.rubyforge.org
</pre>
という表示のままやたらと時間がかかる。というか、20分ほど待っても帰ってこない。動作もすごく遅くなったので、free でメモリみたら、完全にメモリ食いつぶして swap いっぱいになってた。ググって見ると<a href="http://d.hatena.ne.jp/gnarl/20071002/1191325610" title="rubygemsが猛烈に重い on colinux - gnarl、技術メモ%s<marquee>&#8220;>同じような症状</a>が出ている人がいたので、VM のメモリを 256M → 512M に変更。<br />
すると今度は、すぐに更新完了。<br />
<br />
でようやく nokogiri とやらをインストールしようとしたら何らかのエラーがでたので(メモるの忘れた)、rubygems 自身の update をすることにした。<br />
<pre class="code">$ gem update --system
</pre>
すると今度は、update 自体がエラーになる。<br />
<pre class="code">/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)
</pre>
これもまたググってみると<a href="http://d.hatena.ne.jp/bottleneck/20080112/1200135756" title="どんぴしゃ">どんぴしゃ</a>なエントリが。なんかよくわからんが、とりあえず書いてあるままに、以下のようにファイルを編集。<br />
<pre class="code">$ vim /usr/bin/gem
10行目あたり(require 'rubygems' の下)
+ require 'rubygems/gem_runner'
</pre>
これで update は完了。<br />
<pre class="code">$ gem -v
$ 1.3.1
</pre>
<br />
改めて nokogiri をインストールしようとして、さっきよりも進んだのだが、今度は以下のエラーが。<br />
<pre class="code">Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Gem::Installer::ExtensionBuildError)
    ERROR: Failed to build gem native extension.

ruby extconf.rb install nokogiri
extconf.rb:3:in `require': no such file to load -- mkmf (LoadError)
        from extconf.rb:3
</pre>
どうやらこれは、makefile を作成する為のパッケージらしくて、これもまたググってみると ruby-dev 的なものを入れなければならないらしい。という訳で、以下のように。<br />
<pre class="code">$ sudo apt-get install ruby1.8-dev
</pre>
で、nokogiri を(ry で、またしてもエラー。<br />
<pre class="code">ERROR:  Error installing nokogiri:
        ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb install nokogiri
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... no
checking for exsltFuncRegister() in -lexslt... no
checking for #include <libxml/xmlversion.h>
... yes
checking for #include <libxslt/xslt.h>
... no
need libxslt
</pre>
まぁ、見るからにライブラリがないといってるので、以下のようにしてライブラリ追加。<br />
<pre class="code">$ sudo apt-get libxslt-dev
</pre>
するとなんか怒られた。<br />
<pre class="code">libxslt-dev は以下のパッケージで提供されている仮想パッケージです:
  libxslt1-dev 1.1.22-1ubuntu1.2
インストールするパッケージを明示的に選択する必要があります。
</pre>
という訳で、言われるがままにインストールしなおし。<br />
<pre class="code">$ sudo apt-get libxslt1-dev
</pre>
<br />
これでやっと nokogiri のインストール成功。<br />
<pre class="code">$ sudo gem install nokogiri
/usr/bin/gem:11:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.1.0
1 gem installed
Installing ri documentation for nokogiri-1.1.0...
Installing RDoc documentation for nokogiri-1.1.0...
</pre>
<br />
続いて、Gisty をインストール。これはすんなり成功。<br />
<pre class="code">$ sudo gem install swdyh-gisty
/usr/bin/gem:11:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
Successfully installed swdyh-gisty-0.0.10
1 gem installed
Installing ri documentation for swdyh-gisty-0.0.10...
Installing RDoc documentation for swdyh-gisty-0.0.10...
</pre>
<br />
これでやっと使える環境になった。実際に post する前に、初期設定が必要なのでそのようにする。<br />
<pre class="code">$ export GISTY_DIR="$HOME/dev/gisty"
$ git config --global github.user your_id
$ git config --global github.token your_token
</pre>
この辺は、RCファイルに書くなり、.gitconfig に設定するなりしてもよい。<br />
<br />
ここまで来てやっと目的のポスト。<br />
<pre class="code">$ gisty post filename
</pre>
<br />
そうすると、このファイルを post すると同時に、先ほど export した GISTY_DIR に clone した状態にしてくれる。<br />
<pre class="code">$ gisty post use1.7.user.js
Initialized empty Git repository in /home/suvene/dev/gisty/43073/.git/
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
</pre>
この、<strong>43073</strong>ってのが、gist の post の sequence で、この名前のディレクトリが、GISTY_DIR 以下に作成されている。(post したファイル自身はもういらない)<br />
後は、普通に git を使うように利用するだけ。<br />
<br />
便利なのは、<br />
<pre class="code">$ gisty sync
</pre>
とするだけで、今までポストした内容も clone してくれるということ。<br />
<pre class="code">$ gisty list
</pre>
とすると、実際のファイル名を見ることができるので、post番号?でわかりにくくても安心。<br />
他の詳細なコマンドは、公式のページをみること。<br />
<br />
以上、終わり。<br />
Gisty 素晴らしス。<br />
<br />
<br />
<h4>Links</h4>
  &#8211; <a href="http://gist.github.com/" title="Gist - GitHub">Gist &#8211; GitHub</a> <a href="http://b.hatena.ne.jp/entry/http://gist.github.com/" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://gist.github.com/" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
  &#8211; <a href="http://d.hatena.ne.jp/swdyh/20081207/1228655198" title="gistコマンドよりちょっと便利なgisty - SWDYH">gistコマンドよりちょっと便利なgisty &#8211; SWDYH</a> <a href="http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/swdyh/20081207/1228655198" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://d.hatena.ne.jp/swdyh/20081207/1228655198" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
  &#8211; <a href="http://mattn.kaoriya.net/software/20081216103329.htm" title="Big Sky :: Gistyで始めるGist/Githubのススメ">Big Sky :: Gistyで始めるGist/Githubのススメ</a> <a href="http://b.hatena.ne.jp/entry/http://mattn.kaoriya.net/software/20081216103329.htm" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://mattn.kaoriya.net/software/20081216103329.htm" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
  &#8211; <a href="http://github.com/" title="Secure Git hosting and collaborative development - GitHub">Secure Git hosting and collaborative development &#8211; GitHub</a> <a href="http://b.hatena.ne.jp/entry/http://github.com/" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://github.com/" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<br />
 <h4>Trouble shooting</h4>
 &#8211; <a href="http://d.hatena.ne.jp/gnarl/20071002/1191325610" title="rubygemsが猛烈に重い on colinux - gnarl、技術メモ%s&lt;marquee&gt;">rubygemsが猛烈に重い on colinux &#8211; gnarl、技術メモ’”%s&lt;marquee&gt;￥</a> <a href="http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/gnarl/20071002/1191325610" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://d.hatena.ne.jp/gnarl/20071002/1191325610" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
  &#8211; <a href="http://d.hatena.ne.jp/bottleneck/20080112/1200135756" title="Ubuntuでrubygemsを1.0.1にudpateしたら\"uninitialized constant Gem::GemRunner(NameError)\"のエラー - iビジネス&#038;テクノロジー">Ubuntuでrubygemsを1.0.1にudpateしたら&#8221;uninitialized constant Gem::GemRunner(NameError)&#8221;のエラー &#8211; iビジネス&#038;テクノロジー</a> <a href="http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/bottleneck/20080112/1200135756" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://d.hatena.ne.jp/bottleneck/20080112/1200135756" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
  &#8211; <a href="http://blog.goo.ne.jp/yotty2008/e/42ee0fbac7ec8f8bb7d6763aa9ece781" title="諸々インストール - Fly me to the moon...（provisional）">諸々インストール &#8211; Fly me to the moon&#8230;（provisional）</a> <a href="http://b.hatena.ne.jp/entry/http://blog.goo.ne.jp/yotty2008/e/42ee0fbac7ec8f8bb7d6763aa9ece781" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://blog.goo.ne.jp/yotty2008/e/42ee0fbac7ec8f8bb7d6763aa9ece781" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<br />
<!-- rakuten_ad_target_end --><!-- google_ad_section_end --><br />
<br><div>
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/11/02 */
google_ad_slot = "3456326943";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div class="topsy_widget_shortcode topsy_theme_brick-red" style="background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F05%252Finstall-gisty.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5Bgisty%5D%5BUbuntu%5DGisty%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%8B%E3%82%89%E5%88%A9%E7%94%A8%E3%81%BE%E3%81%A7%E3%81%AE%E9%81%93%E3%81%AE%E3%82%8A%E3%83%A1%E3%83%A2%22%20%7D);"></div>
</p>

]]></content:encoded>
			<wfw:commentRss>http://d.zeromemory.info/2009/01/05/install-gisty.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://d.zeromemory.info/2009/01/05/install-gisty.html" />
	</item>
		<item>
		<title>[Greasemonkey]はてブのページのコメント無しを非表示にするぐりもん</title>
		<link>http://d.zeromemory.info/2009/01/01/hatebu-filtter-nocomments.html</link>
		<comments>http://d.zeromemory.info/2009/01/01/hatebu-filtter-nocomments.html#comments</comments>
		<pubDate>Thu, 01 Jan 2009 08:39:29 +0000</pubDate>
		<dc:creator>suVene</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Greasemonkey]]></category>
		<category><![CDATA[Vimperator]]></category>

		<guid isPermaLink="false">http://d.zeromemory.info/2009/01/01/greasemonkey%e3%81%af%e3%81%a6%e3%83%96%e3%81%ae%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ae%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e7%84%a1%e3%81%97%e3%82%92%e9%9d%9e%e8%a1%a8%e7%a4%ba%e3%81%ab%e3%81%99.html</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F01%252Fhatebu-filtter-nocomments.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5BGreasemonkey%5D%E3%81%AF%E3%81%A6%E3%83%96%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E7%84%A1%E3%81%97%E3%82%92%E9%9D%9E%E8%A1%A8%E7%A4%BA%E3%81%AB%E3%81%99%E3%82%8B%E3%81%90%E3%82%8A%E3%82%82%E3%82%93%22%20%7D);"></div>
<p>
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/01/10 */
google_ad_slot = "4380003246";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- google_ad_section_start --><!-- rakuten_ad_target_begin -->ささっとはてブのページとか見たいときに、ほってんとりとかだとコメントのないブクマの表示のせいで一覧しにくいので、勝手に非表示にするグリモン書いた。<br />
<br />
<a href="http://coderepos.org/share/browser/lang/javascript/userscripts/hatena/hatebu_filter_nocomments.user.js?" title="/lang/javascript/userscripts/hatena/hatebu_filter_nocomments.user.js &#8211; CodeRepos::Share &#8211; Trac">/lang/javascript/userscripts/hatena/hatebu_filter_nocomments.user.js &#8211; CodeRepos::Share &#8211; Trac</a> <a href="http://b.hatena.ne.jp/entry/http://coderepos.org/share/browser/lang/javascript/userscripts/hatena/hatebu_filter_nocomments.user.js?" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://coderepos.org/share/browser/lang/javascript/userscripts/hatena/hatebu_filter_nocomments.user.js?" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<br />
<strong>before</strong><br />
<a href="http://zeromemory.sakura.ne.jp/sblo_files/zeromemory/image/20090101_1.png" rel="lightbox"><img src="http://zeromemory.sakura.ne.jp/sblo_files/zeromemory/image/20090101_1.png" width="455" height="322" border="0" align="" alt="20090101_1.png" /></a><br />
<br />
↓<br />
<br />
<strong>after</strong><br />
<a href="http://zeromemory.sakura.ne.jp/sblo_files/zeromemory/image/20090101_2.png" rel="lightbox"><img src="http://zeromemory.sakura.ne.jp/sblo_files/zeromemory/image/20090101_2.png" width="455" height="337" border="0" align="" alt="20090101_2.png" /></a><br />
<br />
<br />
「show all comments」を押すことで切替可能。<br />
便利。<br />
<br />
<h4>追記</h4>
- vimperator-plugin の sbmcommentsviewer.js も設定できるようにした。<br />
<a href="http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/sbmcommentsviewer.js" title="/lang/javascript/vimperator-plugins/trunk/sbmcommentsviewer.js &#8211; CodeRepos::Share &#8211; Trac">/lang/javascript/vimperator-plugins/trunk/sbmcommentsviewer.js &#8211; CodeRepos::Share &#8211; Trac</a> <a href="http://b.hatena.ne.jp/entry/http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/sbmcommentsviewer.js" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/sbmcommentsviewer.js" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<br />
<h4>Link</h4>
- <a href="http://coderepos.org/share/browser/lang/javascript/userscripts/hatena/hatebu_filter_nocomments.user.js?" title="/lang/javascript/userscripts/hatena/hatebu_filter_nocomments.user.js &#8211; CodeRepos::Share &#8211; Trac">/lang/javascript/userscripts/hatena/hatebu_filter_nocomments.user.js &#8211; CodeRepos::Share &#8211; Trac</a> <a href="http://b.hatena.ne.jp/entry/http://coderepos.org/share/browser/lang/javascript/userscripts/hatena/hatebu_filter_nocomments.user.js?" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://coderepos.org/share/browser/lang/javascript/userscripts/hatena/hatebu_filter_nocomments.user.js?" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<br />
<!-- rakuten_ad_target_end --><!-- google_ad_section_end --><br />
<br><div>
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/11/02 */
google_ad_slot = "3456326943";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div class="topsy_widget_shortcode topsy_theme_brick-red" style="background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F01%252Fhatebu-filtter-nocomments.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5BGreasemonkey%5D%E3%81%AF%E3%81%A6%E3%83%96%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E7%84%A1%E3%81%97%E3%82%92%E9%9D%9E%E8%A1%A8%E7%A4%BA%E3%81%AB%E3%81%99%E3%82%8B%E3%81%90%E3%82%8A%E3%82%82%E3%82%93%22%20%7D);"></div>
</p>

]]></content:encoded>
			<wfw:commentRss>http://d.zeromemory.info/2009/01/01/hatebu-filtter-nocomments.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://d.zeromemory.info/2009/01/01/hatebu-filtter-nocomments.html" />
	</item>
		<item>
		<title>[vimperator]multi_requester.js, nextlink.js で wedata に接続できなくて困っている人向け</title>
		<link>http://d.zeromemory.info/2009/01/01/vimperator-wedata.html</link>
		<comments>http://d.zeromemory.info/2009/01/01/vimperator-wedata.html#comments</comments>
		<pubDate>Thu, 01 Jan 2009 01:00:17 +0000</pubDate>
		<dc:creator>suVene</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Vimperator]]></category>

		<guid isPermaLink="false">http://d.zeromemory.info/2009/01/01/vimperatormulti_requesterjs-nextlinkjs-%e3%81%a7-wedata-%e3%81%ab%e6%8e%a5%e7%b6%9a%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%8f%e3%81%a6%e5%9b%b0%e3%81%a3%e3%81%a6%e3%81%84%e3%82%8b%e4%ba%ba%e5%90%91.html</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F01%252Fvimperator-wedata.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5Bvimperator%5Dmulti_requester.js%2C%20nextlink.js%20%E3%81%A7%20wedata%20%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8F%E3%81%A6%E5%9B%B0%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E4%BA%BA%E5%90%91%E3%81%91%22%20%7D);"></div>
<p>
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/01/10 */
google_ad_slot = "4380003246";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- google_ad_section_start --><!-- rakuten_ad_target_begin -->wedata が不調のようで、いまだに繋がらないようだが、multi_requester.js も、nextlink.js も、一応ローカルにデータをキャッシュする仕組みを用意している。<br />
<br />
そのバージョンを導入していて、運良く 1度でも wedata に接続できた人は、これらの plugin を利用できているだろうが、そうでない人で困っている人向けにキャッシュ用ファイル置いておく。<br />
<br />
どちらも、2.0pre 用なのだが、12/20以前か、以降かでキャッシュを保存する場所が異なる。利用する場合は、_libly.js, multi_requester.js, nextlink.js 共に最新 version にしておく方がよい。<br />
<br />
<h4>2008/12/20 18:34 以前の場合</h4>
firefox の prefs.js にデータが保存される。以下の内容を、直接 prefs.js に追加するか、user.js に書いてもいけるかも？<br />
<a href="http://zeromemory.info/misc/wedata/prefs.js" title="">prefs.js</a> <a href="http://b.hatena.ne.jp/entry/http://zeromemory.info/misc/wedata/prefs.js" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://zeromemory.info/misc/wedata/prefs.js" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<br />
<h4>2008/12/20 18:34 以降の場合</h4>
<strong>runtimepath/info/{profile}/</strong> 以下に、以下の二つのファイルを置けば OK なはず。<br />
(ファイル名はそれぞれのリンクのテキストと同じようにする)<br />
<a href="http://zeromemory.info/misc/wedata/plugins-libly-wedata-AutoPagerize-items" title="">plugins-libly-wedata-AutoPagerize-items</a> <a href="http://b.hatena.ne.jp/entry/http://zeromemory.info/misc/wedata/plugins-libly-wedata-AutoPagerize-items" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://zeromemory.info/misc/wedata/plugins-libly-wedata-AutoPagerize-items" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<a href="http://zeromemory.info/misc/wedata/plugins-libly-wedata-Multi%2520Requester-items" title="">plugins-libly-wedata-Multi%20Requester-items</a> <a href="http://b.hatena.ne.jp/entry/http://zeromemory.info/misc/wedata/plugins-libly-wedata-Multi%2520Requester-items" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://zeromemory.info/misc/wedata/plugins-libly-wedata-Multi%2520Requester-items" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<br />
<br />
<br />
<br />
<!-- rakuten_ad_target_end --><!-- google_ad_section_end --><br />
<br><div>
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/11/02 */
google_ad_slot = "3456326943";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div class="topsy_widget_shortcode topsy_theme_brick-red" style="background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2009%252F01%252F01%252Fvimperator-wedata.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5Bvimperator%5Dmulti_requester.js%2C%20nextlink.js%20%E3%81%A7%20wedata%20%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8F%E3%81%A6%E5%9B%B0%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E4%BA%BA%E5%90%91%E3%81%91%22%20%7D);"></div>
</p>

]]></content:encoded>
			<wfw:commentRss>http://d.zeromemory.info/2009/01/01/vimperator-wedata.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://d.zeromemory.info/2009/01/01/vimperator-wedata.html" />
	</item>
		<item>
		<title>[vimperator]Growl風通知 plugin(天気予報, はてなボトル, Twitter, Wassr)</title>
		<link>http://d.zeromemory.info/2008/12/30/vimperator-plugin-growl.html</link>
		<comments>http://d.zeromemory.info/2008/12/30/vimperator-plugin-growl.html#comments</comments>
		<pubDate>Tue, 30 Dec 2008 11:51:21 +0000</pubDate>
		<dc:creator>suVene</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Vimperator]]></category>

		<guid isPermaLink="false">http://d.zeromemory.info/2008/12/30/vimperatorgrowl%e9%a2%a8%e9%80%9a%e7%9f%a5-plugin%e5%a4%a9%e6%b0%97%e4%ba%88%e5%a0%b1-%e3%81%af%e3%81%a6%e3%81%aa%e3%83%9c%e3%83%88%e3%83%ab-twitter-wassr.html</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2008%252F12%252F30%252Fvimperator-plugin-growl.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5Bvimperator%5DGrowl%E9%A2%A8%E9%80%9A%E7%9F%A5%20plugin%28%E5%A4%A9%E6%B0%97%E4%BA%88%E5%A0%B1%2C%20%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%9C%E3%83%88%E3%83%AB%2C%20Twitter%2C%20Wassr%29%22%20%7D);"></div>
<p>
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/01/10 */
google_ad_slot = "4380003246";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- google_ad_section_start --><!-- rakuten_ad_target_begin -->Mac には、Growl つって色んなアプリケーションからイベントを通知してくれるアプリがある。Windows も Growl と API が共通なアプリがあるにはあるんだが、vimperator で実装してみた。(Growlとは非互換)<br />
<br />
まぁ、どれだけ天気予報が好きなんだって話なんだが。<br />
Twitter や Wassr のつぶやきが現れては消えてゆき、はてなボトルが海の藻屑になっていくのを眺めているのも面白い。<br />
<br />
実際の見た目はこんな感じ。<br />
<br />
<a href="http://zeromemory.sakura.ne.jp/sblo_files/zeromemory/image/20081230_1.png" rel="lightbox"><img src="http://zeromemory.sakura.ne.jp/sblo_files/zeromemory/image/20081230_1.png" width="500" height="527" border="0" align="" alt="20081230_1.png" /></a><br />
<br />
デフォルトでは 10秒 で消えるようになってる。<br />
<br />
アプリの構成は<br />
<pre class="code">
~/vimperator/plugin/_libly.js
notifier.js
notifier/growl.css
observer_growl.js
subject_hatelabo_bottle.js
subject_twitter_scraper.js
subject_wassr.js
subject_weather_yahoo.js
</pre>
みたいな感じで配置する。<br />
それぞれのファイルの役割は、<br />
<dl><dt>_libly.js</dt><dd>汎用ライブラリ</dd><dt>notifier.js</dt><dd>変更通知framework</dd><dt>growl.css</dt><dd>見た目</dd><dt>observer_growl.js</dt><dd>変更通知を受けて Growl 風に通知するplugin</dd><dt>subject_……</dt><dd>変更検知するplugin</dd></dl>
になってる。<br />
変更通知framework 自身のコマンドは、<strong>:notifierstart, :notifierrestart, :notifierstop</strong> がある。説明はそのままなので省略。<br />
注意点として、subject_twitter_scraper.js は事前にブラウザでログインが必要。API 叩いてもいいけど、他の Twitter Client との兼ね合いで制限にかかっちゃうのもアレだから。<br />
<br />
天気予報(subject_weather_yahoo.js)は、<a href="http://weather.yahoo.co.jp/weather/" title="Yahoo!天気情報">Yahoo!天気情報</a> のページで検索して、実際のピンポイント天気予報がある URL を以下のように設定する。<br />
<pre class="code">
liberator.globalVariables.subject_weather_yahoo_urls = [
'http://weather.yahoo.co.jp/weather/jp/27/6200/27127/5300001.html'
];
</pre>
<br />
実は、observer_growl.js も<br />
<pre class="code">
liberator.globalVariables.observer_growl_settings = {
'Hatelabo bottle': { life: 20, keyword: 'はてな' },
'Weather forecast by Yahoo!': { sticky: true },
'Wassr': { sticky: true }
};
</pre>
な感じで設定ができるんだけど、まだ life(消えるまでの時間) と、sticky(付箋のように×を押すまで張り付く) しか実装していない。<br />
<br />
そのうち気が向いたらするかもしないかも。<br />
<br />
<h4>追記</h4>
- 2008/12/30 23:04 twiter の通知はちょっと邪魔だ！<br />
<br />
<h4>links</h4>
- <a href="http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/notifier.js" title="/lang/javascript/vimperator-plugins/trunk/notifier.js - CodeRepos::Share - Trac">/lang/javascript/vimperator-plugins/trunk/notifier.js &#8211; CodeRepos::Share &#8211; Trac</a> <a href="http://b.hatena.ne.jp/entry/http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/notifier.js" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/notifier.js" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
- <a href="http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/notifier" title="/lang/javascript/vimperator-plugins/trunk/notifier - CodeRepos::Share - Trac">/lang/javascript/vimperator-plugins/trunk/notifier &#8211; CodeRepos::Share &#8211; Trac</a> <a href="http://b.hatena.ne.jp/entry/http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/notifier" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/notifier" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
- <a href="http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/_libly.js" title="/lang/javascript/vimperator-plugins/trunk/_libly.js - CodeRepos::Share - Trac">/lang/javascript/vimperator-plugins/trunk/_libly.js &#8211; CodeRepos::Share &#8211; Trac</a> <a href="http://b.hatena.ne.jp/entry/http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/_libly.js" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/_libly.js" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<br />
<!-- rakuten_ad_target_end --><!-- google_ad_section_end --><br />
<br><div>
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/11/02 */
google_ad_slot = "3456326943";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div class="topsy_widget_shortcode topsy_theme_brick-red" style="background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2008%252F12%252F30%252Fvimperator-plugin-growl.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5Bvimperator%5DGrowl%E9%A2%A8%E9%80%9A%E7%9F%A5%20plugin%28%E5%A4%A9%E6%B0%97%E4%BA%88%E5%A0%B1%2C%20%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%9C%E3%83%88%E3%83%AB%2C%20Twitter%2C%20Wassr%29%22%20%7D);"></div>
</p>

]]></content:encoded>
			<wfw:commentRss>http://d.zeromemory.info/2008/12/30/vimperator-plugin-growl.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://d.zeromemory.info/2008/12/30/vimperator-plugin-growl.html" />
	</item>
		<item>
		<title>[vimperator]pluginManager.js に最終Ver.チェックと plugin 更新機能追加(plugin 側に  追加が必要)</title>
		<link>http://d.zeromemory.info/2008/12/21/vimperator-update-pluginmanager.html</link>
		<comments>http://d.zeromemory.info/2008/12/21/vimperator-update-pluginmanager.html#comments</comments>
		<pubDate>Sun, 21 Dec 2008 08:48:54 +0000</pubDate>
		<dc:creator>suVene</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Vimperator]]></category>

		<guid isPermaLink="false">http://d.zeromemory.info/2008/12/21/vimperatorpluginmanagerjs-%e3%81%ab%e6%9c%80%e7%b5%82ver%e3%83%81%e3%82%a7%e3%83%83%e3%82%af%e3%81%a8-plugin-%e6%9b%b4%e6%96%b0%e6%a9%9f%e8%83%bd%e8%bf%bd%e5%8a%a0plugin-%e5%81%b4%e3%81%ab-up.html</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2008%252F12%252F21%252Fvimperator-update-pluginmanager.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5Bvimperator%5DpluginManager.js%20%E3%81%AB%E6%9C%80%E7%B5%82Ver.%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%A8%20plugin%20%E6%9B%B4%E6%96%B0%E6%A9%9F%E8%83%BD%E8%BF%BD%E5%8A%A0%28plugin%20%E5%81%B4%E3%81%AB%20%3CupdateURL%3E%20%E8%BF%BD%E5%8A%A0%E3%81%8C%E5%BF%85%E8%A6%81%29%22%20%7D);"></div>
<p>
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/01/10 */
google_ad_slot = "4380003246";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- google_ad_section_start --><!-- rakuten_ad_target_begin -->pluginManager つって、自分がインストールしてる plugin の情報を表示してくれる plugin がある。<br />
(表示される為には、plugin 側で特定の書式に従う必要があるが、coderepos の plugin は徐々に対応されている)<br />
<a href="http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/pluginManager.js" title="/lang/javascript/vimperator-plugins/trunk/pluginManager.js - CodeRepos::Share - Trac">/lang/javascript/vimperator-plugins/trunk/pluginManager.js &#8211; CodeRepos::Share &#8211; Trac</a> <a href="http://b.hatena.ne.jp/entry/http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/pluginManager.js" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/pluginManager.js" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<br />
表示はこんな感じでみえる。<br />
<a href="http://zeromemory.sakura.ne.jp/sblo_files/zeromemory/image/20081221_1.png" rel="lightbox"><img src="http://zeromemory.sakura.ne.jp/sblo_files/zeromemory/image/20081221_1.png" width="500px" height="173px" border="0" align="" alt="20081221_1.png" /></a><br />
<strong>-v[ersion]</strong> をつけると、もう少し詳細な情報が見れる。<br />
<br />
<br />
で。<br />
<br />
<br />
タイトルにあるように、更新チェックと plugin 更新機能を追加した。<br />
<br />
<h3>更新チェック</h3>
<pre class="code">:pluginhelp -c[heck] [name1 name2 name3, …]</pre>
<a href="http://zeromemory.sakura.ne.jp/sblo_files/zeromemory/image/20081221_2.png" rel="lightbox"><img src="http://zeromemory.sakura.ne.jp/sblo_files/zeromemory/image/20081221_2.png" width="500px" height="195px" border="0" align="" alt="20081221_2.png" /></a><br />
<br />
<h3>plugin 更新</h3>
<pre class="code">:pluginhelp -u[pdate] [name1 name2 name3, …]</pre>
<a href="http://zeromemory.sakura.ne.jp/sblo_files/zeromemory/image/20081221_3.png" rel="lightbox"><img src="http://zeromemory.sakura.ne.jp/sblo_files/zeromemory/image/20081221_3.png" width="500px" height="275px" border="0" align="" alt="20081221_3.png" /></a><br />
<br />
information のところに、<strong>upate complete</strong> となっていたら、更新完了。サーバが新しい場合は上書きしちゃうので注意。<br />
<strong>local version is newest.</strong>は、ローカルの方が新しいつってんだけれど、Version 比較を単純な方法でしか今はしてないので、local 0.1.9 と server 0.1.10 だと、ローカルの方が新しい！とか言われちゃうかも？<br />
支障がありそうなら dot で split して比較するのもありだけど、まぁよいかなと。(追記あり)<br />
<br />
<br />
あと、latest な resource を置いている場所を知る必要があるので、plugin 側の PLUGIN_INFO に &lt;updateURL&gt; が必要。それがない場合は、unknown となって更新はされない。<br />
<br />
つーか、id:teramako さんに断り入れないまま機能追加しちゃったから、気に入らない場合は変更･削除されちゃうかもです！<br />
<br />
<h4>追記</h4>
- 2008/12/22 21:00 Last-Modfied を見て対応するようにした。<br />
<br />
<h4>links</h4>
- <a href="http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/pluginManager.js" title="/lang/javascript/vimperator-plugins/trunk/pluginManager.js - CodeRepos::Share - Trac">/lang/javascript/vimperator-plugins/trunk/pluginManager.js &#8211; CodeRepos::Share &#8211; Trac</a> <a href="http://b.hatena.ne.jp/entry/http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/pluginManager.js" title="はてなブックマーク数" alt="はてなブックマーク数"><img src="http://b.hatena.ne.jp/entry/image/http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/pluginManager.js" title="はてなブックマーク数" alt="はてなブックマーク数" border="0"></a><br />
<!-- rakuten_ad_target_end --><!-- google_ad_section_end --><br />
<br><div>
<script type="text/javascript"><!--
google_ad_client = "pub-6504479515156773";
/* 728x90, 作成済み 09/11/02 */
google_ad_slot = "3456326943";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<div class="topsy_widget_shortcode topsy_theme_brick-red" style="background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fd.zeromemory.info%252F2008%252F12%252F21%252Fvimperator-update-pluginmanager.html%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5Bvimperator%5DpluginManager.js%20%E3%81%AB%E6%9C%80%E7%B5%82Ver.%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%A8%20plugin%20%E6%9B%B4%E6%96%B0%E6%A9%9F%E8%83%BD%E8%BF%BD%E5%8A%A0%28plugin%20%E5%81%B4%E3%81%AB%20%3CupdateURL%3E%20%E8%BF%BD%E5%8A%A0%E3%81%8C%E5%BF%85%E8%A6%81%29%22%20%7D);"></div>
</p>

]]></content:encoded>
			<wfw:commentRss>http://d.zeromemory.info/2008/12/21/vimperator-update-pluginmanager.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://d.zeromemory.info/2008/12/21/vimperator-update-pluginmanager.html" />
	</item>
	</channel>
</rss>
