「はてなダイアリー日記 - アスキーアートを簡単にきれいに表示するaa記法」にインスパイヤされて、HikiDoc で rubyforge:syntax を用いて ruby スクリプト(と XML と YAML)のハイライト表示ができるようにしました。
<<< ruby ... >>>
のように書くと、
# Copyright (c) 2005, Kazuhiko <kazuhiko@fdiary.net> require 'uri' begin require 'rubygems' rescue nil require 'syntax/convertors/html' rescue LoadError end class HikiDoc < String Revision = %q$Rev: 40 $ def initialize( content = '', options = {} ) @level = options[:level] || 1 @empty_element_suffix = options[:empty_element_suffix] || ' />' super( content ) end
のように表示されます(RSS リーダ経由で見ても何の変哲もないので、CSS が使えるウェブブラウザで直接見てください)。XML や YAML の場合は、<<< の後ろに 'xml' や 'yaml' と書きます。 なお、syntax ライブラリが使えない場合は従来どおりの挙動です。
[追記] require 'rubygems' すると、require__ で insecure operation になってしまったので、手元の tDiary 用 hikidoc では直接 require できるように syntax ライブラリを置きなおしました。 syntax ライブラリはライセンスが HikiDoc と同じ(修正 BSD)なので、同梱して配布するのがいいかなあ。
Ruby は私が最も愛してやまないプログラミング言語ですが、LL イベントに毎年参加していながら他の LL のことを知らなさすぎるのももったいない気がして、この 2 冊を買ってきました。
まずは「まるパー」を超斜め読みしました。 少なくとも、事例編「Web2.0 サービスの中を見せます」の記事、「livedoor Reader のしくみ」と「inside Hatena Bookmark」は Perl かどうかに関係なくとても役立ちそうです。 実習編「Web2.0 時代の Perl テクニック」の記事もどれも面白そうです。 あと、特集 2「Perl 6 を予習」では、「YARV 男」ことささださんが記事を書いていますね。
つづいて「みんパイ」。 先日の LL Ring では、「みんパイ」著者の柴田淳さんから「はじめよう Ruby on Rails」にサインを求められてとてもびっくりしたのですが、そのお礼まいりです。 前からちょっとずつ読んでいるところですが、柴田さんの人柄そのままにとても丁寧に書かれていて、とても読みやすい。 Rubyist な人は、あらかじめまつもとさんによる「るびま」の記事「Rubyist Magazine - Rubyist のための他言語探訪 【第 1 回】 Python」で Ruby との違いを予習しておくとよさそうです。
おぉ,このハイライト表示,いいねぇ.