mirror of
https://github.com/theNewDynamic/gohugo-theme-ananke.git
synced 2025-06-08 09:12:47 +00:00
Support global resources in figure shortcode (#362)
This commit is contained in:
parent
9774c78a2e
commit
bf7a6dc2fa
@ -11,7 +11,7 @@
|
|||||||
If no featured_image was set, and there's no "cover" image in page resources, then
|
If no featured_image was set, and there's no "cover" image in page resources, then
|
||||||
this partial returns false.
|
this partial returns false.
|
||||||
|
|
||||||
@return RelPermalink to featured image, or an empty string if not found.
|
@return a featured image resource, or false if not found.
|
||||||
|
|
||||||
*/}}
|
*/}}
|
||||||
|
|
||||||
@ -19,24 +19,8 @@
|
|||||||
{{ $coverImage := false }}
|
{{ $coverImage := false }}
|
||||||
{{ $matches := "feature,cover" }}
|
{{ $matches := "feature,cover" }}
|
||||||
{{/* Use the value from front matter if present */}}
|
{{/* Use the value from front matter if present */}}
|
||||||
{{ with .Params.featured_image }}
|
{{ if .Params.featured_image }}
|
||||||
{{/* If we find a remote global Resource matching the exact value, we use it. */}}
|
{{ $coverImage = partial "func/GetImageResource" (dict "src" .Params.featured_image "pageResources" .Resources) }}
|
||||||
{{ if (hasPrefix . "http") }}
|
|
||||||
{{ with resources.GetRemote . }}
|
|
||||||
{{ $coverImage = . }}
|
|
||||||
{{ end }}
|
|
||||||
{{ else }}
|
|
||||||
{{/* If we find a local global Resource matching the exact value, we use it. */}}
|
|
||||||
{{/* Matching uses relative paths so strip a leading / character if present. */}}
|
|
||||||
{{ with resources.GetMatch (trim . "/") }}
|
|
||||||
{{ $coverImage = . }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{/* If we find a Page Resource matching the exact value, we use it instead. */}}
|
|
||||||
{{/* Matching uses relative paths so strip a leading / character if present. */}}
|
|
||||||
{{ with $.Resources.GetMatch (trim . "/") }}
|
|
||||||
{{ $coverImage = . }}
|
|
||||||
{{ end }}
|
|
||||||
{{/* Find the first image with 'cover' in the name in this page bundle. */}}
|
{{/* Find the first image with 'cover' in the name in this page bundle. */}}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ with .Resources.ByType "image" }}
|
{{ with .Resources.ByType "image" }}
|
||||||
|
35
layouts/partials/func/GetImageResource
Normal file
35
layouts/partials/func/GetImageResource
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{{/*
|
||||||
|
GetImageResource
|
||||||
|
|
||||||
|
This partial gets an image resource for a given string.
|
||||||
|
|
||||||
|
A matching resource is returned if found in the following search order:
|
||||||
|
|
||||||
|
* A page resource.
|
||||||
|
* If the string begins with "http", a remote global resource.
|
||||||
|
* Otherwise, a local global resource.
|
||||||
|
|
||||||
|
If no matching resource is found, this partial returns false.
|
||||||
|
|
||||||
|
@return an image resource, or false if not found.
|
||||||
|
|
||||||
|
*/}}
|
||||||
|
{{ $imageResource := false }}
|
||||||
|
{{/* If we find a remote global Resource matching the exact value, we use it. */}}
|
||||||
|
{{ if (hasPrefix $.src "http") }}
|
||||||
|
{{ with resources.GetRemote $.src }}
|
||||||
|
{{ $imageResource = . }}
|
||||||
|
{{ end }}
|
||||||
|
{{ else }}
|
||||||
|
{{/* If we find a local global Resource matching the exact value, we use it. */}}
|
||||||
|
{{/* Matching uses relative paths so strip a leading / character if present. */}}
|
||||||
|
{{ with resources.GetMatch (trim $.src "/") }}
|
||||||
|
{{ $imageResource = . }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{/* If we find a Page Resource matching the exact value, we use it instead. */}}
|
||||||
|
{{/* Matching uses relative paths so strip a leading / character if present. */}}
|
||||||
|
{{ with $.pageResources.GetMatch (trim $.src "/") }}
|
||||||
|
{{ $imageResource = . }}
|
||||||
|
{{ end }}
|
||||||
|
{{ return $imageResource }}
|
@ -1,11 +1,12 @@
|
|||||||
{{ $srcset := slice }}
|
{{- $srcset := slice -}}
|
||||||
{{/* Matching uses relative paths so strip a leading / character if present. */}}
|
{{- /* Matching uses relative paths so strip a leading / character if present. */ -}}
|
||||||
{{- with .Page.Resources.GetMatch (trim (.Get "src") "/") -}}
|
{{- $image := partial "func/GetImageResource" (dict "src" (.Get "src") "pageResources" .Page.Resources) -}}
|
||||||
|
{{- with $image -}}
|
||||||
{{- /* Standard width of main is 70% (w-70-ns) */ -}}
|
{{- /* Standard width of main is 70% (w-70-ns) */ -}}
|
||||||
{{- $target_width := 0.70 -}}
|
{{- $target_width := 0.70 -}}
|
||||||
{{ $srcset = partial "func/GetImageSrcset" (dict "original" . "target_width" $target_width) }}
|
{{- $srcset = partial "func/GetImageSrcset" (dict "original" . "target_width" $target_width) -}}
|
||||||
{{ end }}
|
{{- end -}}
|
||||||
{{ $class := .Get "class" | default "mh0" }}
|
{{- $class := .Get "class" | default "mh0" -}}
|
||||||
<figure{{ with $class }} class="{{ . }}"{{ end }}>
|
<figure{{ with $class }} class="{{ . }}"{{ end }}>
|
||||||
{{- if .Get "link" -}}
|
{{- if .Get "link" -}}
|
||||||
<a href="{{ .Get "src" }}"{{ with .Get "target" }} target="{{ . }}"{{ end }}{{ with .Get "rel" }} rel="{{ . }}"{{ end }}>
|
<a href="{{ .Get "src" }}"{{ with .Get "target" }} target="{{ . }}"{{ end }}{{ with .Get "rel" }} rel="{{ . }}"{{ end }}>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user