Что такое формат файла MD?
Файл с расширением .md содержит документ в формате обычного текста, созданный с использованием языка Markdown. Существует множество диалектов Markdown, но все они используют один и тот же набор соглашений и схожий синтаксис. Теги Markdown определяют элементы форматирования текста, такие как:
- Атрибуты жирного шрифта и курсива
- Заголовки
- Формат таблиц
- Списки
- Блочные цитаты
- Вставка изображений и HTML кода
Файлы .md также могут использовать суффикс .MARKDOWN. Файлы .md можно легко конвертировать в формат RTF или PDF, хотя изначально Markdown в основном использовался для генерации HTML-документов, обычно файлов справки. Поскольку .md является обычным текстовым файлом, его можно открыть и отредактировать в любом текстовом редакторе для создания форматированных документов. Markdown использует простой и легкочитаемый синтаксис.
Markdown был разработан в 2004 году Джоном Грубером при участии Аарона Шварца. Основной целью разработчиков этого языка было предложить пользователям простую и интуитивно понятную систему разметки - в отличие, например, от HTML - для редактирования и создания документов. Оригинальный интерпретатор файлов .md, который преобразовывал файлы .md в HTML-документы, был написан на Perl. С тех пор было разработано множество вариаций языка Markdown. В 2016 году RFC 7763 зарегистрировал MIME-тип text/markdown, а RFC 7764 каталогизировал основные варианты Markdown, включая CommonMark, GFM, Markdown Extra и другие.
Безопасность и защита
РИСК: LOWФайл .md является обычным текстом и не может исполнять код, поэтому его открытие безопасно. Единственный нюанс: Markdown допускает использование чистого HTML, поэтому отрендеренный предпросмотр может содержать HTML/JavaScript или изображения, отслеживающие активность - надежные визуализаторы (GitHub, VS Code) очищают такой контент. Как и всегда, не доверяйте ссылкам внутри документа из неизвестного источника перед нажатием.
Детали формата
в двух словахПрограммы, открывающие файлы MD
Технические подробности
глубокая спецификация| MIME-тип | text/markdown (зарегистрирован в RFC 7763, 2016) |
| Кодировка символов | UTF-8 обычный текст; без бинарного заголовка или магических байтов - идентифицируется по расширению .md и характерному синтаксису |
| Стиль синтаксиса | Облегченная разметка - исходный код читаем человеком без парсера или визуализатора |
| Основная цель вывода | HTML, создаваемый процессором Markdown; вторичные цели включают PDF и EPUB с помощью таких инструментов, как Pandoc |
| Общие диалекты | CommonMark, GitHub Flavored Markdown (GFM), Markdown Extra, MultiMarkdown, R Markdown (.Rmd) |
| Поддержка метаданных (Front matter) | YAML front matter между ограждениями --- широко используется генераторами статических сайтов (Jekyll, Hugo, Eleventy) для хранения метаданных страницы |
| Синтаксис заголовков | Стиль ATX (# H1, ## H2) и стиль Setext (подчеркивание символами = или -) оба допустимы в базовой спецификации |
| Синтаксис ссылок | Встроенные [текст](url), ссылочные [текст][id] и автоссылки <url> - все три формы являются частью ядра спецификации |
| Синтаксис блоков кода | Огражденные (тройные обратные кавычки или тильды) или с отступом в 4 пробела; идентификатор языка после открывающего ограждения включает подсветку синтаксиса |
| Поддержка таблиц | Отсутствовала в оригинальной спецификации 2004 года; введена как расширение GFM и позже как опциональное расширение CommonMark |
| Синтаксис изображений |  - хранит только ссылку на URL; изображения не встраиваются в сам файл .md |
| Зачеркивание | ~~текст~~ - расширение GFM; отсутствует в базовой спецификации Markdown |
| Поддержка Math / LaTeX | Синтаксис $внутристрочный$ и $$блочный$$ распознается Obsidian, Jupyter и расширениями VS Code, но находится вне основной спецификации |
| Правила разрыва строк | Пустая строка разделяет блочные элементы; жесткие разрывы строк требуют двух пробелов в конце или \ перед переходом на новую строку (CommonMark) |
| Конфликты расширений | .md иногда используется инструментами метаданных или описания машин; содержимое файла и контекст позволяют отличить использование Markdown |
| Выпущен | 2004 (Markdown by John Gruber); CommonMark spec 2014; GitHub Flavored Markdown 2017 |
| Открыть стандартное | Да · без роялти |
| Спецификация | spec.commonmark.org |