テンプレート
テンプレート ドキュメントとして応答ボディを実行します。テンプレートは単純な動的ページを作るための機能的プリミティブを提供します。この機能には HTTP サブリクエスト、HTML ファイルのインクルード、Markdown のレンダリング、JSON の解析、基本的なデータ構造、ランダム生成、時刻などがあります。
構文
templates [<matcher>] {
mime <types...>
between <open_delim> <close_delim>
root <path>
}
-
mime はテンプレートミドルウェアが作用する MIME タイプです。
Content-Type
が適合しない応答は、テンプレートとして評価されません。デフォルト:
text/html text/plain
。 -
between はテンプレートアクションの開始と終了の区切りです。ドキュメントの他の部分と干渉する場合は変更できます。
デフォルト:
{{ }}
。 -
root はファイルシステムにアクセスする関数を使用する場合のサイトルートです。
root
ディレクティブで設定されたサイトルート、または設定されていない場合は現在の作業ディレクトリにデフォルト設定されます。
組み込みのテンプレート関数のドキュメントは テンプレートモジュール にあります。
例
テンプレートを使用して Markdown を提供するサイトの完全な例については、 この Web サイト のソースをご覧ください。特に、 Caddyfile
と src/docs/index.html
をご覧ください。
静的サイトのテンプレートを有効にする
example.com {
root * /srv
templates
file_server
}
テンプレートを使用して単純な静的応答を提供するには、必ず Content-Type
を設定してください
example.com {
header Content-Type text/plain
templates
respond "Current year is: {{now | date "2006"}}"
}