Топ питань
Часова шкала
Чат
Перспективи

Markdown

З Вікіпедії, вільної енциклопедії

Markdown
Remove ads

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

Коротка інформація Розширення:, MIME-тип: ...

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

Remove ads

Історія

Узагальнити
Перспектива

Markdown передували існуючі способи розмітки простого тексту, прийняті для електронної пошти та постів Usenet,[4] реалізовані у мовах розмітки setext[en] (прибл.1992), Textile (бл. 2002), та reStructuredText (бл. 2002).[5]

У 2002 році Аарон Шварц створив atx та називав її «справжнім структурованим текстовим форматом» (англ. the true structured text format). Грубер створив мову розмітки Markdown у 2004, а Аарон Шварц був його «лакмусовим папірцем»[6][a]. Метою мови було дати людям формат тексту, який "легко читається і легко пишеться, з можливістю перетворення у валідний XHTML (або HTML)"[7].

Ключовим принципом дизайну Markdown була читабельність, збереження можливості читати текст як є, і щоб він при цьому не виглядав як розмічений тегами або іншими інструкціями форматування,[5] Однак читабельність підкреслюється понад усе. Документ, відформатований у Markdown, повинен публікуватися як є, як звичайний текст, без ознак того, що він був розмічений тегами або інструкціями форматування. Хоча на синтаксис Markdown вплинуло кілька існуючих фільтрів перетворення тексту в HTML, зокрема Setext, atx, Textile, reStructuredText, Grutatext[8], and EtText[9] — єдиним найбільшим джерелом натхнення для синтаксису Markdown є формат звичайної електронної пошти"}}, на відміну від відформатованого за допомогою «важчих» мов розмітки тексту, таких як RTF, HTML або навіть вікірозмітка (кожна з яких має очевидні вбудовані теги та інструкції з форматування, які можуть зробити текст складнішим для читання).

Грубер написав скрипт на Perl, Markdown.pl, що конвертує текст з розміткою Markdown у валідний XHTML чи HTML и замінює кутові дужки (<, >) та амперсанди (&) на відповідні їм символьні сутності. Він може працювати і як самостійний скрипт, і як плагін для Blosxom[en] і як фільтр для BBEdit[en].[7]

Remove ads

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

Узагальнити
Перспектива

Цей опис не є вичерпним переліком синтаксису Markdown, та у багатьох випадках для досягнення певного ефекту існує декілька стилів синтаксису[10]. Літери, які 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"

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

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

 * * *
 ***
 *****
 - - -
 ---------------------------------------
Remove ads

Редактори

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


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

Реалізації

Узагальнити
Перспектива

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

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

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

Markdown Extra

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

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

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

TextBundle та TextPack

Формат файлів, що включає файли Markdown або Fountain та пов'язані файли зображень це TextBundle та TextPack (стиснутий, також містить JSON з метаданими).[21][22]

Remove ads

Див. також

  • Розширення Markdown
  • Org-mode має подібну полегшену розмітку.
  • txt2tags, інша полегшена мова розмітки.
  • Setext, стара полегшена мова розмітки(1992).

Коментарі

  1. В оригіналі  sounding board

Примітки

Посилання

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads