Add target parameter to figure shortcode

Add the "target" parameter to the figure.html shortcode.
If defined then add this target property to the href of the figure,
which allows the link to, e.g., open in a new tab.

Add description of target to docs
This commit is contained in:
Graeme A Stewart 2024-03-05 13:57:04 +01:00
parent 480497bb6c
commit fdb7bbd3c0
2 changed files with 3 additions and 1 deletions

View file

@ -204,6 +204,7 @@ The `figure` shortcode accepts six parameters:
| `caption` | Markdown for the image caption, which will be displayed below the image. |
| `class` | Additional CSS classes to apply to the image. |
| `href` | URL that the image should be linked to. |
| `target` | The target attribute for the `href` URL. |
| `nozoom` | `nozoom=true` disables the image "zoom" functionality. This is most useful in combination with a `href` link. |
| `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 -->

View file

@ -7,6 +7,7 @@
{{ $caption := .Get "caption" }}
{{ $href := .Get "href" }}
{{ $class := .Get "class" }}
{{ $target := .Get "target" }}
{{ $nozoom := .Get "nozoom" | default false }}
{{ if findRE "^https?" $url.Scheme }}
<figure>
@ -22,7 +23,7 @@
{{ end }}
{{ with $resource }}
<figure {{ with $class }}class="{{ . }}"{{ end }}>
{{ with $href }}<a href="{{ . }}">{{ end }}
{{ with $href }}<a href="{{ . }}" {{ with $target }}target="{{ . }}"{{ end }}>{{ end }}
{{ if $disableImageOptimization }}
<img
class="my-0 rounded-md{{ if $nozoom }} nozoom{{ end }}"