A_single_file_wiki_wifky2.png

ページ内フックプラグインについて

wifky 1.1(.7) 以降では、1ページの解釈パスを横取りできます。

ハッシュ %::call_syntax_plugin 内には次のとおりに 関数が登録されており、「1ページを解釈・表示してゆく時」、 このハッシュ内の関数を、キーの若いものから順に呼び出すように なっています。

順序制御キー 関数名 役割
100_verbatim &call_verbatim `````` による全体凍結処理を行う。
⇒ ここでは「まだ」元テキストを s で置換させている
500_block_syntax &call_block ページを段落ごとに分割して、ブロック文法プラグインを順に呼び出してゆく
⇒ この時点から、&::puts で直接出力させていっている。
800_close_sections &call_close_sections 開いた <div class="(sub)*section">の数だけ </div> を出力(&::puts)する。
900_footer &call_footnote 脚注を出力(&::puts)する。

第一引数には、ページのソーステキストへのハッシュへの参照、 第二引数には、セッションハッシュへの参照 が渡されます。

段落をまたがるような文法を追加する際は 200〜400 あたりに 関数を登録し、その関数の中で第一引数で渡されたソーステキストを 加工すればよいでしょう。

フックがたくさんありますが、次にような違いがあります。

  • call_syntax_plugin は1ページの解釈のフック
  • block_syntax_plugin は1段落の解釈のフック
  • final_plugin は全ページ出力後の加工のためのフック

|

Designed for @nifty.