stringtranslate.com

Уценка

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

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

История

Markdown был вдохновлен ранее существовавшими соглашениями для разметки простого текста в сообщениях электронной почты и Usenet , такими как более ранние языки разметки settext ( около  1992 г. ), Textile (около 2002 г.) и reStructuredText (около 2002 г.). [11]

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

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

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

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

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

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

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

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

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

С 2012 года группа людей, в том числе Джефф Этвуд и Джон Макфарлейн , запустила то, что Этвуд назвал усилиями по стандартизации. [13] Веб-сайт сообщества теперь призван «документировать различные инструменты и ресурсы, доступные авторам и разработчикам документации, а также разработчикам различных реализаций Markdown». [25] В сентябре 2014 года Грубер возразил против использования «Markdown» в названии этой инициативы, и она была переименована в CommonMark. [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

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

Примеры

Реализации

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

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

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

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

Заметки с пояснениями

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

Рекомендации

  1. Грубер, Джон (8 января 2014 г.). «Расширение файла Markdown». Компания «Дэринг Файербол», ООО. Архивировано из оригинала 12 июля 2020 года . Проверено 27 марта 2022 г. Полагаю, сейчас слишком поздно, но единственное расширение файла, которое я бы одобрил, — это «.markdown», по той же причине, что предложил Хилтон Липшиц: мы больше не живем в мире 8.3, поэтому нам следует использовать наиболее описательные расширения файлов. Печально, что все наши операционные системы полагаются на это глупое соглашение вместо лучшего кода создателя или модели метаданных, но здорово, что теперь они поддерживают более длинные расширения файлов.
  2. ^ abc Леонард, Шон (март 2016 г.). «Тип носителя текста/уценки». Запрос комментариев: 7763 . Рабочая группа по интернет-инжинирингу. Архивировано из оригинала 22 марта 2022 года . Проверено 27 марта 2022 г. В этом документе регистрируется тип носителя text/markdown для использования с Markdown — семейством синтаксисов форматирования простого текста, которые при необходимости можно преобразовать в формальные языки разметки, такие как HTML.
  3. ↑ abc Хендлер, Джеймс (10 ноября 2022 г.). «Предисловие Джеймса Хендлера». Программируемая сеть Аарона Шварца: незаконченная работа (PDF) . Синтезирующие лекции по данным, семантике и знаниям. Шпрингер Природа Швейцария . стр. ix. дои : 10.1007/978-3-031-79444-5. ISBN 978-3-031-79444-5. Проверено 12 января 2024 г. - из Wikisource . Этот документ изначально был создан в формате «уценки», упрощенном формате HTML/Wiki, который Аарон разработал совместно с Джоном Грубером ок. 2004.
  4. ^ abc Кревинкель, Альберт; Винклер, Роберт (8 мая 2017 г.). «Форматирование открытой науки: гибкое создание нескольких форматов документов для академических рукописей с помощью Pandoc Scholar» (PDF) . PeerJ Информатика . 3 :6. doi : 10.7717/peerj-cs.112 . Проверено 12 января 2024 г. Первоначально Markdown был разработан Джоном Грубером в сотрудничестве с Аароном Шварцем с целью упростить написание HTML-документов.
  5. ^ Шварц, Аарон (19 марта 2004 г.). «Уценка». Аарон Шварц: Блог . Архивировано из оригинала 24 декабря 2017 г. Проверено 1 сентября 2013 г.
  6. ^ Грубер, Джон . «Уценка». Дерзкий огненный шар . Архивировано из оригинала 11 марта 2004 г. Проверено 20 августа 2022 г.
  7. ^ Исходный код abc Markdown 1.0.1 «Daring Fireball – Markdown». 17 декабря 2004 г. Архивировано из оригинала 2 апреля 2004 г.
  8. ^ «Уценка: Лицензия» . Дерзкий огненный шар. Архивировано из оригинала 18 февраля 2020 г. Проверено 25 апреля 2014 г.
  9. ^ аб Леонард, Шон (март 2016 г.). «Руководство по Markdown: философия дизайна, стратегии стабильности и избранные регистрации». Запрос комментариев: 7764 . Рабочая группа по интернет-инжинирингу. Архивировано из оригинала 17 апреля 2022 года . Проверено 27 марта 2022 г. В этом документе подробно описан тип носителя text/markdown для использования с Markdown — семейством синтаксисов форматирования простого текста, которые при необходимости можно преобразовать в формальные языки разметки, такие как HTML. Предоставляется справочная информация, стратегии локального хранения и дополнительные регистрации синтаксиса.
  10. ^ "Справочный сайт RMarkdown" . Архивировано из оригинала 03 марта 2020 г. Проверено 21 ноября 2019 г.
  11. ^ abcd Синтаксис Markdown «Дерзкий огненный шар – Markdown – Синтаксис». 13 июня 2013 г.«Однако читабельность важнее всего остального. Документ в формате Markdown должен быть доступен для публикации как есть, как обычный текст, не выглядя так, будто он был размечен тегами или инструкциями по форматированию. Хотя на синтаксис Markdown повлияло несколько существующих текстов Фильтры «-to-HTML», в том числе Setext, atx, Textile, reStructuredText, Grutatext [14] и EtText [15] — единственным источником вдохновения для синтаксиса Markdown является формат обычного текстового электронного письма».
  12. ^ «Дерзкий огненный шар: представляем уценку» . daringfireball.net . Архивировано из оригинала 20 сентября 2020 г. Проверено 23 сентября 2020 г.
  13. ^ аб Этвуд, Джефф (25 октября 2012 г.). «Будущее Markdown». CodingHorror.com. Архивировано из оригинала 11 февраля 2014 г. Проверено 25 апреля 2014 г.
  14. ^ "Личный науфраджио: разметка Grutatxt" . triptico.com . Проверено 30 июня 2022 г.
  15. ^ «EtText: Документация: Использование EtText» . ettext.taint.org . Проверено 30 июня 2022 г.
  16. ^ «Документация по синтаксису Markdown» . Дерзкий огненный шар. Архивировано из оригинала 9 сентября 2019 г. Проверено 9 марта 2018 г.
  17. ^ «Спецификация Markdown со вкусом GitHub - зачем нужна спецификация?». github.github.com . Архивировано из оригинала 03 февраля 2020 г. Проверено 17 мая 2018 г.
  18. ^ «Babelmark 2 – Сравните реализации уценки» . Johnmacfarlane.net. Архивировано из оригинала 18 июля 2017 г. Проверено 25 апреля 2014 г.
  19. ^ «Babelmark 3 – Сравните реализации Markdown» . github.io. Архивировано из оригинала 12 ноября 2020 г. Проверено 10 декабря 2017 г.
  20. ^ «Babelmark 2 – Часто задаваемые вопросы» . Johnmacfarlane.net. Архивировано из оригинала 28 июля 2017 г. Проверено 25 апреля 2014 г.
  21. Грубер, Джон [@gruber] (4 сентября 2014 г.). «@tobie @espadrine @comex @wycats Потому что разные сайты (и люди) имеют разные потребности. Ни один синтаксис не сделает всех счастливыми» ( Твит ) – через Twitter .
  22. Грубер, Джон (19 мая 2022 г.). «Маркдок». Дерзкий огненный шар . Архивировано из оригинала 19 мая 2022 года . Проверено 19 мая 2022 г. Мне нравятся их синтаксические расширения — они очень соответствуют духу Markdown. Они используют фигурные скобки для своих расширений; Я не уверен, что когда-либо публично заявлял об этом, но я избегал использования фигурных скобок в самом Markdown — хотя это очень заманчивые символы — чтобы неофициально зарезервировать их для расширений, специфичных для конкретной реализации. Широкое использование фигурных скобок в синтаксисе Markdoc — это именно то, о чем я думал.
  23. ^ «UTI документа CommonMark» . 12 апреля 2017 г. Архивировано из оригинала 22 ноября 2018 г. . Проверено 29 сентября 2017 г.
  24. ^ «Спецификация CommonMark» . Архивировано из оригинала 07 августа 2017 г. Проверено 26 июля 2017 г.
  25. ^ "Страница сообщества Markdown" . Гитхаб. Архивировано из оригинала 26 октября 2020 г. Проверено 25 апреля 2014 г.
  26. ^ «Стандартная уценка теперь стала обычной уценкой» . Джефф Этвуд. 4 сентября 2014 г. Архивировано из оригинала 9 октября 2014 г. Проверено 7 октября 2014 г.
  27. ^ «Стандартная уценка становится общей уценкой, а затем CommonMark» . ИнфоQ . Архивировано из оригинала 30 сентября 2020 г. Проверено 7 октября 2014 г.
  28. ^ "CommonMark". Архивировано из оригинала 12 апреля 2016 года . Проверено 20 июня 2018 г. Текущая версия спецификации CommonMark является полной и достаточно надежной после года отзывов общественности… но не совсем окончательной. С вашей помощью мы планируем анонсировать окончательную спецификацию и набор тестов версии 1.0 в 2019 году.
  29. ^ «Проблемы, которые мы ДОЛЖНЫ решить до выпуска 1.0 [осталось 6]» . Обсуждение CommonMark . 26 июля 2015 г. Архивировано из оригинала 14 апреля 2021 г. Проверено 2 октября 2020 г.
  30. ^ «Варианты уценки» . ИАНА . 28 марта 2016 г. Архивировано из оригинала 27 октября 2020 г. Проверено 6 июля 2016 г.
  31. ^ abc «Спецификация Markdown со вкусом GitHub» . Гитхаб. Архивировано из оригинала 03 февраля 2020 г. Проверено 11 июня 2020 г.
  32. ^ «Букварь по уценке Reddit. Или вообще, как вы вообще делаете все это причудливое форматирование в своих комментариях?». Реддит. Архивировано из оригинала 11 июня 2019 г. Проверено 29 марта 2013 г.
  33. ^ «SourceForge: Руководство по синтаксису Markdown» . СоурсФордж . Архивировано из оригинала 13 июня 2019 г. Проверено 10 мая 2013 г.
  34. ^ «Помощь по редактированию Markdown» . StackOverflow.com. Архивировано из оригинала 28 марта 2014 г. Проверено 11 апреля 2014 г.
  35. ^ «Документация по синтаксису Markdown» . daringfireball.net . Архивировано из оригинала 9 сентября 2019 г. Проверено 01 марта 2021 г.
  36. ^ «Основной синтаксис: курсив» . Руководство по разметке . Мэтт Коун. Архивировано из оригинала 26 марта 2022 года . Проверено 27 марта 2022 г. Чтобы выделить текст курсивом, добавьте одну звездочку или подчеркивание до и после слова или фразы. Чтобы выделить курсивом середину слова для акцента, добавьте одну звездочку без пробелов вокруг букв.
  37. ^ Том Престон-Вернер . «Примеры уценки со вкусом GitHub». Гитхаб . Архивировано из оригинала 13 мая 2021 г. Проверено 2 апреля 2021 г.
  38. ^ «Официальная спецификация для Markdown со вкусом GitHub» . GitHub Инженерия . 14 марта 2017 г. Архивировано из оригинала 3 февраля 2020 г. . Проверено 16 марта 2017 г.
  39. ^ Фортен, Мишель (2018). «PHP Markdown Extra». Сайт Мишеля Фортена . Архивировано из оригинала 17 января 2021 г. Проверено 26 декабря 2018 г.
  40. ^ «Дополнительная PHP Markdown» . Мишель Фортен . Архивировано из оригинала 17 января 2021 г. Проверено 26 декабря 2018 г.
  41. ^ «Редактор Markdown для BUEditor» . 4 декабря 2008 г. Архивировано из оригинала 17 сентября 2020 г. . Проверено 15 января 2017 г.
  42. ^ «Уценка для TYPO3 (markdown_content)» . Extensions.typo3.org . Архивировано из оригинала 01 февраля 2021 г. Проверено 06 февраля 2019 г.
  43. ^ Дитрих, Андре. «ЛиаСкрипт». liascript.github.io . Архивировано из оригинала 19 января 2022 г. Проверено 17 января 2022 г.
  44. ^ «Страница сообщества W3C, посвященная реализациям Markdown» . W3C Markdown Wiki . Архивировано из оригинала 17 сентября 2020 года . Проверено 24 марта 2016 г.
  45. ^ «Markdown THrowdown - Что происходит, когда программное обеспечение FOSS получает корпоративную поддержку» . Арс Техника. 05.10.2014. Архивировано из оригинала 14 ноября 2020 г. Проверено 14 июня 2017 г.
  46. ^ «Используйте форматирование Markdown в Teams» . Майкрософт . Архивировано из оригинала 13 января 2022 г. Проверено 13 января 2022 г.
  47. ^ «Текст Markdown 101 (Форматирование чата: жирный, курсив, подчеркивание)» . дискорд.com . Архивировано из оригинала 26 июня 2020 года.
  48. ^ «Почему вам нужен редактор WYSIWYG при написании в Markdown и Fountain» . Блог JotterPad . 2020-11-17. Архивировано из оригинала 27 ноября 2020 г. Проверено 6 декабря 2020 г.
  49. ^ «Руководство Doxygen: поддержка Markdown» . Архивировано из оригинала 9 августа 2019 г. Проверено 9 августа 2019 г.
  50. ^ Аллер, Джей-Джей ; еа (30 июня 2015 г.). «Markdown.cpp». GitHub -проект RStudio . Архивировано из оригинала 26 июля 2017 г. Проверено 7 июля 2016 г.
  51. ^ «Написание на GitHub». help.github.com . GitHub, Inc. Архивировано из оригинала 4 июня 2018 года . Проверено 9 июля 2014 г.
  52. ^ R Markdown: Полное руководство. Архивировано из оригинала 13 апреля 2021 г. Проверено 23 августа 2021 г.
  53. ^ «Приложение Nextcloud Notes *» . Приложения Nextcloud . Архивировано из оригинала 18 февраля 2022 г. Проверено 18 февраля 2022 г.
  54. ^ «Руководство по уценке» . joplinapp.org . Архивировано из оригинала 23 сентября 2022 г. Проверено 14 июля 2022 г.
  55. ^ «Помощь». Простая заметка . 30 июля 2015 г. Архивировано из оригинала 14 июля 2022 г. Проверено 14 июля 2022 г.
  56. ^ "Обсидиан". Обсидиан.md . Архивировано из оригинала 12 июля 2022 г. Проверено 14 июля 2022 г.
  57. ^ @EvolutionGnome (23 марта 2022 г.). «Evolution 3.44 вышла и уже доступна на #Flathub! Помимо множества мелких улучшений и исправлений, она содержит редактор уценок для составления сообщений. 👇» ( Твит ) – через Twitter .
  58. ^ «Синтаксис Markdown — документация Kanboard» . docs.kanboard.org . Архивировано из оригинала 11 октября 2022 г. Проверено 11 октября 2022 г.
  59. ^ «330707 — Добавить дополнительную поддержку MarkDown» . bugzilla.mozilla.org . Архивировано из оригинала 11 октября 2022 г. Проверено 11 октября 2022 г.

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