私が考えることができる最も明白な例は、ネストされたコメントを出力するためのものです。コメントのツリーがあり、テンプレートを使用してネストされたhtml(たとえば、リスト内のリストまたはdiv内のdiv)として出力したいとします。
「コメント」ブロック/関数/タグ/ヘルパー/コメントの子のために何らかの方法で自分自身を呼び出すことができなければならないものは何でも。
1つのテンプレートファイル内でそのようなことをサポートするテンプレートエンジンはありますか?
各コメントの「インデント」または「深さレベル」を事前に計算して、正しい順序で1つのフラットリストとしてテンプレートに送信できることは承知していますが、それは望ましくないとしましょう。そして、コード内/テンプレートの外側でスニペットをつなぎ合わせたくないとしましょう-ページ全体を1つのテンプレートまたはテーマファイルに含めたいと思います。
更新:ネストされたhtmlを生成したい。コメントをネストして表示するのではなく、ネストしてほしい。CSSで物事をインデントする方法を知っています。:)それがブラウザで行われるのかサーバーで行われるのかは関係ありません。なぜなら、テンプレートを1つのファイルに自己完結させたいからです。
のように:
var html = render(template, {comments: aTreeOfNestedComments});
(これは、node.js、ブラウザプラグイン、最近javascriptを呼び出すのが好きな「jQuery」の可能性があります...)jadeはミックスインを使用してこれを実行できるようです。同様のことを実行できるタグベースのテンプレートエンジンはありますか?