HTML自動生成!
SiteCompilerの元となったプロジェクト、「WebMaker」で使われていたhtmltrans.rbの紹介。テキストファイルを HTMLに変換する(Wikiみたいなもの)。
■ ダウンロード
■ 単体での使い方
上のtar.gzファイルを解凍すると、htmltrans.rb、htmltrans.class.rbという二つのファイルができます。そこで、preファイルを書いて
$ ruby htmltrans.rb hoge.pre
などとすると、hoge.htmlが生成されます。
■ preファイルの書式
ここはタイトル(h1) ここが概要です。メニューにここの内容が使用されます。 ◎見出し(h2) 普通の段落は上下一行ずつ空行で区切って書く。 ◯見出し(h3) ・箇条書き タブで、箇条書きの内容。 ・続き 箇条書を続けるときは、空行を挟まずに書く。 <pre> preタグで囲んでおくと、一切の変換をしない。ソースコードの掲載等に便利。 </pre> 通常の段落でタブを入れる、つまり $ hoge とかやると、preタグが指定される。
■ 構造
従来のhtmltrans.rbはクラスを使っていなかったのですが、2003/10/5に作りなおしたバージョンは、HTMLTranslatorクラスがプログラムの本体になっています。 htmltrans.class.rbで定義されているのがそれで、これをhtmltrans.rbが利用する、という形になっています。
処理
旧バージョンでは、一行ずつ読み込んで、その先頭の文字と、現在の「状態」から、挿入すべきタグを決めていましたが、今回はあらかじめテキストを「段落」毎に区切り、段落単位で処理を行うようにしました。例えば、「段落の先頭の文字が『・』だったら、この段落は箇条書である」といった感じです。
