stringtranslate.com

Уценка

Markdown [9] — это облегченный язык разметки для создания форматированного текста с использованием текстового редактора . Джон Грубер создал Markdown в 2004 году как удобный для чтения язык разметки . [9] Markdown широко используется для ведения блогов и обмена мгновенными сообщениями , а также в других местах на онлайн-форумах , в программном обеспечении для совместной работы , на страницах документации и в файлах readme .

Первоначальное описание Markdown [10] содержало двусмысленности и вызывало вопросы без ответов, что приводило к тому, что реализации как намеренно, так и случайно отклонялись от исходной версии. Это было исправлено в 2014 году, когда давние участники Markdown выпустили CommonMark, недвусмысленную спецификацию и набор тестов для Markdown. [11]

История

Markdown был вдохновлен уже существующими соглашениями для разметки простого текста в электронных письмах и сообщениях Usenet [12] , такими как более ранние языки разметки setext ( около  1992 г. ), Textile (около 2002 г.) и reStructuredText (около 2002 г.) [9] .

В 2002 году Аарон Шварц создал atx и назвал его «истинным структурированным текстовым форматом». Грубер создал язык Markdown в 2004 году, а Шварц был его «референтом». [13] Целью языка было дать людям возможность «писать, используя простой текстовый формат, который легко читать и писать, и при желании преобразовывать его в структурно корректный XHTML (или HTML )». [5]

Его ключевой целью дизайна была читабельность , то есть чтобы язык был читаемым «как есть», без разметки тегами или инструкциями по форматированию [9] , в отличие от текста, отформатированного с помощью «более тяжелых» языков разметки , таких как Rich Text Format (RTF), HTML или даже викитекста (каждый из которых имеет очевидные встроенные теги и инструкции по форматированию, которые могут затруднить чтение текста человеком).

Грубер написал скрипт Perl , Markdown.plкоторый преобразует размеченный текстовый ввод в допустимый, правильно сформированный XHTML или HTML и заменяет угловые скобки ( <, >) и амперсанды ( &) на соответствующие им ссылки на сущности символов . Он может играть роль автономного скрипта, плагина для Blosxom или Movable Type , или текстового фильтра для BBEdit . [5]

Подъем и расхождение

Поскольку популярность Markdown быстро росла, появилось много реализаций Markdown , в основном из-за потребности в дополнительных функциях, таких как таблицы , сноски , списки определений [примечание 1] и Markdown внутри блоков HTML.

Поведение некоторых из них отличалось от эталонной реализации, поскольку Markdown характеризовался только неформальной спецификацией [ 16] и реализацией Perl для преобразования в HTML.

В то же время, ряд двусмысленностей в неформальной спецификации привлек внимание. [17] Эти проблемы подстегнули создание таких инструментов, как Babelmark [18] [19] для сравнения вывода различных реализаций, [20] и усилия некоторых разработчиков парсеров Markdown по стандартизации. Однако Грубер утверждал, что полная стандартизация была бы ошибкой: «Разные сайты (и люди) имеют разные потребности. Ни один синтаксис не удовлетворил бы всех». [21]

Грубер избегал использования фигурных скобок в Markdown, чтобы неофициально зарезервировать их для расширений, зависящих от реализации. [22]

Стандартизация

С 2012 года группа людей, включая Джеффа Этвуда и Джона Макфарлейна , начала то, что Этвуд охарактеризовал как усилия по стандартизации. [11]

Веб-сайт сообщества теперь нацелен на «документирование различных инструментов и ресурсов, доступных авторам и разработчикам документов, а также разработчикам различных реализаций Markdown». [25]

В сентябре 2014 года Грубер возразил против использования «Markdown» в названии этого проекта, и он был переименован в CommonMark. [12] [26] [27] CommonMark.org опубликовал несколько версий спецификации, эталонной реализации, набора тестов и «[планирует] объявить о финальной версии 1.0 спецификации и наборе тестов в 2019 году». [28]

С тех пор спецификация 1.0 не была выпущена, поскольку основные проблемы все еще остаются нерешенными. [29]

Тем не менее, следующие веб-сайты и проекты приняли CommonMark: Discourse , GitHub , GitLab , Reddit , Qt , Stack Exchange ( Stack Overflow ) и Swift .

В марте 2016 года были опубликованы два важных информационных интернет-запроса предложений (RFC) :

Варианты

Такие сайты, как Bitbucket , Diaspora , GitHub , [31] OpenStreetMap , Reddit , [32] SourceForge [33] и Stack Exchange [34], используют варианты Markdown для упрощения обсуждений между пользователями.

В зависимости от реализации могут поддерживаться базовые встроенные HTML-теги . [35]

Курсивный текст может быть реализован с помощью _underscores_или *single-asterisks*. [36]

Разметка с GitHub Flavored

GitHub использовал свой собственный вариант Markdown еще с 2009 года [37] , который добавил поддержку дополнительного форматирования, такого как таблицы и вложенный блочный контент внутри элементов списка, а также специфичные для GitHub функции, такие как автоматическое связывание ссылок на коммиты, проблемы, имена пользователей и т. д.

В 2017 году GitHub выпустил формальную спецификацию своего GitHub Flavored Markdown (GFM), основанного на CommonMark. [31] Это строгое расширение CommonMark, точно следующее его спецификации, за исключением таблиц, зачеркивания , автоссылок и списков задач, которые GFM добавляет в качестве расширений. [38]

Соответственно, GitHub также изменил парсер, используемый на их сайтах, что потребовало изменения некоторых документов. Например, GFM теперь требует, чтобы символ решетки , создающий заголовок, был отделен от текста заголовка пробелом.

Уценка Экстра

Markdown Extra — это облегченный язык разметки, основанный на Markdown, реализованный в PHP (первоначально), Python и Ruby . [39] Он добавляет следующие функции, которые недоступны в обычном Markdown:

Markdown Extra поддерживается в некоторых системах управления контентом , таких как Drupal , [41] Grav (CMS) и TYPO3 . [42]

LiaScript

LiaScript [43] — это диалект Markdown, разработанный для создания интерактивного образовательного контента. Он реализован в Elm и TypeScript и добавляет дополнительные элементы синтаксиса для определения таких функций, как:

Примеры

Реализации

Реализации Markdown доступны для более чем дюжины языков программирования ; кроме того, многие приложения , платформы и фреймворки поддерживают Markdown. [44] Например, плагины Markdown существуют для каждой крупной платформы для ведения блогов . [12]

Хотя Markdown — это минимальный язык разметки, который читается и редактируется обычным текстовым редактором , существуют специально разработанные редакторы, которые просматривают файлы со стилями, которые доступны для всех основных платформ. Многие универсальные текстовые и кодовые редакторы имеют встроенные или доступные для дополнительной загрузки плагины подсветки синтаксиса для Markdown. Редакторы могут иметь окно предварительного просмотра рядом друг с другом или отображать код напрямую в режиме WYSIWYG .

Некоторые приложения, сервисы и редакторы поддерживают Markdown как формат редактирования, в том числе:

Смотрите также

Пояснительные записки

  1. ^ Технически HTML-описания списки

Ссылки

  1. ^ Грубер, Джон (8 января 2014 г.). "Расширение файла Markdown". The Daring Fireball Company, LLC. Архивировано из оригинала 12 июля 2020 г. . Получено 27 марта 2022 г. . Полагаю, уже слишком поздно, но единственное расширение файла, которое я бы одобрил, — это ".markdown", по той же причине, которую предложил Хилтон Липшиц: Мы больше не живем в мире 8.3, поэтому нам следует использовать наиболее описательные расширения файлов. Печально, что все наши операционные системы полагаются на эту глупую конвенцию вместо лучшего кода создателя или модели метаданных, но здорово, что теперь они поддерживают более длинные расширения файлов.
  2. ^ abc Леонард, Шон (март 2016 г.). «Тип носителя text/markdown». Запрос комментариев: 7763 . Internet Engineering Task Force. Архивировано из оригинала 22 марта 2022 г. . Получено 27 марта 2022 г. В этом документе регистрируется тип носителя text/markdown для использования с Markdown, семейством синтаксисов форматирования простого текста, которые при желании можно преобразовать в формальные языки разметки, такие как HTML.
  3. ^ Шварц, Аарон (2004-03-19). "Markdown". Аарон Шварц: The Weblog . Архивировано из оригинала 2017-12-24 . Получено 2013-09-01 .
  4. ^ Грубер, Джон . "Markdown". Daring Fireball . Архивировано из оригинала 2004-03-11 . Получено 2022-08-20 .
  5. ^ Исходный код abc Markdown 1.0.1 readme "Daring Fireball – Markdown". 2004-12-17. Архивировано из оригинала 2004-04-02.
  6. ^ "Markdown: License". Daring Fireball. Архивировано из оригинала 2020-02-18 . Получено 2014-04-25 .
  7. ^ ab Leonard, Sean (март 2016 г.). "Guidance on Markdown: Design Philosophies, Stability Strategies, and Select Registrations". Запрос комментариев: 7764 . Internet Engineering Task Force. Архивировано из оригинала 17 апреля 2022 г. . Получено 27 марта 2022 г. В этом документе подробно описывается тип носителя text/markdown для использования с Markdown, семейством синтаксисов форматирования простого текста, которые при желании можно преобразовать в формальные языки разметки, такие как HTML. Предоставляются справочная информация, стратегии локального хранения и дополнительные регистрации синтаксиса.
  8. ^ "Справочный сайт RMarkdown". Архивировано из оригинала 2020-03-03 . Получено 2019-11-21 .
  9. ^ abcd Синтаксис Markdown «Daring Fireball – Markdown – Синтаксис». 2013-06-13.«Однако читабельность ставится превыше всего. Документ, отформатированный в Markdown, должен быть пригоден для публикации «как есть», как обычный текст, без разметки тегами или инструкций по форматированию. Хотя на синтаксис Markdown повлияли несколько существующих фильтров преобразования текста в HTML, включая Setext, atx, Textile, reStructuredText, Grutatext [14] и EtText [15] , единственным крупнейшим источником вдохновения для синтаксиса Markdown является формат обычного текстового сообщения электронной почты».
  10. ^ "Daring Fireball: Знакомство с Markdown". daringfireball.net . Архивировано из оригинала 20-09-2020 . Получено 23-09-2020 .
  11. ^ ab Atwood, Jeff (2012-10-25). "Будущее Markdown". CodingHorror.com. Архивировано из оригинала 2014-02-11 . Получено 2014-04-25 .
  12. ^ abc Gilbertson, Scott (5 октября 2014 г.). «Markdown throwdown: Что происходит, когда программное обеспечение FOSS получает корпоративную поддержку?». Ars Technica . Архивировано из оригинала 14 ноября 2020 г. Получено 14 июня 2017 г. Форк CommonMark может оказаться лучше для пользователей... но создатели оригинала, похоже, с этим не согласны.
  13. ^ @gruber (12 июня 2016 г.). «Я должен написать об этом, но это больно. Более или менее: Аарон был моим рупором, моей музой» ( Твит ) – через Twitter .
  14. ^ "Личный науфраджио: разметка Grutatxt" . triptico.com . Проверено 30 июня 2022 г.
  15. ^ "EtText: Документация: Использование EtText". ettext.taint.org . Получено 2022-06-30 .
  16. ^ "Markdown Syntax Documentation". Daring Fireball. Архивировано из оригинала 2019-09-09 . Получено 2018-03-09 .
  17. ^ "GitHub Flavored Markdown Spec – Зачем нужна спецификация?". github.github.com . Архивировано из оригинала 2020-02-03 . Получено 2018-05-17 .
  18. ^ "Babelmark 2 – Сравнение реализаций markdown". Johnmacfarlane.net. Архивировано из оригинала 2017-07-18 . Получено 2014-04-25 .
  19. ^ "Babelmark 3 – Сравнение реализаций Markdown". github.io. Архивировано из оригинала 2020-11-12 . Получено 2017-12-10 .
  20. ^ "Babelmark 2 – FAQ". Johnmacfarlane.net. Архивировано из оригинала 2017-07-28 . Получено 2014-04-25 .
  21. ^ Грубер, Джон [@gruber] (4 сентября 2014 г.). «@tobie @espadrine @comex @wycats Потому что у разных сайтов (и людей) разные потребности. Ни один синтаксис не удовлетворит всех» ( Твит ) – через Twitter .
  22. ^ Грубер, Джон (19 мая 2022 г.). "Markdoc". Daring Fireball . Архивировано из оригинала 19 мая 2022 г. . Получено 19 мая 2022 г. . Мне нравятся их расширения синтаксиса — очень соответствуют духу Markdown. Они используют фигурные скобки для своих расширений; не уверен, что я когда-либо ясно давал это понять публично, но я избегал использования фигурных скобок в самом Markdown — хотя это очень заманчивые символы — чтобы неофициально зарезервировать их для расширений, зависящих от реализации. Широкое использование фигурных скобок в Markdoc для своего синтаксиса — это именно то, о чем я думал.
  23. ^ "UTI документа CommonMark". 12 апреля 2017 г. Архивировано из оригинала 22 ноября 2018 г. Получено 29 сентября 2017 г.
  24. ^ "Спецификация CommonMark". Архивировано из оригинала 2017-08-07 . Получено 2017-07-26 .
  25. ^ "Markdown Community Page". GitHub. Архивировано из оригинала 2020-10-26 . Получено 2014-04-25 .
  26. ^ "Standard Markdown теперь Common Markdown". Джефф Этвуд. 4 сентября 2014 г. Архивировано из оригинала 2014-10-09 . Получено 2014-10-07 .
  27. ^ "Standard Markdown Becomes Common Markdown then CommonMark". InfoQ . Архивировано из оригинала 2020-09-30 . Получено 2014-10-07 .
  28. ^ "CommonMark". Архивировано из оригинала 12 апреля 2016 года . Получено 20 июня 2018 года . Текущая версия спецификации CommonMark завершена и довольно надежна после года публичных отзывов… но не совсем окончательная. С вашей помощью мы планируем объявить о финальной версии спецификации 1.0 и тестовом наборе в 2019 году.
  29. ^ "Проблемы, которые мы ДОЛЖНЫ решить до выпуска версии 1.0 [осталось 6]". Обсуждение CommonMark . 2015-07-26. Архивировано из оригинала 2021-04-14 . Получено 2020-10-02 .
  30. ^ "Markdown Variants". IANA . 2016-03-28. Архивировано из оригинала 2020-10-27 . Получено 2016-07-06 .
  31. ^ abc "GitHub Flavored Markdown Spec". GitHub. Архивировано из оригинала 2020-02-03 . Получено 2020-06-11 .
  32. ^ "Reddit markdown primer. Или как вообще делать все это замысловатое форматирование в комментариях?". Reddit. Архивировано из оригинала 2019-06-11 . Получено 2013-03-29 .
  33. ^ "SourceForge: Markdown Syntax Guide". SourceForge . Архивировано из оригинала 2019-06-13 . Получено 2013-05-10 .
  34. ^ "Markdown Editing Help". StackOverflow.com. Архивировано из оригинала 2014-03-28 . Получено 2014-04-11 .
  35. ^ "Markdown Syntax Documentation". daringfireball.net . Архивировано из оригинала 2019-09-09 . Получено 2021-03-01 .
  36. ^ "Basic Syntax: Italic". The Markdown Guide . Matt Cone. Архивировано из оригинала 26 марта 2022 г. Получено 27 марта 2022 г. Чтобы выделить текст курсивом, добавьте одну звездочку или подчеркивание до и после слова или фразы. Чтобы выделить курсивом середину слова для акцента, добавьте одну звездочку без пробелов вокруг букв.
  37. ^ Том Престон-Вернер . "Примеры разметки GitHub Flavored". GitHub . Архивировано из оригинала 2021-05-13 . Получено 2021-04-02 .
  38. ^ "Формальная спецификация для GitHub Flavored Markdown". GitHub Engineering . 14 марта 2017 г. Архивировано из оригинала 3 февраля 2020 г. Получено 16 марта 2017 г.
  39. ^ Фортин, Мишель (2018). "PHP Markdown Extra". Сайт Мишеля Фортина . Архивировано из оригинала 2021-01-17 . Получено 2018-12-26 .
  40. ^ "PHP Markdown Extra". Мишель Фортен . Архивировано из оригинала 2021-01-17 . Получено 2018-12-26 .
  41. ^ "Markdown editor for BUEditor". 4 декабря 2008 г. Архивировано из оригинала 17 сентября 2020 г. Получено 15 января 2017 г.
  42. ^ "Markdown для TYPO3 (markdown_content)". extensions.typo3.org . Архивировано из оригинала 2021-02-01 . Получено 2019-02-06 .
  43. ^ Дитрих, Андре. "LiaScript". liascript.github.io . Архивировано из оригинала 2022-01-19 . Получено 2022-01-17 .
  44. ^ "Страница сообщества W3C по реализациям Markdown". W3C Markdown Wiki . Архивировано из оригинала 17 сентября 2020 г. Получено 24 марта 2016 г.
  45. ^ "330707 - Добавить дополнительную поддержку MarkDown". bugzilla.mozilla.org . Архивировано из оригинала 2022-10-11 . Получено 2022-10-11 .
  46. ^ "Текст Markdown 101 (Форматирование чата: жирный, курсив, подчеркивание)". discord.com . Архивировано из оригинала 26 июня 2020 г.
  47. ^ "Doxygen Manual: Markdown support". Архивировано из оригинала 2019-08-09 . Получено 2019-08-09 .
  48. ^ "Writing on GitHub". help.github.com . GitHub, Inc. Архивировано из оригинала 4 июня 2018 г. Получено 9 июля 2014 г.
  49. ^ @EvolutionGnome (23 марта 2022 г.). «Evolution 3.44 вышла и уже доступна на #Flathub! Помимо множества небольших улучшений и исправлений, она добавляет редактор разметки для написания сообщений. 👇» ( Твит ) – через Twitter .
  50. ^ "Markdown Guide". joplinapp.org . Архивировано из оригинала 2022-09-23 . Получено 2022-07-14 .
  51. ^ "Почему вам нужен WYSIWYG-редактор при написании в Markdown и Fountain". Блог JotterPad . 17.11.2020. Архивировано из оригинала 27.11.2020 . Получено 06.12.2020 .
  52. ^ "Синтаксис Markdown — документация Kanboard". docs.kanboard.org . Архивировано из оригинала 2022-10-11 . Получено 2022-10-11 .
  53. ^ "Синтаксис Markdown для файлов, виджетов, вики - Azure DevOps". 25 марта 2024 г. Архивировано из оригинала 18 апреля 2024 г. Получено 18 апреля 2024 г.
  54. ^ "Использование форматирования Markdown в Teams". Microsoft . Архивировано из оригинала 2022-01-13 . Получено 2022-01-13 .
  55. ^ "Akkoma - Magically Expressive Social Media". akkoma.social . Архивировано из оригинала 2023-04-05 . Получено 2024-04-18 .
  56. ^ "MFM". Misskey Hub . Архивировано из оригинала 2024-03-24 . Получено 2024-04-18 .
  57. ^ "Nextcloud Notes * App". Nextcloud Apps . Архивировано из оригинала 2022-02-18 . Получено 2022-02-18 .
  58. ^ "Obsidian". obsidian.md . Архивировано из оригинала 2022-07-12 . Получено 2022-07-14 .
  59. ^ R Markdown: The Definitive Guide. Архивировано из оригинала 2021-04-13 . Получено 2021-08-23 .
  60. ^ Allaire, JJ ; ea (2015-06-30). "Markdown.cpp". Проект GitHub RStudio . Архивировано из оригинала 2017-07-26 . Получено 2016-07-07 .
  61. ^ "Help". Simplenote . 2015-07-30. Архивировано из оригинала 2022-07-14 . Получено 2022-07-14 .

Внешние ссылки