Clean up slide shortcode

Fixes a bug outputting junk into the HTML tag as a result of Scratch calls and avoid reprocessing a section that only need to be processed once
This commit is contained in:
dzello 2018-08-07 18:27:19 +02:00
parent f6a1568da1
commit 37fcc0c158
1 changed files with 21 additions and 19 deletions

View File

@ -14,28 +14,30 @@
{{- $params := . -}}
{{- $noPrefix := slice "id" "class" -}}
{{- $noOutput := slice "content" "template" -}}
{{- range $sindex, $svalue := $scratch.Get "slides" }}
<section data-noprocess data-shortcode-slide
{{- $template := $params.Get "template" -}}
{{- if $template -}}
{{- $scratch.Add "templateParams" (slice $.Site.Params.reveal_hugo.templates) -}}
{{- if ne $.Page.File.LogicalName "_index.md" -}}
{{- $scratch.Add "templateParams" (slice ($.Site.GetPage $.Page.Section).Params.reveal_hugo.templates) -}}
{{- end -}}
{{- $scratch.Add "templateParams" (slice $.Page.Params.reveal_hugo.templates) -}}
{{- range ($scratch.Get "templateParams") -}}
{{- if (ne . nil) -}}
{{- range $key, $value := (index . $template) -}}
{{- $scratch.SetInMap "template" $key $value | safeHTMLAttr -}}
{{- end -}}
{{- $template := $params.Get "template" -}}
{{- if $template -}}
{{- $scratch.Add "templateParams" (slice $.Site.Params.reveal_hugo.templates) -}}
{{- if ne $.Page.File.LogicalName "_index.md" -}}
{{- $scratch.Add "templateParams" (slice ($.Site.GetPage $.Page.Section).Params.reveal_hugo.templates) -}}
{{- end -}}
{{- $scratch.Add "templateParams" (slice $.Page.Params.reveal_hugo.templates) -}}
{{- range ($scratch.Get "templateParams") -}}
{{- if (ne . nil) -}}
{{- range $key, $value := (index . $template) -}}
{{- $scratch.SetInMap "template" $key $value | safeHTMLAttr -}}
{{- end -}}
{{- end -}}
{{- range $key, $value := ($scratch.Get "template") }}
{{- $attrName := cond (in $noPrefix $key) $key (delimit (slice "data" $key) "-") }}
{{ $attrName | safeHTMLAttr }}="{{ $value }}"
{{- end }}
data-template="{{ $template }}"
{{- end -}}
{{- end -}}
{{- range $sindex, $svalue := $scratch.Get "slides" }}
<section data-noprocess data-shortcode-slide
{{- if $template -}}
{{- range $key, $value := ($scratch.Get "template") }}
{{- $attrName := cond (in $noPrefix $key) $key (delimit (slice "data" $key) "-") }}
{{ $attrName | safeHTMLAttr }}="{{ $value }}"
{{- end }}
data-template="{{ $template }}"
{{- end -}}
{{- range $key, $value := $.Params -}}
{{- if not (in $noOutput $key) -}}
{{- $attrName := cond (in $noPrefix $key) $key (delimit (slice "data" $key) "-") }}