2006-09-15 [長年日記]

_ [Hiki][Ruby] HikiDoc で ruby スクリプトのハイライト表示

はてなダイアリー日記 - アスキーアートを簡単にきれいに表示する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)なので、同梱して配布するのがいいかなあ。

このエントリーを含むはてなブックマーク 

_ Book[OSS] 「まるごと Perl! Vol. 1」「みんなの Python

まるごとPerl! Vol.1(川合 孝典/水野 貴明/小飼 弾/宮川 達彦/伊藤 直也) みんなのPython(柴田 淳)

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 との違いを予習しておくとよさそうです。

このエントリーを含むはてなブックマーク 
本日のツッコミ(全1件) [ツッコミを入れる]
_ kitaj (2006-09-19 13:10)

おぉ,このハイライト表示,いいねぇ.

[]