バリケンのRuby日記 RSSフィード

2007-03-08

[] HParser  HParser - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  HParser - バリケンのRuby日記  HParser - バリケンのRuby日記 のブックマークコメント

はてな記法で書いたテキストHTMLの断片に変換してくれる「HParser」というライブラリがあるんだね。

インストール

gem install hparser

でいいみたい。

ためしに、引数で指定したテキストファイルを読んで、標準出力HTMLの断片を出力するスクリプトを作ってみるよ。

require 'hparser'

raise unless filename = ARGV.shift

raise if File.directory?(filename)
raise unless File.exist?(filename)

text = open(filename) {|f| f.read }

parser = HParser::Parser.new
html = parser.parse(text).map{|e| e.to_html }.join("\n")

print html

これをhatenaparse.rbという名前で保存して、

*[misc] はてな記法のテスト

**リスト

リストのテストです。

-その1
-その2
-その3

**表組み

表組みのテストです。

|りんご|みかん|いちご|
|100|25|30|

というテキストをhatenatext.txtとして保存して、

ruby hatenaparse.rb hatenatext.txt

とすれば、標準出力

<h1>[misc] はてな記法のテスト</h1>
<h2>リスト</h2>
<p>リストのテストです。</p>
<ul><li>その1</li><li>その2</li><li>その3</li></ul>
<h2>表組み</h2>
<p>表組みのテストです。</p>
<table><tr><td>りんご</td><td>みかん</td><td>いちご</td></tr><tr><td>100</td><td>25</td><td>30</td></tr></table>

のように出力されるよ。

これを使って、nDiaryを「はてな記法」に対応するように改造できないかな?