つきあたったー

2009-01-01あけましておめでとうございます

続・vimperator活用してtwitterをもっと見る 05:26 はてなブックマーク - 続・vimperatorを活用してtwitterをもっと見る - つきあたったー

[宣伝]vimperatorグループ

vimperatorグループを作ったので、つっこんだ話はそっちに書きます。興味あったら入ってみてね。

multi_requester SITE INFO

この間書いたVimperatorを活用してTwitterをもっと見る - つきあたったー - はてなグループ::ついったー部で、multi_requester.js を使ってたんだけど、これのSITEINFOとして使っていた wedata がクリスマスあたりから使えなくなった件のフォロー記事のつもり。今の最新版のmulti_requester.jsはwedataが生きてる時にキャッシュするから復旧までのつなぎと思ってくれれば。

.vimperatorrc に以下の内容を追記してちょうだいな。ちなみに alcgoowikipediaは僕が良く使うのでオマケです。

/* 前回の.vimperatorrc */
map ,mt :mr<Space>twitter-search-pcod-no-jp<Space>
map ,mT :mr<Space>twitter-search-pcod-no-jp<Space>["自分のユーザーid"]<CR>
map ,mf :mr<Space>favotter-new<Space>
map ,mF :mr<Space>favotter-new<Space>["自分のユーザーid"]<CR>

上記の部分は消して上書きしてください。

/* 今回追記するもの */
map ,m,s :so<Space>$RUNTIME/plugin/multi_requester.js

javascript <<EOF
/* DEFAULT SITES */
liberator.globalVariables.multi_requester_default_sites = "alc,goo,favotter-new,twitter-search-pcod-no-jp,search-twitter,wikipedia-jp"

/* SITE_INFO */
liberator.globalVariables.multi_requester_siteinfo = [
    {
        name:           'favotter-new',
        description:    'favotter newest',
        url:            'http://favotter.matope.com/user.php?user=%s',
        xpath:          '//div[@class="hentry"]',
    },
    {
        name:           'twitter-search-pcod-no-jp',
        description:    'twitter search(yats)',
        url:            'http://pcod.no-ip.org/yats/search?query=%s',
        xpath:          '//li[@class="hentry"]',
    },
    {
        name:           'wikipedia-jp',
        description:    'wikipedia(japanese)',
        url:            'http://ja.wikipedia.org/wiki/%s',
        xpath:          'id("bodyContent")',
    },
    {
        name:           'search-twitter',
        description:    'twitter search(search.twitter.com)',
        url:            'http://search.twitter.com/search?q=%s',
        xpath:          'id("results")/ul/li',
    },
];

/* KEY MAPPING */
liberator.globalVariables.multi_requester_mappings = [
	[',mt', 'twitter-search-pcod-no-jp'],
	[',Mt', 'twitter-search-pcod-no-jp', '!'],
	[',mT', 'twitter-search-pcod-no-jp',    , '["自分のユーザー名"]'],
	[',MT', 'twitter-search-pcod-no-jp', '!', '["自分のユーザー名"]'],
	[',mf', 'favotter-new'],
	[',Mf', 'favotter-new', '!'],
	[',mF', 'favotter-new',    ,'["自分のユーザー名"]'],
	[',MF', 'favotter-new', '!', '["自分のユーザー名"]'],
	[',ma', 'alc'],
	[',Ma', 'alc', '!'],
	[',mg', 'goo'],
	[',Mg', 'goo', '!'],
	[',mw', 'wikipedia-jp'],
	[',Mw', 'wikipedia-jp', '!']
];
EOF

これで前回書いたmap 〜 で始まるキーマッピングは不要な上、文字列選択した状態でショートカットキーを押すと自動リクエストしたサービスの出力を返します。mapの整理はjsでやった方が管理もしやすいか。

前回には無いキーマップは,M(なんとか) だけど、これは :mr! コマンド (リクエストした結果をバッファじゃなくって新規タブに開く)を呼び出すのにこうmapあてた。,Mf とか ,MW は良く使う。

copy.js

汎用性の高いcopy.jsだけど、僕はなんかほとんどtwitter投稿するのに使っている悪寒

これも.vimperatorrc に書く

" copy.js

map c :copy<Space>
map ,ct :copy<Space>titleAndTinyURL<CR>

javascript <<EOF
liberator.globalVariables.copy_templates = [
	{ label: 'titleAndTinyURL', value: '"%TITLE%" %tinyURL%', custom: function() { return '"' + buffer.title + '" ' + util.httpGet('http://tinyurl.com/api-create.php?url=' + encodeURIComponent(buffer.URL)).responseText;} }, 
	{ label: 'titleAndURL',    value: '"%TITLE%" %URL%' },
	{ label: 'title',          value: '%TITLE%' },
	{ label: 'hatena',         value: '[%URL%:title=%TITLE%]' },
	{ label: 'hatenacite',     value: '>%URL%:title=%TITLE%>n%SEL%n<<' },
	{ label: 'markdown',       value: '[%SEL%](%URL% "%TITLE%")' },
	{ label: 'htmlblockquote', value: '<blockquote cite="%URL%" title="%TITLE%">%HTMLSEL%</blockquote>' },
	{ label: 'ASIN',   value: 'copy ASIN code from Amazon', custom: function(){return content.document.getElementById('ASIN').value;} },
	{ label: 'tinyURL',	value:	'Get Tiny URL', custom: function() { return util.httpGet('http://tinyurl.com/api-create.php?url=' + encodeURIComponent(buffer.URL)).responseText; }}
];
EOF

だいたいこれである面白いページ、エントリを見つけたら ,ct -> ,t して 「これいいなぁ (Ctrl+v)"hogehoge" http://hugahu.ga/...」とpostしてる。twitterからだと from がwebになってるから気付かれにくいけど先月あたりからwebの投稿フォームからpostしてない。

qmark

これも.vimpeatorrc に

qmark t http://twitter.com/home
qmark T http://www.tumblr.com/dashboard
qmark m http://favotter.matope.com/

まぁ無くていいじゃんとも思うけど。これで got とキータイプしてそのタブで、gntで新規タブでtwitter.com/homeジャンプする。ふぁぼったーがなんでfじゃないのって話は↓。fastladder使わない or 優先順位ふぁぼったーの方が上って人はfに割りあてて良い。っていうか好きにしろ。自分のふぁぼられは既に,MFがあるから不要のはず。

qmarkはどちらかというと、LDRFastladderフィード購読ブックマークレットキーワードを追加して(ldrとかflとか)

qmark l http://reader.livedoor.com/reader/
qmark L ldr
qmark f http://fastladder.com/reader/
qmark F fl

の方が有意義かな。gnl、gnf でLDRFastladderを新規タブで、goL、goFフィード購読ページへ。