Inline Shortcodes
Seit Hugo 0.52 können Shortcodes inline implementiert werden. Dies kann für das Scripting nützlich sein, das nur an einer Stelle benötigt wird.
Diese Funktion ist standardmäßig deaktiviert, kann aber in der Konfiguration der Website aktiviert werden:
Konfiguration
enableInlineShortcodes = true
Sie ist aus Sicherheitsgründen standardmäßig deaktiviert. Das Sicherheitsmodell, das von Hugos Template-Handling verwendet wird, geht davon aus, dass Templateautoren vertrauenswürdig sind, aber nicht die Inhaltsdateien, so dass die Templates injection-safe vor fehlerhaften Eingabedaten sind. Aber in den meisten Situationen besteht volle Kontrolle über den Inhalt, und dann gilt enableInlineShortcodes = true
als sicher. Aber es ist etwas, worauf man achten muss: Es ermöglicht die Ausführung von Ad-hoc-Go-Textvorlagen aus den Inhaltsdateien.
Einmal aktiviert, ist z.B. folgendes möglich
{{ < time.inline > }} {{ now }} {{ < /time.inline > }}
und das aktuelle Datum sowie die aktuelle Uhrzeit
2023-03-06 10:00:41.1752988 +0100 CET m=+0.837850301
werden ausgeben.
Photo by Michael Prewett on Unsplash
Zu beachten ist, dass der innere Inhalt eines Inline-Shortcode analysiert und als Go-Textvorlage mit dem gleichen Kontext wie eine normale Shortcode-Vorlage ausgeführt wird.
Das bedeutet, dass die aktuelle Seite über .Page.Title
etc. erreichbar ist. Das bedeutet auch, dass es kein Konzept von “verschachtelten Inline-Shortcodes” gibt.
Der gleiche Inline-Shortcode kann später in derselben Inhaltsdatei wiederverwendet werden - bei Bedarf mit unterschiedlichen Parametern und unter Verwendung der selbstschließenden Syntax:
{{ < time.inline /> }}
ergibt:
2023-03-06 10:00:41.1752988 +0100 CET m=+0.837850301
Shortcodes Images
image
image (prop required: src; props optional: alt, position (left is default | center | right), style)
zum Beispiel
{{ < image src="/posts/forest-landscape-on-sunny-day.jpg" alt="Hello Friend" position="right" style="border-radius: 118px;" >}}

https://www.10stockphotos.com/forest-landscape-on-sunny-day.html
oder
{{ < image src="https://images.unsplash.com/photo-1472893499692-edda378f4af7?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=800&q=80" alt=" skater" position="center" style="border-radius: 550px;" > }}
figure
figure (same as image, plus few optional props: caption, captionPosition (left | center is default | right), captionStyle
zum Beispiel
{{ < figure src="/posts/forest-landscape-on-sunny-day.jpg" alt="Wald an einem sonnigen Tag" position="center" style="border-radius: 118px;" caption="Hello Friend!" captionPosition="right" captionStyle="color: red;" > }}

https://www.10stockphotos.com/forest-landscape-on-sunny-day.html
oder
{{ < figure src="/15511742621_234d2e3ed8_z.jpg" alt="Woodland" position="right" caption=" " captionPosition="right" class="right"> }}

Photo credit: Chris Morriss on VisualHunt.com / CC BY
Cratcliffe Tor woodland: To the east of Robin Hoods Stride is another gritstone outcrop. This path through the woodland among the rocks leads to the Hermit’s Cave.