首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在短代码定义中使用短代码

在短代码定义中使用短代码
EN

Stack Overflow用户
提问于 2019-03-28 15:45:22
回答 2查看 1.6K关注 0票数 13

如何在Hugo中在另一个短代码中重用一个短代码?

我只找到了一种在减价内嵌套短代码的方法,但我想要做的是在另一个短代码的定义中重用一个短代码。

EN

回答 2

Stack Overflow用户

发布于 2019-03-31 12:56:35

不在定义中,但可以使用嵌套的短代码。

嵌套方法是正式的方法(如在此讨论):

嵌套短码 您可以通过创建利用.Parent变量的自己的模板来调用其他短代码中的短代码。 .Parent允许您检查正在调用短代码的上下文。 见短代码模板

请参阅插图在这里:这是一个解决方案,而不是使用另一个短代码。

票数 5
EN

Stack Overflow用户

发布于 2022-08-14 17:13:20

您可以使用部分来解决这个问题:您可以将可重用的短代码外包到一个分部中,并根据需要在您的短代码中调用它。为了举个例子,我将编写自己的字符串到小写函数:

layout/partials/string-to-lower.html

代码语言:javascript
复制
{{- $stringOriginal := . -}}
{{- $stringLower := $stringOriginal | lower -}}
{{- return $stringLower -}}

layout/shortcodes/some-shortcode.html

代码语言:javascript
复制
{{- $myString := "TeST" -}}
{{- partial "string-to-lower" $myString -}}

然后{{< some-shortcode >}}将在您的内容中打印test

如果您想不仅在其他的短代码中,而且在您的内容中使用您的短代码,那么您可以为您的外包的短代码(部分)使用包装器短代码:

layout/partials/string-to-lower.html (外包代码):

代码语言:javascript
复制
{{- $stringOriginal := . -}}
{{- $stringLower := $stringOriginal | lower -}}
{{- return $stringLower -}}

layout/shortcodes/string-to-lower.html (包装器):

代码语言:javascript
复制
{{- with .Get 0 -}}
    {{- partial "string-to-lower" . -}}
{{- end -}}

然后,您可以在内容中使用{{< string-to-lower "TeST" >}},在模板中使用{{- partial "string-to-lower" "TeST" -}}来打印test

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55401755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档