add include shortcode and doc

This commit is contained in:
Michael Barz 2020-04-30 15:37:27 +02:00
parent daa0d0744b
commit 5486f711f7
No known key found for this signature in database
GPG key ID: 8B36FAF20D80DB3F
4 changed files with 77 additions and 0 deletions

View file

@ -0,0 +1,51 @@
Include Shortcode can include files of different types. By specifying a language, the included file will have syntax highlighting.
## Shortcode
```tpl
{{</* include file="relative/path/from/hugo/root" language="go" markdown=[false|true] */>}}
```
Attributes:
| Name | Usage | default |
|---|---|---|
| file | path to the included file relative to the hugo root | empty value |
| language* | language for [syntax highlighting](https://gohugo.io/content-management/syntax-highlighting/#list-of-chroma-highlighting-languages) | empty value |
| markdown | included file is markdown | false |
| options | highlighting [options](https://gohugo.io/content-management/syntax-highlighting/#highlight-shortcode) | linenos=table |
\* if not set, the content will be rendered as plain html
### Include *.yml file with options
```tpl
{{</* include file="config.yaml" language="yaml" options="linenos=table,hl_lines=5-6,linenostart=100" */>}}
```
{{< include file="config.yaml" language="yaml" options="linenos=table,hl_lines=5-6,linenostart=100">}}
### Include *.md file
Included markdown files will be rendered using the `markdownify` filter.
{{< hint warning >}}
**Location of markdown files**\
If you include markdown files that should not get a menu entry, place them outside the content folder or exlude them otherwise.
{{< /hint >}}
```tpl
{{</* include file="static/table.md" markdown="true" */>}}
```
{{< include file="static/table.md" markdown="true" >}}
### Include *.html file
Html content will be filtered by the `safeHTML` filter and added to the rendered page output.
```tpl
{{</* include file="static/example.html" */>}}
```
{{< include file="static/example.html" >}}

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<body>
<h1>This is heading 1</h1>
<h2>This is heading 2</h2>
<h3>This is heading 3</h3>
<h4>This is heading 4</h4>
<h5>This is heading 5</h5>
<h6>This is heading 6</h6>
</body>
</html>

View file

@ -0,0 +1,5 @@
#### Test Table
| Head 1 | Head 2 | Head 3 |
|---|---|---|
| 1 | 2 | 3 |

View file

@ -0,0 +1,8 @@
{{$file := .Get "file"}}
{{- if eq (.Get "markdown") "true" -}}
{{- $file | readFile | markdownify -}}
{{- else if (.Get "language") -}}
{{- highlight ($file | readFile) (.Get "language") (default "linenos=table" (.Get "options")) -}}
{{- else -}}
{{ $file | readFile | safeHTML }}
{{- end -}}