ドキュメント
a プロジェクト

テンプレート

テンプレート ドキュメントとして応答ボディを実行します。テンプレートは単純な動的ページを作るための機能的プリミティブを提供します。この機能には 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 サイト のソースをご覧ください。特に、 Caddyfilesrc/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"}}"
}