Markdown
Розширення файлу: | .md, .markdown |
---|---|
MIME-тип: | text/markdown |
Узагальнений ідентифікатор типу: | net.daringfireball.markdown |
Розробник: | Джон Грубер[en] |
Тип ліцензії: | Ліцензія BSD |
Рік випуску: | 19 березня 2004; 20 років тому (2004-03-19) |
Остання версія: | 1.0.1 |
Дата випуску останньої версії: | 17 грудня 2004; 19 років тому (2004-12-17) |
Тип формату: | Мова розмітки даних |
Розширений до: | MultiMarkdown, Markdown Extra, CommonMark |
Сайт: | daringfireball.net/projects/markdown/ |
Markdown — полегшена мова розмітки даних, яку створено з ухилом на прочитність та зручність у публікації з подальшим перетворенням її на structurally valid XHTML або HTML. Чимало ідей для мови позичено з існуючих домовленостей у розмітці тексту в електронних листах. Першу реалізацію Markdown написано Грубером на Perl, але з часом з'явились багато реалізацій від сторонніх розробників (див. нижче). Реалізація на Perl розповсюджується за ліцензією BSD. Реалізації 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)
- Зноски
- Абревіатури
Див. також
- Розширення Markdown
- Org-mode має подібну полегшену розмітку.
- txt2tags, інша полегшена мова розмітки.
- Setext, стара полегшена мова розмітки(1992).
Посилання
- ↑ GitHub Flavored Markdown. GitHub. Архів оригіналу за 5 лютого 2019. Процитовано 29 березня 2013.
- ↑ Приклад Markdown у Reddit. Або, іншими словами, як зробити гламурне форматування ваших коментарів. Reddit. Архів оригіналу за 27 серпня 2013. Процитовано 29 березня 2013.
- ↑ Допомога з Markdown. Stack Overflow. Архів оригіналу за 27 серпня 2013. Процитовано 29 березня 2013.
- ↑ Повний синтаксис Markdown. Архів оригіналу за 22 лютого 2011. Процитовано 7 квітня 2013.
- ↑ Project Jupyter. www.jupyter.org. Архів оригіналу за 30 січня 2021. Процитовано 30 січня 2021.
- ↑ Google Colaboratory. colab.research.google.com (укр.). Архів оригіналу за 2 лютого 2021. Процитовано 30 січня 2021.
- ↑ Архівована копія. Архів оригіналу за 26 липня 2017. Процитовано 7 квітня 2013.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑
{{cite web}}
: Порожнє посилання на джерело (довідка) - ↑ Архівована копія. Архів оригіналу за 10 вересня 2013. Процитовано 7 квітня 2013.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ Markdown editor for BUEditor. Архів оригіналу за 17 вересня 2020. Процитовано 24 лютого 2017.
- ↑ Markdown for TYPO3. Архів оригіналу за 14 вересня 2014. Процитовано 24 лютого 2017.
- ↑ MarkdownExtraParser for MediaWiki. Архів оригіналу за 13 липня 2017. Процитовано 24 лютого 2017.
- ↑ PHP Markdown Extra - Tables. Архів оригіналу за 1 липня 2012. Процитовано 24 лютого 2017.
Зовнішні посилання
- Official Markdown project at Daring Fireball [Архівовано 2 квітня 2004 у Wayback Machine.]
- Огляд Markdown редакторів для OS X (Raywenderlich) [Архівовано 3 червня 2016 у Wayback Machine.](англ.)
- п
- о
- р