如何在Hugo中在另一个短代码中重用一个短代码?
我只找到了一种在减价内嵌套短代码的方法,但我想要做的是在另一个短代码的定义中重用一个短代码。
发布于 2019-03-31 12:56:35
发布于 2022-08-14 17:13:20
您可以使用部分来解决这个问题:您可以将可重用的短代码外包到一个分部中,并根据需要在您的短代码中调用它。为了举个例子,我将编写自己的字符串到小写函数:
layout/partials/string-to-lower.html
{{- $stringOriginal := . -}}
{{- $stringLower := $stringOriginal | lower -}}
{{- return $stringLower -}}layout/shortcodes/some-shortcode.html
{{- $myString := "TeST" -}}
{{- partial "string-to-lower" $myString -}}然后{{< some-shortcode >}}将在您的内容中打印test。
如果您想不仅在其他的短代码中,而且在您的内容中使用您的短代码,那么您可以为您的外包的短代码(部分)使用包装器短代码:
layout/partials/string-to-lower.html (外包代码):
{{- $stringOriginal := . -}}
{{- $stringLower := $stringOriginal | lower -}}
{{- return $stringLower -}}layout/shortcodes/string-to-lower.html (包装器):
{{- with .Get 0 -}}
{{- partial "string-to-lower" . -}}
{{- end -}}然后,您可以在内容中使用{{< string-to-lower "TeST" >}},在模板中使用{{- partial "string-to-lower" "TeST" -}}来打印test。
https://stackoverflow.com/questions/55401755
复制相似问题