在html中,你可以做这样的事情
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget
aliquet odio. Fusce id quam eu augue sollicitudin imperdiet eu ac eros.
<em>Etiam nec nisi lorem</em>, ac venenatis ipsum. In sollicitudin,
lectus eget varius tincidunt, felis sapien porta eros, non
pellentesque dui quam vitae tellus.
</p>
Run Code Online (Sandbox Code Playgroud)
这很好,因为文本段落看起来仍然像标记中的段落.在haml中,它看起来像这样
%p
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget
aliquet odio. Fusce id quam eu augue sollicitudin imperdiet eu ac eros.
%em Etiam nec nisi lorem
, ac venenatis ipsum. In sollicitudin,
lectus eget varius tincidunt, felis sapien porta eros, non
pellentesque dui quam vitae tellus.
有没有办法在haml中完全内联一个标签?
And*_*Vit 65
Haml擅长结构化标记,但它并不是真正用于内联标记.阅读:Haml Sucks for Content.只需将您的内联标记设置为HTML:
.content
%p
Lorem ipsum <em>dolor</em> sit amet.
Run Code Online (Sandbox Code Playgroud)
或者使用过滤器:
.content
:markdown
Lorem ipsum *dolor* sit amet.
Run Code Online (Sandbox Code Playgroud)
Skä*_*nen 21
我知道这是旧的.但想到我发布这个以防万一有人降落在这里.你也可以用haml做这种事情(也许还有OP正在寻找的东西?).
%p Here is some text I want to #{content_tag(:em, "emphasize!")}, and here the word #{content_tag(:strong, "BOLD")} is in bold. and #{link_to("click here", "url")} for a link.
Run Code Online (Sandbox Code Playgroud)
对于那些在多行上添加空格而你不想要IE的情况很有用当你在一个句子的末尾有一个链接时,并且不希望链接和句点之间有那么愚蠢的空格.(或者在OP的例子中,在逗号和逗号之间会有一个空格.
只是不要像我在示例中那样被带走:)
您可以在任何HAML中内联HTML
%p!= "Lorem ipsum <em>dolor</em> sit amet"
Run Code Online (Sandbox Code Playgroud)
!=运算符意味着无论右侧返回它都将被输出.
作为其他人的这些不错答案的混合体,我认为您可以application_helper.rb为您经常使用的一些内联标记定义一个 Helper 方法。您不需要将 HTML 与 HAML 混合使用,也不需要输入太多内容。
在你的帮手里;
def em(text)
content_tag(:em, text)
end
#def em(text)
# "<em>#{text}</em>".html_safe
#end
Run Code Online (Sandbox Code Playgroud)
在你的哈姆里;
%p
Lorem ipsum dolor 坐 amet,consectetur adipiscing 精英。存在感
奥利奥奥。Fusce id quam eu augue sollicitudin imperdiet eu ac eros。
#{em 'Etiam nec nisi lorem'},ac venenatis ipsum。在应征中,
lectus eget varius tincidunt,felis sapien porta eros,非
pellentesque dui quam vitaetellus。