書籍を書く予定は当面ないのだけど、青木さんのReVIEWがまた人気っぽいのでtarを展開してみた。
フォーマッタを見かけたらWikiを作りたくなるので、さっそく練習。
とりあえず文字列を与えてHTML片を返してもらうことに。ファイルを作らずに変換させたかったけど、自然に書けなかったので一時ファイルを作るようにしました。
require 'review/env' require 'review/compiler' require 'review/htmlbuilder' require 'monitor' require 'fileutils' class ReHTML include MonitorMixin def initialize(dir='work') super() @dir = dir FileUtils.rm_r(@dir, :force => true) FileUtils.mkdir(@dir) File.open(File.join(@dir, 'CHAPS'), 'w') {|f| f.write("volatile.re\n")} @env = ReVIEW::Environment.load(@dir) @compiler = ReVIEW::Compiler.new(ReVIEW::HTMLBuilder.new(false)) end def compile(str) synchronize do File.open(File.join(@dir, 'volatile.re'), 'w') {|f| f.write(str)} @compiler.compile(@env.chapter('volatile')) end end end if __FILE__ == $0 rhtml = ReHTML.new puts rhtml.compile(<<EOS) = Hello Hello, World. == Again Hello, Again EOS end