Text::HikiDoc::Plugin 構想 (1) #
こんな感じで使うものを作ろうかと。
$obj = Text::HikiDoc->new({
string => $text,
level => 2,
empty_element_suffix => ' />',
br_mode => 'true',
table_border => 'false',
plugged => ['br','hoge','fuga'],
});
$obj = Text::HikiDoc->new({
string => $text,
level => 2,
empty_element_suffix => ' />',
br_mode => 'true',
table_border => 'false',
plugged => 'all',
unplugged => ['br','hoge','fuga'],
});
- plugged に配列を渡して、利用するプラグインを指定する
- 指定しない時はプラグインを利用しない
- 全部使う時は、plugged = ‘all’。all と組み合わせて、unplugged で使わないものを指定できる
こういう作りにしておけば、Plugin 以下にファイルがあってもデフォルトでは無視されるので、今との互換性も保たれるし。
で、Text::HikiDoc::Plugin 継承した Text::HikiDoc::Plugin::br の中の to_html() を呼び出して処理する、と。
テキスト整形系のプラグイン以外はアプリケーションの側で処理すべきだとは思うが、br タグ埋め込むプラグインとか、現在時刻埋め込むとか、そういうものは HikiDoc 側にあっても悪くはないかもしれぬ。