コトバノウタカタ

よしなしごとをつらつらとつづるばしょ。

はてなダイアリーのアーカイブ検索

現在見ているはてなユーザのアーカイブ検索を行うブックマークレット

はてなダイアリーのトップの検索窓で検索すると、記事本体が表示される。これだと一覧では見えないし、記事全体が表示されるために読込みに時間もかかる。そこでアーカイブ検索したいのだが、アーカイブページに移動して検索するのも面倒。ということで、一発でアーカイブ検索できるブックマークレットを作ってみた。といっても、「文字列を選択して検索」なので使い勝手はいまいちかも。本文にない文字列を検索したい場合は、検索ボックスに文字列を入れ、それを選択してからアーカイブ検索を行ってください。

ダイアリー以外のはてなサービスでも検索可能だと思います。はてな以外のサイトでの動作は保証しません。

はてなダイアリーのアーカイブ検索
はてなダイアリーを見ながら画面内の文字列を選択してこのブックマークレットを実行すると、現在見ているユーザのダイアリー内のアーカイブ検索を行う。
javascript:d=document;w=window;function enc(s){return encodeURIComponent?encodeURIComponent(s):encodeURI(s);}if(d.selection){q=d.selection.createRange().text;}else if(d.getSelection){q=d.getSelection();}else if(w.getSelection){q=w.getSelection();}var startpos=location.href.indexOf('/',7);var endpos=location.href.indexOf('/',startpos+1);var username=location.href.substring(startpos+1, endpos);location.href='http://d.hatena.ne.jp/'+username+'/archive?word='+enc(q);
おまけ

ダイアリーなどのHTML内にフォームとしてアーカイブ検索を埋め込みたい場合はこちら。

<form action="/tetsu23/archive" method="get"><input type="text" name="word" value=""><input type="submit" value="検索"></form>

サイドバーに埋め込みたい場合は、詳細デザイン設定の「ページのフッタ」にこんな感じでいいのかな。

	<hatena template="hatena-module" name="calendar2">
	<div class="hatena-module">
	 <div class="hatena-moduletitle">アーカイブ検索 </div>
	 <div class="hatena-modulebody">
	 <ul>
	  <li><form action="/tetsu23/archive" method="get"><input type="text" name="word" value=""><input type="submit" value="検索"></form></li>
	 </ul>
	 </div>
	</div>

←とりあえず入れてみております。