Hugo 部分转义 Javascript,代码被破坏
Hugo escapes Javascript in partial, code gets broken
此代码段发布在 Hugo 的 MathJax 支持页面中。我把它插入到一个部分(比如,head.html
)。
<script type="text/x-mathjax-config">
MathJax.Hub.Queue(function() {
// Fix <code> tags after MathJax finishes running. This is a
// hack to overcome a shortcoming of Markdown. Discussion at
// https://github.com/mojombo/jekyll/issues/199
var all = MathJax.Hub.getAllJax(), i;
for(i = 0; i < all.length; i += 1) {
all[i].SourceElement().parentNode.className += ' has-jax';
}
});
</script>
当页面加载时,浏览器尝试执行它,但在控制台中写入异常:
VM14379:7 Uncaught SyntaxError: Unexpected token ;
at eval (<anonymous>)
我点击那一行,看到这个:
我说的对吗,是因为 <
被转义了?如何解决?
(编辑: 将此移动到 my-theme/layouts/index.html
使代码从呈现的页面中完全消失。在 layouts/_default/single.html
中它仍然会导致相同的错误。)
Hugo 版本为 0.21。
找到解决方案:将 type="text/x-mathjax-config"
更改为 type="text/javascript"
,并且一切正常。
此代码段发布在 Hugo 的 MathJax 支持页面中。我把它插入到一个部分(比如,head.html
)。
<script type="text/x-mathjax-config">
MathJax.Hub.Queue(function() {
// Fix <code> tags after MathJax finishes running. This is a
// hack to overcome a shortcoming of Markdown. Discussion at
// https://github.com/mojombo/jekyll/issues/199
var all = MathJax.Hub.getAllJax(), i;
for(i = 0; i < all.length; i += 1) {
all[i].SourceElement().parentNode.className += ' has-jax';
}
});
</script>
当页面加载时,浏览器尝试执行它,但在控制台中写入异常:
VM14379:7 Uncaught SyntaxError: Unexpected token ;
at eval (<anonymous>)
我点击那一行,看到这个:
我说的对吗,是因为 <
被转义了?如何解决?
(编辑: 将此移动到 my-theme/layouts/index.html
使代码从呈现的页面中完全消失。在 layouts/_default/single.html
中它仍然会导致相同的错误。)
Hugo 版本为 0.21。
找到解决方案:将 type="text/x-mathjax-config"
更改为 type="text/javascript"
,并且一切正常。