import markdown md = markdown.Markdown(extensions = ['meta']) html = md.convert(text)
text
- разметка Markdown,extensions
- список расширений модуля.Расширение markdown.extensions.meta
добавляет синтаксис для определения метаданных документа Markdown.
В настоящее время это расширение никоим образом не использует метаданные, а просто предоставляет их как атрибут .Meta
экземпляра Markdown
для использования другими расширениями или непосредственно вашим кодом Python.
Разметка мета-данных документа Markdown состоит из серии ключевых слов и значений, определенных в начале документа, например:
Title: My Document Summary: A brief description of my document. Authors: Waylan Limberg John Doe Date: October 2, 2007 blank-value: base_url: http://example.com This is the first paragraph of the document.
Ключевые слова не чувствительны к регистру, могут состоять из букв, цифр, знаков подчеркивания и дефисов и должны заканчиваться двоеточием. Значения состоят из всего, что следует за двоеточием в строке, и могут быть пустыми.
Если строка имеет отступ на 4 или более пробелов, то предполагается, что эта строка является дополнительной строкой значения для предыдущего ключевого слова. Ключевое слово может содержать любое количество строк.
Первая пустая строка завершает все метаданные документа. Поэтому первая строка документа не должна быть пустой.
В качестве альтернативы можно использовать разделители в стиле YAML
, чтобы отметить начало и/или конец метаданных. При этом первая строка документа должна быть ---
. Мета-данные заканчиваются первой пустой строкой или первой строкой, содержащей конечный разделитель (---
или ...
), в зависимости от того, что наступит раньше. Несмотря на то, что поддерживаются разделители YAML, метаданные не анализируются как YAML.
Все метаданные удаляются из документа перед дальнейшей обработкой Markdown.
Мета-данные доступны в виде словаря Python в атрибуте экземпляра Markdown.Meta
. Например, используя приведенный выше документ:
import markdown text = """ Title: My Document Summary: A brief description of my document. Authors: Waylan Limberg John Doe Date: October 2, 2007 blank-value: base_url: http://example.com This is the first paragraph of the document. """ md = markdown.Markdown(extensions = ['meta']) html = md.convert(text) # Мета-данные были удалены из вывода print(html) # <p>This is the first paragraph of the document.</p> # Просмотр метаданных print(md.Meta) # { # 'title' : ['My Document'], # 'summary' : ['A brief description of my document.'], # 'authors' : ['Waylan Limberg', 'John Doe'], # 'date' : ['October 2, 2007'], # 'blank-value' : [''], # 'base_url' : ['http://example.com'] # }