40

我有这个代码:

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托管的头像”。

不管我在文本行末尾添加了多少空格,它仍然是这样的。文档无法帮助我,我无法想象这是一个如此罕见的问题。

4

8 回答 8

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
于 2013-10-09T15:28:23.097 回答
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>
于 2012-05-09T12:49:14.410 回答
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/

于 2015-02-19T19:17:35.537 回答
6

你确定不是你的编辑?我使用 Komodo,它被设置为在保存时去除尾随空格。当我保存文件时,它正在剥离我的文本行末尾的空间。在我弄清楚之前,我的文本和链接之间没有空格让我发疯。我更改了 Komodo 的设置(首选项-> 编辑器-> 保存选项)以取消选中去除尾随空格,问题就消失了。

于 2013-03-28T09:43:47.307 回答
2

space在新行使用变量。这:

p
    | You must follow
    =space
    a(href=default_url) this link
于 2014-05-14T04:49:57.993 回答
1

编辑:
正如 jmar777 所指出的,最新版本的玉应该尊重尾随空格,请参见此处。太棒了,我可能会在未来的项目中再次尝试使用玉。

编辑: 更新了玉解析器的链接。原始链接适用于玉 1.11。

于 2012-05-09T12:45:35.543 回答
0

一个快速而干净的解决方案是使用以下语法:

p
    | Avatar hosted by
    | 
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

注意|第二个文本行后面的空格。这将在上一行的文本之后添加一个空格(如果您忘记添加它,还会吐出一个令人讨厌的错误!)。

在我看来,到目前为止,这是最干净的选择。

于 2016-11-17T22:33:58.557 回答
0

我正在使用 Harp, Óscar Gómez 的带有两个管道的解决方案会引发错误,尽管它看起来非常优雅。

感谢 Даниил Пронин 和 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

于 2017-04-24T20:01:11.497 回答