3

我不想要以下提供的额外包装 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/

4

2 回答 2

2

简短的回答似乎是:。这是 Markdown 问题,而不是 HAML 问题。

您可以通过直接在markdown块中使用 HTML 来做到这一点:

:markdown
  <p class="note">
    some more HTML
  </p>

但是你不能在标签内粘贴 markdown,因为那里的所有内容都被解释为 HTML 而不是 Markdown。可能有一些扩展允许您添加这样的类,但显然这在本机是不可能的。

于 2012-11-27T06:04:08.047 回答
0

我发现这样做的最好方法是使用 Maruku 过滤器(您可能需要 haml-contrib gem),因为 Maruku 实现了标准 Markdown 的PHP Markdown Extra扩展。这使得很多简洁的东西成为可能,包括在封闭的块元素中指定 Markdown 解析markdown='1',所以你可以做

: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&#8217;t use Haml for markup</a>, for your sake!</p>

(是的,在这种情况下,链接 ref 需要在之后</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>
于 2013-10-18T06:01:20.783 回答