twitter-bootstrap - Hugo 短代码忽略了 "raw HTML omitted"

标签 twitter-bootstrap hugo static-site hugo-shortcode

我编写了一个简码来创建一个 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">&times;</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/

相关文章:

css - 覆盖 bootstrap less 样式

r - 是否可以为 blogdown "new post"插件创建 Rmd 文件模板?

ide - WebStorm 中 Hugo 的语法高亮显示

css - Bootstrap 4 导航栏切换器带有单独的导航栏链接

javascript - Bootstrap 轮播中的 NVD3 图表

markdown - 如何将另一个文件包含在 Hugo/Markdown 页面中?

ruby - jekyll 观看 haml 和 sass

google-app-engine - 静态 html 网站的 Google App Engine 的正确 app.yaml 处理程序配置

javascript - lunr.js 的希腊语支持

html - 如何使 Bootstrap 表单的宽度达到 100%