Подтвердить что ты не робот

Jekyll raw HTML в сообщении

У меня есть веб-сайт Jekyll, с сообщениями, написанными в Markdown с использованием анализатора Kramdown.

Я хотел бы добавить некоторый необработанный HTML в сообщение. Однако, когда я пытаюсь добавить HTML, он анализирует его как уценку (например, меняя < на &lt;).

Я пробовал:

  • Добавление HTML в свой собственный абзац.
  • Включает файл .html.
  • Добавление markdown="0" в тег HTML (также попробовал 1).
  • Отступы (и обертывание в тройной обратный тик) со всем вышеперечисленным.
  • Использование исходных тегов

Пример того, что у меня есть:

Some **markdown** `here`

<iframe src="asd"></iframe>

More *markdown*.

IFrame должен выводиться как HTML, а не анализированный текст.

Я использую страницы Github, поэтому расширения Jekyll не являются необязательными.

4b9b3361

Ответ 1

HTML игнорировался, потому что у какого-то тега attr не было кавычек. Например, width=500 должен был быть width="500"

Больше ничего не требовалось. HTML находится в собственных абзацах без отступов и анализируется.

Ответ 2

Для других в качестве ссылки, чтобы гарантировать, что Kramdown не обрабатывает/не анализирует RAW HTML, атрибут markdown="0" может быть добавлен. Это гарантирует, что анализатор Kramdown не касается блока тега HTML.

Пример:

Input Markdown: - hello

Output HTML:

          <ul>
           <li>hello</li>
          </ul>

Использование атрибута markdown = "0":

Input markdown: <div markdown = "0"> - hello </div>

Output HTML: <div markdown = "0"> - hello </div>

Из Документация Kramdown (подсказка: используйте браузеры, чтобы найти ключевое слово "raw", чтобы перейти к соответствующим разделам):

Если тег HTML имеет атрибут markdown = "0", тогда тег анализируется как необработанный HTML-блок.

Если тег HTML имеет атрибут markdown = "1", то по умолчанию используется механизм синтаксического анализа синтаксиса в этом теге.

Если тег HTML имеет атрибут markdown = "block", то содержимое тег анализируется как элементы уровня блока.

Если тег HTML имеет атрибут markdown = "span", то содержимое тег анализируется как элементы уровня уровня.

Кроме того, все общие теги XML анализируются как необработанные HTML-блоки.