import markdown html = markdown.markdown(some_text, extensions=['legacy_attrs'])
some_text
- разметка Markdown,extensions
- список расширений модуля.Более старые версии модуля markdown
до 3.0 включали встроенную и недокументированную поддержку данного синтаксиса для определения атрибутов HTML-элементов. Большинство пользователей никогда не использовали этот синтаксис, и он устарел в пользу расширения attr_list
.
Расширение markdown.extensions.legacy_attrs
восстанавливает прежнее поведение для пользователей, у которых есть существующие документы Markdown, использующие старый синтаксис, описанный ниже.
Атрибуты определяются включением {@key=value}
в элемент, которому вы хотите назначить атрибуты. Например, чтобы определить класс для абзаца:
A paragraph with the attribute defined {@class=foo}anywhere within.
В результате получается следующий HTML:
<p class="foo">A paragraph with the attribute defined anywhere within.</p>
То же самое относится и к встроенным элементам:
Some *emphasized{@id=bar}* text.
В результате получается следующий HTML:
<p>Some <em id="bar">emphasized</em> text.</p>
Можно определять атрибуты в изображениях:
![Alt text{@id=baz}](path/to/image.jpg)
В результате получается следующий HTML:
<p><img alt="Alt text" id="baz" src="path/to/image.jpg" /></p>
legacy_attrs
.import markdown text = """ A paragraph with the attribute defined {@class=foo}anywhere within. Some *emphasized{@id=bar}* text. ![Alt text{@id=baz}](path/to/image.jpg) """ html = markdown.markdown(text, extensions=['legacy_attrs']) print(html) # <p class="foo">A paragraph with the attribute defined anywhere within. # Some <em id="bar">emphasized</em> text.</p> # <p><img alt="Alt text" id="baz" src="path/to/image.jpg" /></p>