書かれたタグを使用したテンプレート言語。タグを使用して拡張することができる。仕組みの一部をメモしておく。見ることで確認できる。よるタグの生成からパーシング処理の流れは以下の通り。インスタンス変数に保持する。john!</p>とてもお手軽だ。コンテナタグコンテナタグとは、開始タグと終了タグの間に他のタグやコンテンツを含めたタグのこと。使用したコンテナタグをとりあげている。先程のソースに、以下のタグを定義する。RedCloth.new(contents).to_htmlend出力は以下の通りとなる。開始タグと終了タグの間にある部分を返す。タグ自身も含めることができる。ネストされたタグタグはネストできる。ある次の例を見てみる。タグを含む構造となっている。文字列追加を行っている。タグが含まれていた場合には、それを評価してくれるようだ。セパレータとして記述するようだ。値を返すだけとなっている。いうところが見てとれる。実装を見てみる必要があった。インスタンス自身のインスタンス変数(@difinitions:Hash)にタグ名をキー、コードブロックを値として保持する。パラメータを仲介役として実行してもらう。いう表記がそのインスタンス変数への値のセットとなっている。セットされたオブジェクトに対してアクセスが可能となる。クラスのようなものだ。ような感じでオジェクトを保持できる。ある必要はなく、適切な名称を任意に使用できる。タグでない文字列が含まれている場合はその値をそのまま返す)。入れ子のタグを含む(コンテナタグ)であれば、その入れ子になったタグを評価する。名前で定義したコードブロックを評価する。オブジェクトを使用したストラテジパターンの適用例として、とても参考になる作りだ。