在Jade的行尾添加一个空格

时间:2012-05-09 12:35:54

标签: node.js express pug

我有这个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无法帮助我,我无法想象这是一个不常见的问题。

8 个答案:

答案 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&nbsp;
    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].

http://jade-lang.com/reference/interpolation/

答案 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