ページ内フックプラグインについて
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 は全ページ出力後の加工のためのフック
|