首页 > 解决方案 > 如何使用 Hugo 嵌套短代码?省略了原始 HTML

问题描述

我在 hugo 中遇到了短代码问题。

  1. 为了制作一些 text-align:right 我制作了一个 Align 简码。
  2. 为了给文本添加一些颜色,我制作了一个颜色简码。
  3. 要将一些内容包装到奶油面板中,我有一个提示短代码。

1 2 3 单独工作得很好,但是当我在一个配置中,奶油面板内的一些文本需要在右侧或彩色时,我无法做到这一点。通过查看 html 呈现的源代码,我看到 <--- raw HTML ommitted --->

文档.md:

{{< hint cream >}}
Lorem {{< color red >}}ipsum{{< /color >}} example.
{{< align right >}}John Doe{{< /align >}}
{{< /hint >}}

提示短代码:

<blockquote class="hint {{ .Get 0 }}">
  {{ .Inner | markdownify }}
</blockquote>

对齐简码:

<p style="text-align:{{.Get 0}}">{{ .Inner }}</p>

颜色简码:

<span style="color:{{.Get 0}}">{{ .Inner | markdownify }}</span>

它应该导致:

<blockquote class="hint cream">
<p>Lorem <span style="color:red">ipsum</span> example.
<p style="text-align:right">John Doe</p>
</blockquote>

但结果是:

<blockquote class="hint cream">
<p>Lorem <--- raw HTML ommitted --->ipsum<--- raw HTML ommitted ---> example.
<--- raw HTML ommitted --->
</blockquote>

有人可以解释一下这有什么问题吗?

标签: syntaxnestedhugohugo-shortcode

解决方案


我终于发现了。如果有人需要答案,请在站点的 config.toml 文件中添加

[markup.goldmark.renderer]
unsafe= true

然后它将起作用。


推荐阅读