2

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

所以如果我有这样的事情

## This is a header

它会让

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

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

## {#id} This is a header

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

4

1 回答 1

1

Maruku 已过时,您应该考虑切换到 kramdown(现在获得 MIT 许可)。

kramdown 允许您关闭自动生成标头 ID,如下所示

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

同样在 kramdown 中,如果要在标头上设置自己的 ID 属性,可以执行以下操作:

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

于 2013-10-24T05:53:26.207 回答