我不想要以下提供的额外包装div:
.note
:markdown
Please, [don't use Haml for markup][x], for your sake!
[x]: http://chriseppstein.github.com/blog/2010/02/08/haml-sucks-for-content/
但我不想写这个:
%p.note
Please,
= link_to("don't use Haml for markup", "http://chriseppstein.github.com/blog/2010/02/08/haml-sucks-for-content/") + ", for your sake!"
有没有办法使用:markdown
,还可以在生成的段落标记中附加CSS类?
请参阅:http://chriseppstein.github.com/blog/2010/02/08/haml-sucks-for-content/
答案 0 :(得分:2)
简短的回答似乎是:no。这是Markdown问题,而不是HAML问题。
您可以直接在markdown
块中使用HTML来实现:
:markdown
<p class="note">
some more HTML
</p>
但是你不能在标签内部贴上标记,因为在那里的翻译被解释为HTML而不是Markdown。可能有扩展允许您添加这样的类,但显然本身不可能。
答案 1 :(得分:0)
我发现这样做的最好方法是使用Maruku过滤器(你可能需要haml-contrib gem),因为Maruku实现了标准Markdown的PHP Markdown Extra扩展。这使得很多东西成为可能,包括在markdown='1'
的封闭块元素中指定Markdown解析,所以你可以做
:maruku
<p class='note' markdown='1'>
Please, [don't use Haml for markup][x], for your sake!
</p>
[x]: http://chriseppstein.github.com/blog/2010/02/08/haml-sucks-for-content/
成为
<p class='note'>Please, <a href='http://chriseppstein.github.com/blog/2010/02/08/haml-sucks-for-content/'>don’t use Haml for markup</a>, for your sake!</p>
(是的,在这种情况下,链接引用需要在</p>
之后。)
请注意,在这种情况下,Maruku不会插入额外的包装元素。
使用这种语法将类放在其他元素上更容易:
:maruku
# Cool stuff {#cool_stuff}
You can put classes and IDs on [links](links.html){.links} too.
变为
<h1 id='cool_stuff'>Cool stuff</h1>
<p>You can put classes and IDs on <a class='links' href='links.html'>links</a> too.</p>