はてな記法

はてなダイアリ以外のブログサービスではてな記法を使う方法を検討している記事を見た。
http://hrkt0115311.blog10.fc2.com/blog-entry-2670.html
はてなダイアリの記事入力画面のプレビュー機能で出力した html を使うというアイデアである。
だが、これはもちろんはてなダイアリのユーザでなければ利用できない。 はてなダイアリと並行して他のブログを書くならばそれで良いかもしれないが、移行を考えている人にとっては別の方法を考えた方が良いだろう。
さて、 tDiary というブログシステムを御存知だろうか。 このシステムが採用している記法は tDiary 独自のものであるけれども、プラグインを入れることではてな記法にも対応できるのだ。 tDiary の公式ページにある contrib パッケージに入っている hatena_style.rb がそれである。
http://www.tdiary.org/download/tdiary-contrib.tar.gz
わざわざ tDiary 本体をインストールせずにこのプラグインを利用してはてな記法から html へ変換する簡単なスクリプトを書いてみた。 プラグインが最低限必要とする部分のダミーを用意した上でプラグインを呼び出している。

module TDiary
  module DiaryBase
    def init_diary
    end
    def date
      @date
    end
    def title
      @title
    end
    def set_date( date )
      @date=date
    end
    def set_title( title )
      @title=title
    end
  end
  module CategorizableDiary
  end
end

require 'hatena_style'
require 'date'

a=TDiary::HatenaDiary.new("", "", $stdin.read)

print a.to_html(:HTML)

はてな記法のテキストを標準入力から放り込むと html にして出力される。
注意して欲しいのはプラグイン作者の趣味によりパラグラフの区切りがはてな記法とは意図的に変えてあることだ。 はてな記法オリジナルに沿った変換にするパッチをどこかで見た気がするので必要であれば探して適用すると良いだろう。
Document ID: eebbbf23a3635095f1fd36a061310999