В 2004 году блогер Джон Грубер и программист Аарон Шварц опубликовали небольшой Perl-скрипт с простой идеей: обычный текст должен быть читаемым как есть, без тегов, засоряющих содержимое, но при этом чисто конвертироваться в HTML. Они назвали его Markdown.
Двадцать лет спустя Markdown — стандартный формат письма для документации ПО, общения разработчиков, приложений для заметок и значительной части контента в вебе.
Философия: читаемый исходный текст
Цель дизайна Грубера была явной: «Документ в формате Markdown должен быть публикуемым как есть, в виде обычного текста.»
Полезно знать Аарон Шварц, соавтор Markdown, также сыграл ключевую роль в разработке RSS, Creative Commons и Reddit.
Почему разработчики его любят
- Обычный текст = совместимость с системами контроля версий. Git может сравнивать построчно.
- Нет привязки к вендору. Открывается в любом текстовом редакторе.
- Лёгкий. Килобайты, не мегабайты.
- Конвертируется во что угодно. Pandoc преобразует Markdown в HTML, PDF, EPUB, LaTeX, Word.
Где живёт Markdown сегодня
| Область | Платформы |
|---|---|
| Хостинг кода | GitHub, GitLab, Bitbucket |
| Коммуникации | Slack, Discord, Reddit, Teams |
| Заметки | Obsidian, Notion, Bear, Typora |
| Документация | Docusaurus, MkDocs, Read the Docs |
| Блоги | Jekyll, Hugo, Astro, Ghost |
Проблема фрагментации
Оригинальная спецификация Грубера была намеренно неформальной. Это привело к фрагментации: CommonMark (2014), GitHub Flavored Markdown (GFM), MDX, MultiMarkdown и R Markdown.
Базовый синтаксис работает одинаково везде. Различия — в расширениях и крайних случаях.
Полезно знать Несмотря на фрагментацию, Джон Грубер никогда не одобрял CommonMark. Он считает Markdown форматом для письма, а не языком программирования.
Ограничения и альтернативы
Markdown не подходит для: сложных макетов, богатого оформления или семантической сложности. Для этого есть AsciiDoc, reStructuredText, LaTeX и визуальные текстовые редакторы.
Узнать больше
Для практики Markdown с предпросмотром в реальном времени попробуйте Предпросмотр Markdown. Практическое введение — Пишем на Markdown. Оба инструмента бесплатны.
