Fix shortcodes to enable complex nesting
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
{{ $loading := $params.loading }}
|
||||
{{ $maxheight := $params.maxheight }}
|
||||
{{ $maxwidth := $params.maxwidth }}
|
||||
{{ $page := $params.page }}
|
||||
{{ $process := $params.process }}
|
||||
{{ $resource := $params.resource }}
|
||||
{{ $sizes := $params.sizes }}
|
||||
@@ -68,7 +69,7 @@
|
||||
{{ $style = delimit ($style | uniq | sort) "; " }}
|
||||
|
||||
{{ if and (not $resource) $src }}
|
||||
{{ $resource = partial "paige/resource.html" $src }}
|
||||
{{ $resource = partial "paige/resource.html" (dict "page" $page "url" $src) }}
|
||||
{{ end }}
|
||||
|
||||
{{ if $resource }}
|
||||
|
@@ -4,6 +4,7 @@
|
||||
{{ $href := $params.href }}
|
||||
{{ $includepaths := $params.includepaths }}
|
||||
{{ $integrity := $params.integrity }}
|
||||
{{ $page := $params.page }}
|
||||
{{ $referrerpolicy := $params.referrerpolicy | default "no-referrer" }}
|
||||
{{ $sass := $params.sass }}
|
||||
{{ $template := $params.template }}
|
||||
@@ -15,7 +16,7 @@
|
||||
{{ errorf "layouts/partials/paige/link.html: no href" }}
|
||||
{{ end }}
|
||||
|
||||
{{ with partial "paige/resource.html" $href }}
|
||||
{{ with partial "paige/resource.html" (dict "page" $page "url" $href) }}
|
||||
{{ $resource := . }}
|
||||
|
||||
{{ if $template }}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
{{ end }}
|
||||
|
||||
{{ partial "paige/link.html" (dict "href" "css/paige/bootstrap/paige.scss" "page" $page "sass" true "template" true) }}
|
||||
{{ partial "paige/link.html" (dict "href" "css/paige/bootstrap-icons/bootstrap-icons.css") }}
|
||||
{{ partial "paige/link.html" (dict "href" "css/paige/bootstrap-icons/bootstrap-icons.css" "page" $page) }}
|
||||
|
||||
{{ if $page.Param "paige.math" }}
|
||||
{{ partial "paige/link.html" (dict "href" "css/paige/katex/katex.min.css") }}
|
||||
|
@@ -1,4 +1,7 @@
|
||||
{{ $url := . }}
|
||||
{{ $params := . }}
|
||||
|
||||
{{ $page := $params.page }}
|
||||
{{ $url := $params.url }}
|
||||
|
||||
{{ $result := "" }}
|
||||
|
||||
@@ -12,11 +15,11 @@
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if and (not $result) page }}
|
||||
{{ with page.Resources.GetMatch $url }}
|
||||
{{ if and (not $result) $page }}
|
||||
{{ with $page.Resources.GetMatch $url }}
|
||||
{{ $result = . }}
|
||||
{{ else }}
|
||||
{{ with page.Resources.Get $url }}
|
||||
{{ with $page.Resources.Get $url }}
|
||||
{{ $result = . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
@@ -4,6 +4,7 @@
|
||||
{{ $defer := $params.defer | default "defer" }}
|
||||
{{ $integrity := $params.integrity }}
|
||||
{{ $onload := $params.onload | safeJS }}
|
||||
{{ $page := $params.page }}
|
||||
{{ $referrerpolicy := $params.referrerpolicy | default "no-referrer" }}
|
||||
{{ $src := $params.src }}
|
||||
{{ $type := $params.type }}
|
||||
@@ -12,7 +13,7 @@
|
||||
{{ errorf "layouts/partials/paige/script.html: no src" }}
|
||||
{{ end }}
|
||||
|
||||
{{ with partial "paige/resource.html" $src }}
|
||||
{{ with partial "paige/resource.html" (dict "page" $page "url" $src) }}
|
||||
{{ $resource := . | minify | fingerprint }}
|
||||
{{ $integrity = $resource.Data.Integrity }}
|
||||
{{ $src = $resource.RelPermalink }}
|
||||
|
@@ -28,11 +28,11 @@ function paigeResize() {
|
||||
paigeResize();
|
||||
addEventListener("resize", paigeResize);
|
||||
</script>
|
||||
{{ partial "paige/script.html" (dict "src" "js/paige/bootstrap/bootstrap.bundle.js") }}
|
||||
{{ partial "paige/script.html" (dict "page" $page "src" "js/paige/bootstrap/bootstrap.bundle.js") }}
|
||||
|
||||
{{ if $page.Param "paige.math" }}
|
||||
{{ partial "paige/script.html" (dict "src" "js/paige/katex/katex.min.js") }}
|
||||
{{ partial "paige/script.html" (dict "onload" "renderMathInElement(document.body);" "src" "js/paige/katex/auto-render.min.js") }}
|
||||
{{ partial "paige/script.html" (dict "page" $page "src" "js/paige/katex/katex.min.js") }}
|
||||
{{ partial "paige/script.html" (dict "onload" "renderMathInElement(document.body);" "page" $page "src" "js/paige/katex/auto-render.min.js") }}
|
||||
{{ end }}
|
||||
|
||||
{{ partial "paige/analytics.html" $page }}
|
||||
|
@@ -54,12 +54,14 @@
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<div class="align-items-{{ $vertical }} d-flex {{ with $float }} float-{{ . }} {{ end }} h-100 justify-content-{{ $horizontal }} {{ with $sidemargin }} {{ . }} {{ end }} paige-figure {{ if $numbered }} paige-figure-numbered {{ end }}">
|
||||
<figure class="{{ if $table }} d-table {{ end }} mb-0" {{ with $widths }} style="{{ . | safeCSS }}" {{ end }}>
|
||||
<div class="d-flex justify-content-{{ $horizontal }} text-{{ $horizontal }}">{{ $content }}</div>
|
||||
{{/* The markup below cannot be indented due to Markdown. */}}
|
||||
|
||||
{{ if $showcaption }}
|
||||
<figcaption class="figure-caption mt-2 text-{{ $horizontal }}" {{ if $table }} style="caption-side: bottom; display: table-caption" {{ end }}>{{ $caption }}</figcaption>
|
||||
{{ end }}
|
||||
</figure>
|
||||
<div class="align-items-{{ $vertical }} d-flex {{ with $float }} float-{{ . }} {{ end }} h-100 justify-content-{{ $horizontal }} {{ with $sidemargin }} {{ . }} {{ end }} paige-figure {{ if $numbered }} paige-figure-numbered {{ end }}">
|
||||
<figure class="{{ if $table }} d-table {{ end }} mb-0" {{ with $widths }} style="{{ . | safeCSS }}" {{ end }}>
|
||||
<div class="d-flex justify-content-{{ $horizontal }} text-{{ $horizontal }}">{{ $content }}</div>
|
||||
|
||||
{{ if $showcaption }}
|
||||
<figcaption class="figure-caption mt-2 text-{{ $horizontal }}" {{ if $table }} style="caption-side: bottom; display: table-caption" {{ end }}>{{ $caption }}</figcaption>
|
||||
{{ end }}
|
||||
</figure>
|
||||
</div>
|
||||
|
@@ -10,6 +10,7 @@
|
||||
{{ $loading := .Get "loading" }}
|
||||
{{ $maxheight := .Get "maxheight" }}
|
||||
{{ $maxwidth := .Get "maxwidth" }}
|
||||
{{ $page := .Page }}
|
||||
{{ $process := .Get "process" }}
|
||||
{{ $style := .Get "style" }}
|
||||
{{ $type := .Get "type" | default "rows" }}
|
||||
@@ -38,14 +39,16 @@
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{/* The markup below cannot be indented due to Markdown. */}}
|
||||
|
||||
<div class="paige-gallery">
|
||||
{{ if eq $type "filled-rows" }}
|
||||
<div class="align-items-{{ $align }} column-gap-3 d-flex flex-wrap justify-content-{{ $justify }} row-gap-3">
|
||||
<div class="align-items-{{ $align }} column-gap-3 d-flex flex-wrap justify-content-{{ $justify }} row-gap-3">
|
||||
{{ with $inner }}
|
||||
{{ . }}
|
||||
{{ else }}
|
||||
{{ range $resources }}
|
||||
{{ partial "paige/image.html" (dict
|
||||
{{- partial "paige/image.html" (dict
|
||||
"breakpoints" $breakpoints
|
||||
"class" $class
|
||||
"densities" $densities
|
||||
@@ -55,22 +58,23 @@
|
||||
"loading" $loading
|
||||
"maxheight" $maxheight
|
||||
"maxwidth" $maxwidth
|
||||
"page" $page
|
||||
"process" $process
|
||||
"resource" .
|
||||
"style" (print $style "; flex: 1 1 auto; object-fit: cover")
|
||||
"width" $width
|
||||
) }}
|
||||
) -}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ else if eq $type "grid" }}
|
||||
<div class="container-fluid overflow-hidden px-0">
|
||||
<div class="align-items-{{ $align }} gx-3 gy-3 justify-content-{{ $justify }} row row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-5 row-cols-xxl-6">
|
||||
<div class="container-fluid overflow-hidden px-0">
|
||||
<div class="align-items-{{ $align }} gx-3 gy-3 justify-content-{{ $justify }} row row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-5 row-cols-xxl-6">
|
||||
{{ with $inner }}
|
||||
{{ . }}
|
||||
{{ else }}
|
||||
{{ range $resources }}
|
||||
{{ partial "paige/image.html" (dict
|
||||
{{- partial "paige/image.html" (dict
|
||||
"breakpoints" $breakpoints
|
||||
"class" $class
|
||||
"densities" $densities
|
||||
@@ -80,22 +84,23 @@
|
||||
"loading" $loading
|
||||
"maxheight" $maxheight
|
||||
"maxwidth" $maxwidth
|
||||
"page" $page
|
||||
"process" $process
|
||||
"resource" .
|
||||
"style" (print $style "; height: auto; max-width: 100%")
|
||||
"width" $width
|
||||
) }}
|
||||
) -}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ else if eq $type "rows" }}
|
||||
<div class="align-items-{{ $align }} column-gap-3 d-flex flex-wrap justify-content-{{ $justify }} row-gap-3">
|
||||
<div class="align-items-{{ $align }} column-gap-3 d-flex flex-wrap justify-content-{{ $justify }} row-gap-3">
|
||||
{{ with $inner }}
|
||||
{{ . }}
|
||||
{{ else }}
|
||||
{{ range $resources }}
|
||||
{{ partial "paige/image.html" (dict
|
||||
{{- partial "paige/image.html" (dict
|
||||
"breakpoints" $breakpoints
|
||||
"class" $class
|
||||
"densities" $densities
|
||||
@@ -105,14 +110,15 @@
|
||||
"loading" $loading
|
||||
"maxheight" $maxheight
|
||||
"maxwidth" $maxwidth
|
||||
"page" $page
|
||||
"process" $process
|
||||
"resource" .
|
||||
"style" (print $style "; height: auto; max-width: 100%")
|
||||
"width" $width
|
||||
) }}
|
||||
) -}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ else }}
|
||||
{{ errorf "layouts/shortcodes/paige/gallery.html: invalid type: %q" $type }}
|
||||
{{ end }}
|
||||
|
@@ -29,6 +29,7 @@
|
||||
"loading" $loading
|
||||
"maxheight" $maxheight
|
||||
"maxwidth" $maxwidth
|
||||
"page" .Page
|
||||
"process" $process
|
||||
"sizes" $sizes
|
||||
"src" $src
|
||||
|
Reference in New Issue
Block a user