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;" >}}
Wald an einem sonnigen Tag

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;" > }}
 skater

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;" > }}
Wald an einem sonnigen Tag
Hello Friend!

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"> }}
Woodland

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.