0
でカスタムステンシルタグを使用して、私は単純なカスタムタグ登録:ステンシルマニュアルの指示に従いKitura
let ns = Namespace()
ns.registerSimpleTag("contact") { context in
return "<a href=\"/contact\">contact us</a>"
}
をしかしresponse.render
だけ取るように私は、render
に名前空間を渡す方法を見ることができません実際のContext
オブジェクトではありません。
私には何が欠けていますか?自分自身を作成するのではなく、既存の名前空間がどこかにあるはずですか?
「class StencilTemplateEngine」を変更する必要があることを確認していただきありがとうございます。私はそれをあなたの提案する方法とは少し違ってやっていましたし、現在は実用的な解決策を持っています。 – MacAvon
@MacAvonここでの理論的根拠は、ステンシルテンプレートエンジンをカスタマイズすることです。カスタムタグを使用すると、別のテンプレートエンジンと見なすことができます。独自のバージョン管理など、独自の_Kitura-MyCustomizedStencilTemplateEngine_リポジトリを作成し、複数のKituraアプリケーションに使用することができます。 _Kitura-MyCustomizedStencilTemplateEngine_は、[Kitura TemplateEngine protocol](https://github.com/IBM-Swift/Kitura-TemplateEngine/blob/master/Sources/KituraTemplateEngine/TemplateEngine.swift)を実装し、すべてのユーザーにステンシルに必要なカスタマイズを追加しますあなたのKituraアプリ。 –