🚸 Allow `figure` to revert to default behaviour

pull/100/head
James Panther 2022-02-03 11:37:09 +11:00
parent 0602108f56
commit 54d74316d3
No known key found for this signature in database
GPG Key ID: D36F789E45745D17
2 changed files with 31 additions and 26 deletions

View File

@ -101,16 +101,17 @@ Congo includes a `figure` shortcode for adding images to content. The shortcode
Images included using `figure` will be optimised using Hugo Pipes and scaled in order to provide images appropriate to different device resolutions. Images included using `figure` will be optimised using Hugo Pipes and scaled in order to provide images appropriate to different device resolutions.
The `figure` shortcode accepts five parameters: The `figure` shortcode accepts six parameters:
<!-- prettier-ignore-start --> <!-- prettier-ignore-start -->
|Parameter|Description| |Parameter|Description|
|---|---| |---|---|
|`src`|**Required.** The filename of the image. This image must be a [page resource](https://gohugo.io/content-management/page-resources/) bundled with the page.| |`src`|**Required.** The filename of the image. This image must be a [page resource](https://gohugo.io/content-management/page-resources/) bundled with the page.|
|`alt`|[Alternative text description](https://moz.com/learn/seo/alt-text) for the image.| |`alt`|[Alternative text description](https://moz.com/learn/seo/alt-text) for the image.|
|`caption`|Markdown for the image caption which will be displayed below the image.| |`caption`|Markdown for the image caption, which will be displayed below the image.|
|`class`|Additional CSS classes to add to the image.| |`class`|Additional CSS classes to apply to the image.|
`href`|URL that the image should be linked to.| |`href`|URL that the image should be linked to.|
|`default`|Special parameter to revert to default Hugo `figure` behaviour. Simply provide `default=true` and then use normal [Hugo shortcode syntax](https://gohugo.io/content-management/shortcodes/#figure).|
<!-- prettier-ignore-end --> <!-- prettier-ignore-end -->
Congo also supports automatic conversion of images included using standard Markdown syntax. Simply use the following format and the theme will handle the rest: Congo also supports automatic conversion of images included using standard Markdown syntax. Simply use the following format and the theme will handle the rest:

View File

@ -1,8 +1,11 @@
{{ $altText := .Get "alt" }} {{ if .Get "default" }}
{{ $caption := .Get "caption" }} {{ template "_internal/shortcodes/figure.html" . }}
{{ $href := .Get "href" }} {{ else }}
{{ $class := .Get "class" }} {{ $altText := .Get "alt" }}
{{ with $.Page.Resources.GetMatch (.Get "src") }} {{ $caption := .Get "caption" }}
{{ $href := .Get "href" }}
{{ $class := .Get "class" }}
{{ with $.Page.Resources.GetMatch (.Get "src") }}
<figure {{ with $class }}class="{{ . }}"{{ end }}> <figure {{ with $class }}class="{{ . }}"{{ end }}>
{{ with $href }}<a href="{{ . }}">{{ end }} {{ with $href }}<a href="{{ . }}">{{ end }}
<img <img
@ -18,6 +21,7 @@
{{ if $href }}</a>{{ end }} {{ if $href }}</a>{{ end }}
{{ with $caption }}<figcaption>{{ . | markdownify }}</figcaption>{{ end }} {{ with $caption }}<figcaption>{{ . | markdownify }}</figcaption>{{ end }}
</figure> </figure>
{{ else }} {{ else }}
{{ errorf `[CONGO] Shortcode "figure" error in "%s": Resource "%s" not found. Check the path is correct or remove the shortcode.` .Page.Path (.Get "src") }} {{ errorf `[CONGO] Shortcode "figure" error in "%s": Resource "%s" not found. Check the path is correct or remove the shortcode.` .Page.Path (.Get "src") }}
{{ end }}
{{ end }} {{ end }}