我有这个jade代码:
p
| Avatar hosted by
a(href='http://www.gravatar.com/', target='_blank') Gravatar
问题是,它被渲染到
<p>Avatar hosted by<a href="http://www.gravatar.com/" target="_blank">Gravatar</a></p>
看起来像:“由Gravatar托管的头像”。
无论我在文本行的末尾添加了多少空格,它仍然看起来像这样。 Docs无法帮助我,我无法想象这是一个不常见的问题。
答案 0 :(得分:55)
如果您不想在代码中使用内联HTML或HTML实体,则可以执行以下操作:
p
| Avatar hosted by
= ' '
a(href='http://www.gravatar.com/', target='_blank') Gravatar
或者这是更短的
p= 'Avatar hosted by '
a(href='http://www.gravatar.com/', target='_blank') Gravatar
最干净的可能是这个
p Avatar hosted by #{''}
a(href='http://www.gravatar.com/', target='_blank') Gravatar
答案 1 :(得分:39)
您使用的是哪个版本的玉?我刚刚在'by'之后用一个空格测试(用0.25.0),并且它工作正常。
其他选项包括:
p
| Avatar hosted by
a(href='http://www.gravatar.com/', target='_blank') Gravatar
或
p
| Avatar hosted by
| <a href='http://www.gravatar.com/' target='_blank'>Gravatar</a>
答案 2 :(得分:18)
Jade现在支持内联标签的插值。
p this is #[strong test] of how jade will treat #[i #[u inline tags]]... like #[a(href="/") anchor tags] and #[+a() mixins].
答案 3 :(得分:6)
你确定这不是你的编辑吗?我使用Komodo并设置为在保存时去除尾随空格。当我保存文件时,它正在剥离文本行末尾的空格。我的文字和链接之间缺乏空间让我疯狂,直到我想出来。我更改了Komodo的设置(Preferences-&gt; Editor-&gt; Save Options)以取消选中strip trailing white space,问题就消失了。
答案 4 :(得分:2)
我在新行使用space
变量。这样:
p
| You must follow
=space
a(href=default_url) this link
答案 5 :(得分:1)
修改强>
正如jmar777指出的那样,最近版本的jade应该尊重尾随空格see here。这太棒了,我可能会在未来的项目上再次尝试玉器。
修改强> 更新了玉器解析器的链接。 Original link是为了玉1.11。
答案 6 :(得分:0)
快速而干净的解决方案是使用以下语法:
p
| Avatar hosted by
|
a(href='http://www.gravatar.com/', target='_blank') Gravatar
请注意第二个文本行中|
之后的空格。这将在上一行的文本后面添加一个空格(如果忘记添加它,也会发出一个令人讨厌的错误!)。
到目前为止,这是我认为最干净的选择。
答案 7 :(得分:0)
我正在使用Harp,而ÓscarGómez的solution with two pipes会引发错误,尽管它看起来非常优雅。
感谢ДаниилПронин和Sean Gravener,我发现这些解决方案对我有用:
#{' '}
!{' '}
和
= " "
p
| Avatar hosted by #{' '}
a(href='http://www.gravatar.com/', target='_blank') Gravatar
和
p
| Avatar hosted by
= ' '
a(href='http://www.gravatar.com/', target='_blank') Gravatar
另外,如果你遇到了相反的情况: span text#{ref + ['']}
以下是Pug(Jade)中语法插值的更多信息: https://pugjs.org/language/interpolation.html