Что эквивалентно `.. raw: html` из Sphinx в Markdown? - PullRequest
0 голосов
/ 14 февраля 2019

Название вопроса должно быть самоочевидным.Я не смог ничего найти в Markdown of Sphinx raw .

Я знаю, что могу напрямую вводить html в файл md, но у меня есть очень длинный фрагмент кода HTML, который я 'Я хотел бы держаться отдельно от уценки.

1 Ответ

0 голосов
/ 14 февраля 2019

Поскольку правила прямо заявляют (выделение добавлено):

Для любой разметки, не охватываемой синтаксисом Markdown, вы просто используете сам HTML. нет необходимости вводить предисловие или разделять его , чтобы указать, что вы переходите с Markdown на HTML;вы просто используете теги.

Единственными ограничениями являются то, что HTML-элементы уровня блока - например, <div>, <table>, <pre>, <p> и т. д. - должны быть отделены отокружающий контент пустыми строками, а начальный и конечный теги блока не должны иметь отступов между символами табуляции или пробелами .Markdown достаточно умен, чтобы не добавлять лишние (нежелательные) теги <p> вокруг тегов уровня блока HTML.

Если вы обеспокоены тем, что Markdown может испортить содержимое вашего необработанного HTML, правила такжесостояние:

Обратите внимание, что синтаксис форматирования Markdown не обрабатывается в тегах HTML уровня блока.Например, вы не можете использовать стиль Markdown *emphasis* внутри блока HTML.

Таким образом, если ваши HTML-блоки правильно упакованы в HTML-теги уровня блока, Markdown будет оставлять их в покое.Конечно, это не относится к встроенным элементам HTML, включенным в текст Markdown:

Теги уровня Span - например, <span>, <cite> или <del> - могут использоваться где угоднов пункте уценки, элементе списка или заголовке.Если вы хотите, вы можете даже использовать HTML-теги вместо форматирования Markdown;например, если вы предпочитаете использовать теги HTML <a> или <img> вместо синтаксиса ссылки или изображения Markdown, переходите прямо к началу.

В отличие от тегов HTML уровня блока, синтаксис Markdown обрабатывается в пределах диапазона диапазонатеги.

Также важно отметить, что некоторые реализации Markdown не соответствуют правилам, изложенным выше.Таким образом, вы можете проверить документацию для используемой вами реализации, чтобы убедиться, что она либо соответствует правилам, либо имеет переключатель конфигурации, который заставляет его следовать правилам.

А затем есть Commonmark, который неследуйте оригинальным правилам Markdown, но используйте другой набор правил .В частности, Commonmark не требует пустых строк в блоке HTML, чтобы избежать разбора Markdown.CommonMark будет обрабатывать все как Markdown после первой пустой строки в необработанном HTML-блоке.Однако если вы используете анализатор Markdown старой школы, а не анализатор Commonmark, это не должно вызывать проблем.

В качестве последнего предостережения, Markdown (не Commonmark) намного старше HTML 5Поэтому более новые элементы уровня блока, добавленные в HTML 5 (<section>, <article> и т. Д.), Не распознаются большинством реализаций Markdown как элементы уровня блока.Некоторые реализации были обновлены, чтобы добавить поддержку, но даже в этом случае между реализациями нет согласованности относительно того, какие новые элементы следует рассматривать как уровень блока, так как эталонная реализация не была обновлена ​​для установки президента.Поэтому лучше придерживаться элементов, определенных как уровень блока в старых спецификациях HTML 4 и / или XHTML 1.

...