mirror of
https://github.com/caddyserver/caddy.git
synced 2025-07-07 18:24:53 -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`
|
||||
|
||||
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
|
||||
@ -28,37 +28,37 @@ Returns the hostname portion (no port) of the Host header of the HTTP request.
|
||||
{{.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.
|
||||
|
||||
```
|
||||
{{.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.
|
||||
|
||||
```
|
||||
{{.Include "path/to/file.html"}} // no arguments
|
||||
{{.Include "path/to/file.html" "arg1" 2 "value 3"}} // with arguments
|
||||
{{include "path/to/file.html"}} // no 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.
|
||||
|
||||
```
|
||||
{{.ListFiles "/mydir"}}
|
||||
{{listFiles "/mydir"}}
|
||||
```
|
||||
|
||||
### `.Markdown`
|
||||
### `markdown`
|
||||
|
||||
Renders the given Markdown text as HTML.
|
||||
|
||||
```
|
||||
{{.Markdown "My _markdown_ text"}}
|
||||
{{markdown "My _markdown_ text"}}
|
||||
```
|
||||
|
||||
### `.RemoteIP`
|
||||
@ -93,10 +93,55 @@ Sets a header field on the HTTP response, replacing any existing value.
|
||||
{{.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.
|
||||
|
||||
```
|
||||
{{.StripHTML "Shows <b>only</b> text content"}}
|
||||
{{stripHTML "Shows <b>only</b> text content"}}
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user