Markdown — полегшена мова розмітки даних, яку створено з ухилом на прочитність та зручність у публікації з подальшим перетворенням її на structurally valid XHTML або HTML. Чимало ідей для мови позичено з існуючих домовленостей у розмітці тексту в електронних листах. Першу реалізацію Markdown написано Грубером на Perl, але з часом з'явились багато реалізацій від сторонніх розробників (див. нижче). Реалізація на Perl розповсюджується за ліцензією BSD. Реалізації Markdown різними мовами програмування включені (або наявні як плаґіни) у численні системи керування вмістом.

Markdown
Розширення файлу: .md, .markdown
MIME-тип: text/markdown
Узагальнений ідентифікатор типу: net.daringfireball.markdown
Розробник: Джон Грубер[en]
Тип ліцензії: Ліцензія BSD
Рік випуску: 19 березня 2004; 19 років тому (2004-03-19)
Остання версія: 1.0.1
Дата випуску останньої версії: 17 грудня 2004; 19 років тому (2004-12-17)
Тип формату: Мова розмітки даних
Розширений до: MultiMarkdown, Markdown Extra, CommonMark
Сайт: daringfireball.net/projects/markdown/

Такі сайти, як GitHub, Reddit та Stack Overflow використовують Markdown для полегшення обговорень між користувачами[1][2][3].

Приклади синтаксису ред.

Цей опис не є вичерпним переліком синтаксису Markdown, та у багатьох випадках для досягнення певного ефекту існує декілька стилів синтаксису[4]. Літери, які Markdown однозначно визначає як команди форматування, можуть бути екрановані бекслешем; наприклад, вираз '\*' виведе зірочку, а не означатиме початку проміжку виділеного тексту. Також Markdown не перетворює текст із «сирим» XHTML-елементом блокового рівня. Це дозволяє включати секції XHTML у джерело Markdown документа, обернувши їх в XHTML теги блокового рівня.

Заголовки ред.

HTML-заголовки створюються розміщенням кількох символів решітки перед текстом заголовка відповідно до бажаного рівня (HTML підтримує 6 рівнів заголовіків), наприклад:

 # заголовок першого рівня

 #### заголовок четвертого рівня

Перші два рівні заголовків також мають альтернативний синтаксис:

Заголовок першого рівня
=======================

Заголовок другого рівня
-----------------------

Параграфи ред.

Параграф є одним чи декількома послідовними рядками тексту, які розділяються одним чи декількома порожніми рядками. Звичайні параграфи не повинні мати відступи або табуляцію:

Це параграф. Він містить два речення.

Це інший параграф. Він також містить два речення.

Список ред.

 * Пункт в маркованому (ненумерованому) списку
     * Підпункт, відділений 4 пробілами
 * Інший пункт в маркованому списку

 1. Пункт в нумерованому списку
     1.1. Підпункт, відділений 4 пробілами
 2. Інший пункт в нумерованому списку

Виділений текст ред.

 *emphasis* або _emphasis_ (тобто нахил)

 **сильне виділення** або __сильне виділення__ (тобто напівжирний)

Код ред.

Для включення коду (відформатованого в моноширинний шрифт), ви можете або оточити вбудований код зворотніми лапками (`), наприклад, `деякий код`, або відділити декілька рядків коду щонайменше чотирма пробілами, як тут:

    перший рядок коду
    другий рядок коду
    третій рядок коду

Останній варіант за допомогою пробілів дозволяє зберігати і показувати синтаксис Markdown.

Кінець рядка ред.

Якщо ви хочете вставити закінчення рядка Markdown, закінчіть рядок з щонайменше двома пробілами.

Наприклад:

 def show_results space space
 end

Результат:

 def show_results
 end

Ви також можете використати два порожніх рядки, наприклад:

 sentence A
 
 sentence B

Результат:

 sentence A
 sentence B

Цитати ред.

 > "Весь цей абзац тексту буде поміщений у HTML blockquote елемент.
 Blockquote елементи змінюються в залежності від потреби/пристрою виводу.
 Ви можете обернути довільний текст за власним смаком, та воно перетвориться
 на єдиний blockquote елемент."

Приклад вище перетвориться на такий HTML:

<blockquote><p>Весь цей абзац тексту буде поміщений у HTML blockquote елемент.
 Blockquote елементи змінюються в залежності від потреби/пристрою виводу.
 Ви можете обернути довільний текст за власним смаком, та воно перетвориться
 на єдиний blockquote елемент.</p></blockquote>

Зовнішні посилання ред.

Посилання можуть бути вбудованими:

 [текст посилання](адреса посилання)

Наприклад: [Markdown](http://en.wikipedia.com/wiki/Markdown)

Також посилання можуть бути розміщені у примітках поза параграфом, наприклад:

 [текст посилання][linkref]

створить посилання, якщо додати примітку (як показано нижче) поза параграфом (або в кінці документу):

 [linkref]: link.address.here "link title here"

Зображення ред.

Зображення мають схожий із посиланнями синтаксис з попереднім знаком оклику.

![Alt text](/path/to/img.jpg)

Або:

![Alt text](/path/to/img.jpg "Optional title")

Як і посилання, зображення також мають примітковий стиль синтаксису

[Alt text][id]

з пізнім посиланням в документі, яке визначає URL розміщення.

 [id]: url/to/image "Optional title attribute"

Горизонтальні лінії ред.

Горизонтальні лінії задаються розміщенням трьох або більшим дефісів, зірочок, або підкресленням в рядку самостійно. Ви можете використовувати пробіли між дефісами чи зірочками. Кожен з наведених нижче рядків створить горизонтальну лінію:

 * * *
 ***
 *****
 - - -
 ---------------------------------------

Редактори ред.

Хоча Markdown є полегшеною мовою розмітки яку легко читати та редагувати звичайними текстовими редакторами, існують спеціально розроблені редактори, які дозволяють попередньо переглядати зі стилями. Є безліч таких редакторів, які наявні для всіх основних платформ. Існує плаґін підсвітки синтаксису для Markdown, вбудований у gedit та Vim. Текстовий редактор Atom має підсвітку синтаксису Markdown, є також можливість легко встановлювати пакунки для розширення функціоналу мови: наприклад, пакунок markdown-preview-plus дозволяє відтворювати також синтаксис LaTeX, а markdown-writer допомагає з форматуванням списків, таблиць тощо.


Markdown із LaTeX також використовуються в IPython-записниках в Jupyter та Google Colaboratory для форматування тексту. Ці вебоболонки для IPython можуть використовуватись як текстові редактори, оскільки там є можливість створювати блоки тексту окремо від блоків коду та можливість завантажувати сторінку, наприклад, у PDF. [5][6]

Реалізації ред.

Реалізації Markdown існують для багатьох різних фреймворків, платформ та мов.

  • Система документації джерельних текстів Doxygen підтримує Markdown з додатковими можливостями[джерело?].
  • RStudio, IDE для R підтримує C++ обгортку функцій[en] для реалізації markdown Sundown[7].
  • IntelliJ IDEA, IDE для Java, містить плаґін для підтримки Markdown[8][9].
  • Існують формат і програма MultiMarkdown з ширшим синтаксисом та можливостями експорту, ніж в традиційній Markdown.

Існує багато іншого відкритого програмного забезпечення реалізації Markdown, доступного в мережі.

Markdown Extra ред.

Markdown Extra - це легка мова розмітки на основі Markdown реалізована в PHP (початково), Python та Ruby. Вона містить функції недоступні в звичайному синтаксисі Markdown. Markdown Extra підтримується системами керування вмістом, наприклад Drupal,[10] TYPO3[11] та MediaWiki.[12]

Додає наступні функції до Markdown:

  • Markdown всередині блоків HTML
  • Елементи з атрибутами id/class
  • "обгороджені" блоки коду (англ. Fenced code blocks)
  • Таблиці[13]
  • Списки означень (dl)
  • Зноски
  • Абревіатури

Див. також ред.

Посилання ред.

  1. GitHub Flavored Markdown. GitHub. Архів оригіналу за 5 лютого 2019. Процитовано 29 березня 2013. 
  2. Приклад Markdown у Reddit. Або, іншими словами, як зробити гламурне форматування ваших коментарів. Reddit. Архів оригіналу за 27 серпня 2013. Процитовано 29 березня 2013. 
  3. Допомога з Markdown. Stack Overflow. Архів оригіналу за 27 серпня 2013. Процитовано 29 березня 2013. 
  4. Повний синтаксис Markdown. Архів оригіналу за 22 лютого 2011. Процитовано 7 квітня 2013. 
  5. Project Jupyter. www.jupyter.org. Архів оригіналу за 30 січня 2021. Процитовано 30 січня 2021. 
  6. Google Colaboratory. colab.research.google.com (укр.). Архів оригіналу за 2 лютого 2021. Процитовано 30 січня 2021. 
  7. Архівована копія. Архів оригіналу за 26 липня 2017. Процитовано 7 квітня 2013. 
  8. {{cite web}}: Порожнє посилання на джерело (довідка)
  9. Архівована копія. Архів оригіналу за 10 вересня 2013. Процитовано 7 квітня 2013. 
  10. Markdown editor for BUEditor. Архів оригіналу за 17 вересня 2020. Процитовано 24 лютого 2017. 
  11. Markdown for TYPO3. Архів оригіналу за 14 вересня 2014. Процитовано 24 лютого 2017. 
  12. MarkdownExtraParser for MediaWiki. Архів оригіналу за 13 липня 2017. Процитовано 24 лютого 2017. 
  13. PHP Markdown Extra - Tables. Архів оригіналу за 1 липня 2012. Процитовано 24 лютого 2017. 

Зовнішні посилання ред.