在这个简短的教程中,了解是什么原因导致了原始HTML的承诺,以及如何修复它。
发布关于以下错误的解决方案
- 在Hugo中添加原始HTML帖子不显示
- HTML标签没有被解析到markdown文件中
雨果短代码将自定义HTML、javascript放在雨果内容文件的go HTML模板文件中,在雨果模板处理过程中产生处理HTML。
例如,我写了简码rawhtml,在内容页partial/shortcode/rawhtml.html中显示HTML代码。
{{.Inner}}
在content文件夹内,rawhtml短码被用在markdown文件中,如下图所示。 这将原始的html打印到html ui页面,你必须用短码包裹html代码。
<div styles="font-weight:700"> Inline styles example</div>
不知何故,短码什么也不显示,而且在生成的HTML中,原始HTML被提交为一个错误。
如果你在Hugo的短代码中使用HTML 和javascript ,在HTML中什么都不显示。在检查生成的HTML代码时,Hugo短码在HTML内容中显示 "raw HTML omitted"。
什么原因导致原始HTML
这个错误的原因是由于渲染的markdown不能理解你在短代码中的HTML。
从Hugo V.0.60开始,默认的markdown渲染器是Gold mark。
Goldmark渲染引擎默认忽略了原始HTML。所以你必须使用配置参数来告诉你。
这个解决方案可以让Markdown渲染器使用Goldmark渲染器,通过配置考虑原始HTML。
修复方法是在配置文件中加入 markup.goldmark.renderer.unsafe: true。
如果你正在使用config.yaml文件
markup:
goldmark:
renderer:
unsafe: true
对于config.toml文件
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
总结
总而言之,要学会理解Goldmark的markdown渲染和忽略原始HTML,并对其进行修复。