我正在尝试使用 this theme与杰基尔。但是,我生成的 JavaScript 附加了非法字符,导致页面渲染时出现错误。
特别是,一旦渲染到 _site
中,js/init.js
似乎就会在其末尾添加两个字符。在 Sublime Text 中它们显示为 NUL
,在 vi 中它们显示为 ^@
。
我从 Trusty Vagrant VM 运行 Jekyll,源存储库是到我的 Windows 主机的映射卷。我目前尚未编辑任何文件,因此我看不出它与行结尾有任何关系。
有什么想法吗?
最佳答案
(我知道,这是一个非常古老的问题。)
TL;DR:解决方案:将 frontmatter 应用到 Javascript 文件。
在几个月的时间里,我一直遇到这个问题,并且在搜索中没有找到解决方案。终于今天,我想我已经解决了我自己的问题......
事实证明,Jekyll 正在尝试将该文件(至少在我的情况下出现)作为页面文档进行处理,因此它会查找 frontmatter,并且由于某种原因无法在文件丢失时呈现该文件。
在我的脚本中添加一些 frontmatter 后,即使它本身破坏了文件的 Javascript 兼容性,Jekyll 似乎也能很好地处理它,而且我不再看到尾随的 ^@
字符(等)。
带有 frontmatter 的示例脚本
这种策略还有一些辅助功能......
---
some_variable: "yourvalue"
---
// access the value from the frontmatter within your script.
document.body.getElementById("mydiv").innerHTML = "{{some_variable}}";
关于javascript - Jekyll 在 JavaScript 中添加空字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30077976/