Как запретить Маруку самостоятельно создавать идентификаторы

Я использую Maruku как фильтр уценки в HAML, и он создает огромные бесполезные (для меня) идентификаторы в каждом заголовке.

Так что, если у меня есть что-то вроде этого

## This is a header

Это сделает

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

Который в определенный момент начинает становиться смешным и наполняет мой HTML набором идентификаторов, которые мне не нужны или не нужны, поскольку Maruku предоставляет мне способ предоставления своих идентификаторов,

## {#id} This is a header

Есть ли способ предотвратить его поведение?

1 ответ

Решение

Maruku устарела, и вместо этого вам стоит подумать о переходе на kramdown (теперь MIT-лицензированный).

kramdown позволяет отключить автоматическую генерацию идентификаторов заголовков следующим образом:

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}) следует за строкой непосредственно под элементом уровня блока, к которому вы хотите применить его.

Другие вопросы по тегам