Add "content" attribute to slide shortcode
Points to a data template where markdown is contained. Makes it easy to reuse slides.
This commit is contained in:
parent
c70aa5811e
commit
836c449d0c
1 changed files with 21 additions and 4 deletions
|
@ -1,9 +1,26 @@
|
|||
{{ .Scratch.Set "slides" slice }}
|
||||
|
||||
{{ if trim .Inner "\n" }}
|
||||
{{ .Scratch.Add "slides" .Inner }}
|
||||
{{ end }}
|
||||
|
||||
{{ if .Get "content" }}
|
||||
{{ $lookup := split (.Get "content") "." }}
|
||||
{{ $html := index .Page.Site.Data (index $lookup 0) (index $lookup 1) | markdownify }}
|
||||
{{ $slides := split $html "<hr />" }}
|
||||
{{ $scratch := .Scratch }}
|
||||
{{ range $slides }}
|
||||
{{ $scratch.Add "slides" . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ $attributes := slice "background-color" "background-image" "background-size" "background-position" "background-repeat" "transition" "transition-speed" "background-iframe" "background-interactive" "background-video" "background-video-loop" "background-video-muted" }}
|
||||
{{ $params := . }}
|
||||
{{ range .Scratch.Get "slides" }}
|
||||
<section data-noprocess
|
||||
{{- range $attribute := $attributes -}}
|
||||
{{- with $params.Get $attribute }} data-{{ $attribute | safeHTMLAttr }}="{{ . }}"{{ end -}}
|
||||
{{- end -}}
|
||||
>
|
||||
{{ .Inner }}
|
||||
</section>
|
||||
{{- end -}}>
|
||||
{{ . | safeHTML }}
|
||||
</section>
|
||||
{{ end }}
|
||||
|
|
Loading…
Reference in a new issue