如何删除haml生成的空间

时间:2014-11-20 20:24:02

标签: ruby-on-rails haml

我正在使用haml,我有一些强文本但是在继续文本后,haml在强文本和非强文本之间添加了一个空格。有没有办法删除它,或者写这句话的正确方法。

%strong
  Unmet
, indicating your requirements are not satisfied.

这会生成

Unmet , indicating your requirements are not satisfied.

'Unmet'和','

之间有一个空格

如何删除该空间?

我读过的一个解决方案是使用haml助手,但对于这个小东西来说似乎过分了。

如果我在开始时需要空间但不在强标签的末尾,那该怎么办呢。

This is
%strong
  Unmet
, indicating your requirements are not satisfied.

我希望结果像

This is Unmet, indicating your requirements are not satisfied.

2 个答案:

答案 0 :(得分:1)

根据docs,>和<让您更好地控制标签附近的空白。 >将删除标签周围的所有空格,而<将立即删除标记内的所有空格。

%strong<>
  Unmet
, indicating your requirements are not satisfied.

产生

  

未满足,表示您的要求不满意。

编辑:

如果要在标记之前添加空格(没有HAML帮助函数),那么我认为最简单的选择是将&nbsp;包含在您想要单个空格的位置。

I know this guy&nbsp;
%strong<>
  John
, he is very nice

产生

  

我认识这个人 John ,他非常好

答案 1 :(得分:1)

对于像这样的事情,哈姆并不是很了解。来自the FAQ

  

表达文档的结构并表达内联格式是两个非常不同的问题。 Haml主要是为结构而设计的,因此处理格式化的最佳方法是将其留给其他专为其设计的语言。

最简单的方法就是包含HTML内联:

This is <strong>Unmet</strong>, indicating your requirements are not satisfied.

另一种方法是使用不同的语言,如常见问题建议,通过过滤器,如markdown:

:markdown
  This is **Unmet**, indicating your requirements are not satisfied.

请注意,如果需要动态内容,可以在过滤器中使用插值(#{...})。