2012-09-21 77 views
2

我在使用Maruku作为HAML中的降价过滤器,它会在每个标题上创建巨大的无用(对我来说)ID。如何防止maruku自己创建ID

所以,如果我有这样的事情

## This is a header 

它会让

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

其中在某一点开始变得可笑,并填充我的HTML与一群的ID我做的不需要,也不想要,因为Maruku为我提供了一种方式来提供自己的身份证,

## {#id} This is a header 

是疗法以任何方式来防止它的行为?

回答

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})紧跟在你希望应用它的块级元素的正下方。