import markdown html = markdown.markdown(some_text, extensions=['sane_lists'])
some_text
- разметка Markdown,extensions
- список расширений модуля.Расширение markdown.extensions.sane_lists
изменяет поведение синтаксиса определения списков в документах Markdown, делая его более предсказуемым.
Определенные в документе списки, с включенным расширением sane_lists
не позволяют смешивать типы списков. Другими словами, упорядоченный список не будет продолжаться при обнаружении элемента неупорядоченного списка и наоборот. Например:
1. Ordered item 1 2. Ordered item 2 * Unordered item 1 * Unordered item 2
Приведет к следующему выводу:
<ol> <li>Ordered item 1</li> <li>Ordered item 2</li> </ol> <ul> <li>Unordered item 1</li> <li>Unordered item 2</li> </ul>
В то время как поведение Markdown по умолчанию будет заключаться в создании неупорядоченного списка.
Обратите внимание, что, в отличие от поведения Markdown по умолчанию, если между элементами списка не включена пустая строка, другой тип списка полностью игнорируется, что соответствует поведению абзацев. Например:
A Paragraph. * Not a list item. 1. Ordered list item. * Not a separate list item.
С этим расширением приведенное выше приведет к следующему выводу:
<p>A Paragraph. * Not a list item.</p> <ol> <li>Ordered list item. * Not a separate list item.</li> </ol>
Расширение sane_lists
также распознают число, используемое в упорядоченных списках. Учитывая следующий список:
4. Apples 5. Oranges 6. Pears
По умолчанию модуль markdown
игнорирует тот факт, что первая строка начинается с номера позиции 4, а полученный список HTML будет начинаться с номера 1. Это расширение приведет к следующему выводу HTML:
<ol start="4"> <li>Apples</li> <li>Oranges</li> <li>Pears</li> </ol>
Во всем остальном sane_lists
ведет себя как обычные списки Markdown.
import markdown text = """ 4. Apples 5. Oranges 6. Pears """ html = markdown.markdown(text, extensions=['sane_lists']) print(html) # <ol start="4"> # <li>Apples</li> # <li>Oranges</li> # <li>Pears</li> # </ol>