過去の日記 トップ «前(2004-03-19) 最新 次(2004-03-21)» 編集 ToDo編集

今日のなんでやねん


2004-03-20 [長年日記]

[tDiary] google_highlight.rb

google_highlight by JavaScript,そしてその元ネタであるblosxonのgoogle_highlight pluginに触発されてtDiaryのgoogle_highlightプラグインを作ってみた. googleの検索結果画面から飛んできた時に,検索キーワードがハイライト表示される.

# google_highlight.rb $Revision: $
#
# Copyright (c) 2004 Junichiro KITA <kita@kitaj.no-ip.com>
# Distributed under the GPL
#
# what is this:
#   Extract google's search keyword from referer and highlight it
#
# how to use:
#   Select this plugin or put this file in plugin directory.  That's all.
# 
# sample css:
#
#   span.highlight {
#      color: black;
#      background-color: #ffff66;
#   }
#

if @mode == 'latest' or @mode == 'day' and ! ::TDiary::Plugin.method_defined?(:eval_src_orig)
::TDiary::Plugin.module_eval do
	alias :eval_src_orig :eval_src
	def eval_src(src, secure)
		r = eval_src_orig(src, secure)
		return r unless %r|^http://www\.google.*?q=([^&]+)|i === @cgi.referer

		q = @conf.to_native(CGI.unescape($1)).split(/[\s+]/).join('|')
		r.gsub(/(?=>)([^<]+)?(#{q})/io, %q[\1<span class="highlight">\2</span>])
	end
end
end
# vim: ts=3

追記:色々と問題があったので修正. 最初のifが付いてないバージョンを持ってった人は要注意. 多分いないとは思うけど.

追記2:っていうか同じようなのを以前どこかで見たような気がしてきた.YADAんとこだっけ?

追記3:説明とサンプルのCSSを追加. しかしまるで反響ないな… ちょっと悲しい.

[tDiary] 軽量化

あまりにも遅いので軽量化. といっても,単に@data_path/*/*.tdrからgrep -v googleとかgrep -v searchとかしただけ. リンク元除外リストにYADAのやつを追加. これでだいぶ快適になった.

本日のツッコミ(全3件) [ツッコミしてやる]
zzz (2004-03-20 23:29)

前日のやまぐちさんのツッコミに対して...きっと,きたさんは怒首領蜂を知らないんですよ.大往生も.ねぇ.

きた (2004-03-21 00:24)

↑いや知ってますよ.どっちも.<br>やりたいとは思いませんが.<br><br>オレの中ではシューティングはグラ3あたりで終わってます.もうついていけない…

zzz (2004-03-21 00:44)

返答があるとは思ってもみませんでした.ちょっとぶしつけな書き方だったので気になってました.すみません.<br>そうですか,シューティングは結構ご存知なんですね.にしてもグラ3が最後とは.<br>一番難しいグラディウスだと思いますよ.というか横SHT最高難易度かもです.<br>そういえば7月ぐらいにグラ5が予定されています.アーケードではなくPS2のみだそうです.<br>他にぬるくないゲームといえばAGBの魂斗羅ハードスピリッツがありますよ.<br>機会があればやってみてください.泣けるほど難しいです.洋げーとは違った難しさです.

[]


このへんで勘弁しといたる.


旧「なんでやねん」はこちら.
| 2001/01 | 2001/02 | 2001/03 | 2001/04 | 2001/05 | 2001/06 | 2001/07 | 2001/08/25まで |

リンク上等!

Junichiro Kita