如何防止maruku自己创建ID

时间:2012-09-21 21:50:42

标签: haml markdown maruku

我在HAML中使用Maruku作为降价过滤器,它会在每个标题上创建巨大的无用(对我而言)。

所以,如果我有这样的东西

## This is a header

它会成为

<h2 id="this_is_a_header">This is a header</h2>

在某一点上开始变得荒谬,并用我不需要的一堆ID填充我的HTML,也不想要,因为Maruku为我提供了一种提供我自己ID的方法,

## {#id} This is a header

有没有办法阻止它的行为?

1 个答案:

答案 0 :(得分:1)

Maruku is obsolete而你应该考虑切换到kramdown(现在获得MIT许可)。

kramdown允许您switch off auto-generation of header IDs like so

puts Kramdown::Document.new("# Header with spaces #", :auto_ids => false).to_html

同样在kramdown中,如果你想在标题上set your own ID attribute,你可以执行以下操作:

raw_text = "# Header with spaces #
  {: #pumice-stone}"

puts Kramdown::Document.new(raw_text, :auto_ids => false).to_html

输出:

<h1 id="pumice-stone">Header with spaces</h1>

请注意,自定义属性({: #pumice-stone})位于您希望应用它的块级元素正下方的行上。