2016-03-10 7 views
0

Мы создаем довольно сложный документ с использованием Pandoc, и мы сталкиваемся с ограничением Pandoc уровня заголовков (который установлен в 6, я думаю, что он основан на HTML).У вас больше уровней заголовков в Pandoc?

Учитывая тот факт, что с помощью role="heading" и aria-level="X" можно создавать уровни заголовка HTML еще глубже, чем 6, я хотел спросить, есть ли способ сделать Pandoc более глубокими.

Дело в том, что мы формируем документ Слово Docx, и Слово это также поддерживает уровни заголовков глубже, чем 6.

ответ

0

Я сомневаюсь, что это возможно с любым Markdown анализатором. Сам Markdown ограничен 6 уровнями, основанными на предположении, что HTML. В соответствии с правилами state:

Заголовки в стиле Atx используют 1-6 хеш-символов в начале строки, соответствующие уровням заголовков 1-6.

Фактически, когда вы используете больше шести хэшей, дополнительные хэши просто игнорируются. См. Babelmark для сравнения многих реализаций.

В самом деле, тем более явным (и строже) CommonMark спецификации states что ...

Более шести # символов не заголовок

Что интересно, что в том, что CommonMark (новее, чем HTML5), в то время как Markdown очень старый (поздняя версия Markdown переключилась на новую горячность времени: XHTML). Дело в том, что более слабая спецификация - это время, когда не было возможности представить более 6 уровней в HTML, а более новая спецификация явно запрещает более 6 уровней, даже если это возможно в HTML.

+0

Спасибо. Да, в HTML5 вы можете иметь столько уровней заголовков, сколько хотите, используя разделы, статьи и т. Д. Как Markdown справится? –

+0

Я ожидаю, что Markdown всегда будет ограничен 6 уровнями. Если вам нужно больше, я бы предложил искать что-то другое, кроме Markdown. Хотя я не знаю ничего, что поддерживает более 6 уровней. – Waylan

0

Я думаю, что это было бы довольно легко написать pandoc filter извлечь необходимые атрибуты из AST и изменить его к более глубокому рубрике, так как уровень только в pandoc Header definitionInt.

Так вход может быть:

# my custom title {role=heading, aria-level=9} 

или даже просто:

# my custom title {level=9}