Сообщить об ошибке.

Расширение meta модуля markdown в Python

Определение метаданных в разметке Markdown

Синтаксис:

import markdown

md = markdown.Markdown(extensions = ['meta'])
html = md.convert(text)

Параметры:

  • text - разметка Markdown,
  • extensions - список расширений модуля.

Возвращаемое значение:

  • текст в формате HTML.

Описание:

Расширение 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.

Пример доступа к мета-данным документа 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']
# }