Шаблоны
Выполняет тело ответа как документ-шаблон. Шаблоны предоставляют функциональные примитивы для создания простых динамических страниц. Функции включают в себя HTTP-подзапросы, включение HTML-файлов, рендеринг Markdown, парсинг JSON, базовые структуры данных, генерацию случайных чисел, работу со временем и многое другое.
Синтаксис
templates [<matcher>] {
mime <types...>
between <open_delim> <close_delim>
root <path>
}
-
mime — это MIME-типы, на которых будет действовать middleware шаблонов; любые ответы, которые не имеют соответствующего
Content-Type, не будут обрабатываться как шаблоны.По умолчанию:
text/html text/plain. -
between — это открывающие и закрывающие разделители для действий шаблона. Вы можете изменить их, если они конфликтуют с остальной частью вашего документа.
По умолчанию:
{{ }}. -
root — это корень сайта, когда используются функции, которые обращаются к файловой системе.
По умолчанию используется корень сайта, заданный директивой
root, или текущая рабочая директория, если не задан.
Документация по встроенным функциям шаблонов находится в модуле шаблонов.
Примеры
Для полного примера сайта, использующего шаблоны для обработки Markdown, посмотрите исходный код этого сайта! В частности, посмотрите 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"}}`
}
© 2015-2025 Matthew Holt and The Caddy Authors
Licensed under the Apache License 2.0.
Caddy is a registered trademark of Stack Holdings GmbH.
https://caddyserver.com/docs/caddyfile/directives/templates