狐の王国

人は誰でも心に王国を持っている。

Google News/Blogの検索プラグインが見つからなかったので作ってみた

探し方が悪いのかもしれんが、なぜかGoogle NewsGoogle Blogサーチの検索プラグインが見つからない。

で、めんどくさいので自分で作った。

Firefox2 OpenSearch plugin を作る | WWW WATCH
Creating OpenSearch plugins for Firefox - MDC

このへん参考にアイコンは適当にコピペったり。

OpenSaerch Plugins

作ったものはここに適当に置いてみた。
上記URLにアクセスして検索バーのサーチエンジン選択ダイアログ開くとインストールする項目に現れるはず。Firefox3でしか確認してないけどIE7でも似たようなもんだろ。

適当に置いたといっても、rubyの勉強がてらここ見ながらこんなCGIで出力するようにしてみた。

#!/usr/bin/ruby
require 'rexml/document'
require 'erb'

r = Hash.new

Dir.glob("./*.xml").each do |f|
  doc = REXML::Document.new(File.new(f))
  r[f] = REXML::XPath.first(doc, "//Description/text()")
end

puts ERB.new(DATA.read).result(binding)

__END__
Content-Type: text/html; charset=UTF-8

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
  <meta http-equiv="Content-Style-Type" content="text/css"/>
  <meta http-equiv="Content-Script-Type" content="text/javascript"/>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  <link href="/styles/fox.css" rel="stylesheet" type="text/css"/>
<% r.each do |key, value| %>
  <link rel="search" type="application/opensearchdescription+xml" title="<%= value %>" href="<%= key %>"/>
<% end %>
  <title>OpenSaerch Plugins</title>
</head>
<body>
<h1>OpenSearch Plugins</h1>
<ul>
<% r.each do |key, value| %>
  <li><a href="<%= key %>"><%= value %></a></li>
<% end %>
</ul>
<hr>
<address>
Sugano `Koshian' Yoshihisa(E) <a href="mailto:koshian@foxking.org">&lt;koshian@foxking.org&gt;</a><br />
<!-- hhmts start -->Last modified: Tue Jul  1 21:10:03 JST 2008 <!-- hhmts end -->
</address>
</body>
</html>

みじけえ。なんなんだこの効率の良さは……。

Sugano `Koshian' Yoshihisa(E) <koshian@foxking.org>