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