我刚刚开始使用竖琴0.30.1 https://www.npmjs.com/package/harpJade 附带安装作为预处理器。所以我也从 Jade 开始。
我有一个文件夹,其中包含一组文件,文件名如下This-is-an-MD-file.md
。随着index.jade
文件在此文件夹中,我想生成以下 HTML 输出:
<ul>
<li><a href="This-is-an-MD-file.html">This is an MD file</a></li>
</ul>
我对 Jade 和 mixins 有足够的了解来制作这个......
- var trim = function(string) {
- var index = string.lastIndexOf(".")
- return string.substring(0, index).replace(/-/g, " ")
- }
mixin link(fileName)
li
a(href='#{fileName}') #{trim(fileName)}
ul
for file in public._contents
- if (file !== "index.html"){
+link(file)
-}
...这给了我我想要的。
但是,如果我尝试使用" "
代替" "
在替换函数中,我看到 HTML 输出使用&
而不是&
特点。
<li>
<a href="This-is-an-MD-file.html">
This&nbsp;is&nbsp;and&nbsp;MD&nbsp;file
</a>
</li>
这不是我想要的。
这仅发生在 JavaScript 函数中。如果我使用
在普通的 Jade 标记部分,就像这样......
p non breaking space
... HTML 的输出完全符合预期。
为什么会发生这种情况?有没有办法逃脱&
JavaScript 部分中的字符,以便它不会转换为 HTML 实体?