Text::HikiDoc::Plugin 構想 (1)

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 側にあっても悪くはないかもしれぬ。

See Also

Copyright © 髭。/ Hugo + hugo-book