Первоначально создан в 2004 году
и
Аароном Шварцем
. Многие идеи языка были позаимствованы из существующих соглашений по разметке
текста
в
электронных письмах
. Реализации языка Markdown преобразуют текст в формате Markdown в
валидный
,
правильно построенный
XHTML
и заменяют левые угловые скобки («<») и
амперсанды
(«&») на соответствующие коды сущностей. Первой реализацией Markdown стала написанная Грубером реализация на
Perl
, однако спустя некоторое время появилось множество реализаций от сторонних разработчиков (см.). Реализация на Perl распространяется по лицензии типа
BSD
. Реализации Markdown на различных
языках программирования
включены (или доступны в качестве
плагина
) во многие
системы управления содержимым
.
Примеры синтаксиса
Ниже приведены примеры использования Markdown, однако это далеко не полное руководство. Полное описание языка может быть найдено на официальном сайте
. Символы, которые обычно рассматриваются в Markdown как специальные, могут быть экранированы с помощью
обратного слеша
. Например, последовательность «\*» выведет символ «*», а не будет являться признаком начала выделенного текста. Кроме того, Markdown не преобразует текст внутри «сырых» блоков XHTML. Таким образом, в Markdown-документ можно включать секции XHTML, заключив их предварительно в теги уровня блока.
Текст с выделением или логическим ударением
*выделение* (например, курсив) **сильное выделение** (например, полужирное начертание)
Программный код
Элементы кода могут быть внутри строки (inline) либо многострочными блоками.
Многострочный блок кода обозначается отступом из 4 пробелов или одного
Tab
.
Ниже начинается многострочный блок кода <!doctype html> <html> <head> <!-- Заголовок документа --> </head> <body> <!-- Тело документа --> </body> </html> Блок кода завершился
Зачёркнутый текст
необходимо сделать ~~одну~~ другую вещь
Списки
* элемент маркированного списка - ещё один элемент ненумерованного списка + буллеты элементов могут быть разными 1. Элемент нумерованного списка 2. Элемент №2 того же списка 9. Элемент №3 списка — элементы нумеруются по порядку, цифра в начале строки не имеет значения
Заголовки
Создание заголовков производится путём помещения
знака решетки
перед текстом заголовка. Количество знаков «#» соответствует уровню заголовка. HTML предоставляет 6 уровней заголовков.
# Заголовок первого уровня ... ### Заголовок третьего уровня ... ###### Заголовок шестого уровня
Первые два уровня заголовка также имеют альтернативный синтаксис:
Заголовок первого уровня ======================== Заголовок второго уровня ------------------------
Цитаты (тег blockquote)
> Данный текст будет заключен в HTML-теги <blockquote></blockquote>
Make.text —
букмарклет
, преобразующий любую веб-страницу в Markdown
XHTML-to-Markdown XSLT (XSLT-таблица стилей, работает только с XHTML)
Pandoc
— написанная на
Haskell
библиотека по преобразованию различных форматов, поддерживает несколько диалектов Markdown (
markdown
— диалект от pandoc,
markdown_strict
— оригинальный Markdown без расширений,
markdown_phpextra
— диалект от
PHP
,
markdown_github
— диалект от
github
) может преобразовывать из и в Markdown,
HTML
,
reStructuredText
,
LaTeX
, и другие.
Универсальные редакторы:
TextMate
, (с версии 8.6),
Vim
(с помощью специального пользовательского режима
, написанного Беном Вильямсом),
Emacs
(с помощью специального пользовательского режима
, написанного Джейсоном Блевинсом), , ,
Sublime Text
,
Geany
,
Atom
,
Visual Studio Code
.