我编写了一个简码来创建一个 Bootstrap 可关闭的警报框。下面是我的简码,称为 layouts/shortcodes/message.html
.
<div class="alert alert-{{.Get 0}} alert-dismissible fade show" role="alert">
{{.Inner}}
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
这就是我从内容 Markdown 文件中调用的方式:{{% message warning%}}
This can cause build errors
{{% /message %}}
但是,在输出 HTML 中,会生成以下代码:<!-- raw HTML omitted -->
<p>This can cause build errors</p>
<!-- raw HTML omitted -->
我不明白这里有什么问题。我创建了其他简码(虽然不使用 .Inner,但这是我的第一次尝试)并且它们工作正常,例如我为像 pinterest 这样的图像网格创建了一个简码,它接受多达 10 个图像 URL 并输出 HTML。不知道为什么这个特定的 .Inner 短代码会失败。请帮忙。我的 Hugo 版本是 v0.74.3/extended darwin/amd64
.编辑
当我使用标签
{{< >}}
而不是 {{% %}}
然后它工作。但我可能会在内部文本中放一些 Markdown ,因此想使用 {{% %}}
.如果我理解正确,请使用
{{% %}}
将首先处理内部文本中的 Markdown ,然后将其作为 .Inner
传递给简码.
最佳答案
这是 Newest 'hugo' Questions - Stack Overflow 中最常见的问题在过去 5 天内!¹
在你的 Hugo 配置文件中,你需要告诉默认的 Markdown 渲染器,即 Goldmark,来渲染原始 HTML。如果您使用 config.yaml,请使用以下命令:
markup:
goldmark:
renderer:
unsafe: true
如果您使用 config.toml,请使用以下命令:[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
我在我的网站上写过这个 http://www.ii.com/hugo-tips-fragments/#_markup .
关于twitter-bootstrap - Hugo 短代码忽略了 "raw HTML omitted",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63198652/