mirror of
https://github.com/caddyserver/caddy.git
synced 2025-07-08 02:34:49 -04:00
Update for new funcs including front matter
parent
9801536787
commit
9a8806492e
@ -6,7 +6,7 @@ In addition to the functions described on this page, **[all Sprig functions](htt
|
|||||||
|
|
||||||
### `.Args`
|
### `.Args`
|
||||||
|
|
||||||
Access arguments passed to this page/context, for example as the result of a `.Include`.
|
Access arguments passed to this page/context, for example as the result of a `include`.
|
||||||
|
|
||||||
```
|
```
|
||||||
{{.Args 0}} // first argument
|
{{.Args 0}} // first argument
|
||||||
@ -28,37 +28,37 @@ Returns the hostname portion (no port) of the Host header of the HTTP request.
|
|||||||
{{.Host}}
|
{{.Host}}
|
||||||
```
|
```
|
||||||
|
|
||||||
### `.HTTPInclude`
|
### `httpInclude`
|
||||||
|
|
||||||
Includes the contents of another file by making a virtual HTTP request (also known as a sub-request). The URI path must exist on the same virtual server because the request does not use sockets; instead, the request is crafted in memory and the handler is invoked directly for increased efficiency.
|
Includes the contents of another file by making a virtual HTTP request (also known as a sub-request). The URI path must exist on the same virtual server because the request does not use sockets; instead, the request is crafted in memory and the handler is invoked directly for increased efficiency.
|
||||||
|
|
||||||
```
|
```
|
||||||
{{.HTTPInclude "/foo/bar?q=val"}}
|
{{httpInclude "/foo/bar?q=val"}}
|
||||||
```
|
```
|
||||||
|
|
||||||
### `.Include`
|
### `include`
|
||||||
|
|
||||||
Includes the contents of another file. Optionally can pass key-value pairs as arguments to be accessed by the included file.
|
Includes the contents of another file. Optionally can pass key-value pairs as arguments to be accessed by the included file.
|
||||||
|
|
||||||
```
|
```
|
||||||
{{.Include "path/to/file.html"}} // no arguments
|
{{include "path/to/file.html"}} // no arguments
|
||||||
{{.Include "path/to/file.html" "arg1" 2 "value 3"}} // with arguments
|
{{include "path/to/file.html" "arg1" 2 "value 3"}} // with arguments
|
||||||
```
|
```
|
||||||
|
|
||||||
### `.ListFiles`
|
### `listFiles`
|
||||||
|
|
||||||
Returns a list of the files in the given directory, which is relative to the template context's file root.
|
Returns a list of the files in the given directory, which is relative to the template context's file root.
|
||||||
|
|
||||||
```
|
```
|
||||||
{{.ListFiles "/mydir"}}
|
{{listFiles "/mydir"}}
|
||||||
```
|
```
|
||||||
|
|
||||||
### `.Markdown`
|
### `markdown`
|
||||||
|
|
||||||
Renders the given Markdown text as HTML.
|
Renders the given Markdown text as HTML.
|
||||||
|
|
||||||
```
|
```
|
||||||
{{.Markdown "My _markdown_ text"}}
|
{{markdown "My _markdown_ text"}}
|
||||||
```
|
```
|
||||||
|
|
||||||
### `.RemoteIP`
|
### `.RemoteIP`
|
||||||
@ -93,10 +93,55 @@ Sets a header field on the HTTP response, replacing any existing value.
|
|||||||
{{.RespHeader.Set "Field-Name" "val"}}
|
{{.RespHeader.Set "Field-Name" "val"}}
|
||||||
```
|
```
|
||||||
|
|
||||||
### `.StripHTML`
|
### `splitFrontMatter`
|
||||||
|
|
||||||
|
Splits front matter out from the body. Front matter is metadata that appears at the very beginning of a file or string. Front matter can be in YAML, TOML, or JSON formats:
|
||||||
|
|
||||||
|
**TOML** front matter starts and ends with `+++`:
|
||||||
|
|
||||||
|
```
|
||||||
|
+++
|
||||||
|
template = "blog"
|
||||||
|
title = "Blog Homepage"
|
||||||
|
sitename = "A Caddy site"
|
||||||
|
+++
|
||||||
|
```
|
||||||
|
|
||||||
|
**YAML** is surrounded by `---`:
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
template: blog
|
||||||
|
title: Blog Homepage
|
||||||
|
sitename: A Caddy site
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
**JSON** is simply `{` and `}`:
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"template": "blog",
|
||||||
|
"title": "Blog Homepage",
|
||||||
|
"sitename": "A Caddy site"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The resulting front matter will be made available like so:
|
||||||
|
|
||||||
|
- `.Meta` to access the metadata fields, for example: `{{$parsed.Meta.title}}`
|
||||||
|
- `.Body` to access the body after the front matter, for example: `{{markdown $parsed.Body}}`
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
{{markdown "My _markdown_ text"}}
|
||||||
|
```
|
||||||
|
|
||||||
|
### `stripHTML`
|
||||||
|
|
||||||
Removes HTML from a string.
|
Removes HTML from a string.
|
||||||
|
|
||||||
```
|
```
|
||||||
{{.StripHTML "Shows <b>only</b> text content"}}
|
{{stripHTML "Shows <b>only</b> text content"}}
|
||||||
```
|
```
|
Loading…
x
Reference in New Issue
Block a user