Hikiプラグインの作り方 第一回その二 単純なHTMLの表示

さて、実は(って、知っているかも知れませんが)、Hikiでは、普通のページ編集中にHTMLタグを書くことができません。
書いてもHTMLでは無くて、単にそういう文字として表示されてしまいます。
これを解決する手段が、プラグインです。


例えばさっき作ったnewプラグイン、わざわざ知らせるのだから、強調しているわけですよね。
でも、こういう書き方ではうまくいきません。

<em>{{new}}</em>

これだと

<em>NEW!</em>

と、表示されてしまいます。


そこでプラグインです。プラグインが返す文字列はそのまま表示されます。
プラグインのファイル(new.rb)を

def new
  '<em>NEW!</em>'
end

と書き換えると、

{{new}}

と書くだけできちんと

NEW!

と表示されるようになります。
でもちょっと待って、em要素を作るくらい、プラグインを使わなくてもできます。

''NEW!''

とシングルクォート(又はアポストロフィ)二つで括ってやってもem要素ができます。
参考:Hikiの文字の修飾
でも、「NEW!」って、色を着けたり、文字を大きく/小さくしたり、他のem要素と区別したいですよね。これは、Hikiの普通の書き方ではできません(その筈……)。
そこで、プラグインです。

def new
  '<em class="new">NEW!</em>'
end

class属性を付けました。これは普通のHikiの書き方ではできません。
class属性が付いたので、CSSで「NEW!」表示だけを選択してスタイルを変えることができるようになります!


とは言え。


この方法を使うのは、タグもタグ以外も全て自分で打つ時に限ってください。
引数を取ってリンクを張るとか、画像を表示するとか、そういう時にはこの方法は使ってはいけません。


何故か。
そしてどうすればいいのか。


次回に続く。

参考資料

Hiki記法
プラグインを考える前に、普通のHiki記法で書けないか、考えてみましょう。