Русская Википедия:Markdown

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Файловый формат

Markdown (МФА: Шаблон:МФА2, произносится маркда́ун) — облегчённый язык разметки, созданный с целью обозначения форматирования в простом тексте, с максимальным сохранением его читаемости человеком, и пригодный для машинного преобразования в языки для продвинутых публикаций (HTML, Rich Text и других).

История

Первоначально создан в 2004 году Шаблон:Iw и Аароном Шварцем. Многие идеи языка были позаимствованы из существующих соглашений по разметке текста в электронных письмах. Реализации языка Markdown преобразуют текст в формате Markdown в валидный, правильно построенный XHTML и заменяют левые угловые скобки («<») и амперсанды («&») на соответствующие коды сущностей. Первой реализацией Markdown стала написанная Грубером реализация на Perl, однако спустя некоторое время появилось множество реализаций от сторонних разработчиков (см. ниже). Реализация на Perl распространяется по лицензии типа BSD. Реализации Markdown на различных языках программирования включены (или доступны в качестве плагина) во многие системы управления содержимым.

Примеры синтаксиса

Ниже приведены примеры использования Markdown, однако это далеко не полное руководство. Полное описание языка может быть найдено на официальном сайте[1]. Символы, которые обычно рассматриваются в Markdown как специальные, могут быть экранированы с помощью обратного слеша. Например, последовательность «\*» выведет символ «*», а не будет являться признаком начала выделенного текста. Кроме того, Markdown не преобразует текст внутри «сырых» блоков XHTML. Таким образом, в Markdown-документ можно включать секции XHTML, заключив их предварительно в теги уровня блока.

Текст с выделением или логическим ударением

*выделение* (например, курсив)
**сильное выделение** (например, полужирное начертание)

Программный код

Элементы кода могут быть внутри строки (inline) либо многострочными блоками.

Внутри строки код выделяется символом "`" (обратный апостроф).

Пример кода внутри строки (inline) `Hello world!`

Многострочный блок кода обозначается отступом из 4 пробелов или одного Tab.

Ниже начинается многострочный блок кода

    <!doctype html>
    <html>
        <head>
            <!-- Заголовок документа -->
        </head>
        <body>
            <!-- Тело документа -->
        </body>
    </html>

Блок кода завершился

Зачёркнутый текст

необходимо сделать ~~одну~~ другую вещь

Списки

* элемент маркированного списка
- ещё один элемент ненумерованного списка
+ буллеты элементов могут быть разными

1. Элемент нумерованного списка
2. Элемент №2 того же списка
9. Элемент №3 списка — элементы нумеруются по порядку, цифра в начале строки не имеет значения

Заголовки

Создание заголовков производится путём помещения знака решетки перед текстом заголовка. Количество знаков «#» соответствует уровню заголовка. HTML предоставляет 6 уровней заголовков.

# Заголовок первого уровня
...
### Заголовок третьего уровня
...
###### Заголовок шестого уровня

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

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

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

Цитаты (тег blockquote)

> Данный текст будет заключен в HTML-теги <blockquote></blockquote>

Ссылки

[Текст ссылки](http://example.com/ "Необязательный заголовок ссылки")

Альтернативный способ задавать ссылки, если есть повторения:

Где-то среди текста встречается [текст ссылки][example].

Также ссылка повторяется [пример адреса][example].

Ссылка на [второй][foo] также [Bar][] ресурсы.

[example]: http://example.com/ "Необязательный заголовок ссылки"
[foo]: http://example.net/ 'Необязательный заголовок ссылки'
[bar]: http://example.edu/ (Необязательный заголовок ссылки)

Изображения

![Alt-текст](http://example.com/ "Заголовок изображения")

Реализации Markdown

Расширения

Приведённые ниже приложения реализуют Markdown, расширяя его синтаксис дополнительной функциональностью:

  • MultiMarkdown (C)[27]
  • Text::MultiMarkdown (Perl) модуль, реализующий расширение MultiMarkdown[28]
  • PHP Markdown Extra[29]
  • python-markdown2 (Поддерживает некоторые расширения PHP Markdown)[22]
  • python-markdown (Имеет систему расширений для добавления нового синтаксиса)[21]
  • Markout (Java)[30]
  • Pegdown (Java)[13]
  • Maruku (Ruby)[24]
  • Pandoc (Haskell)[11][31]

Руководства

  • Markdown: Dingus онлайн-конвертер[32]
  • Markdown cheat sheet[33]

Конвертеры

  • из HTML в Markdown
    • html2text.py (написано на Python)[34]
    • Markdownify (на PHP)[35]
    • Make.text — букмарклет, преобразующий любую веб-страницу в Markdown[36]
    • XHTML-to-Markdown XSLT (XSLT-таблица стилей, работает только с XHTML)[37]
    • Pandoc — написанная на Haskell библиотека по преобразованию различных форматов, поддерживает несколько диалектов Markdown (markdown — диалект от pandoc, markdown_strict — оригинальный Markdown без расширений, markdown_phpextra — диалект от PHP, markdown_github — диалект от github) может преобразовывать из и в Markdown, HTML, reStructuredText, LaTeX, и другие.[11]
  • Другие форматы в Markdown

Утилиты

  • Markdown tool (написанный на Python скрипт для загрузки документов Markdown вместе с изображениями)[40]
  • Writage — плагин для Microsoft Word, позволяющий конвертировать DOCX документы в формат Markdown и наоборот.

Веб-приложения, использующие Markdown

  • Вики:
  • Блоги:
    • Tumblr — изначально отключён, но можно использовать, включив в настройках.
    • scriptogr.am
  • CMS:
    • Drupal — content-фильтр Markdown[41]
    • Magento — с помощью модуля[42]
    • Plone — «родная» поддержка в Plone 3
    • TYPO3 — с помощью плагина af_markdown[43]
    • RadiantCMS — один из видов разметки, доступный «из коробки»[44]
    • HTMLy — по умолчанию используется для хранения контента (вместо баз данных)[45]
  • Веб-фреймворки:
    • Ruby on Rails — требуется установка BlueCloth, Maruku[46]
    • Yii — виджет CMarkdown, входит в стандартную поставку фреймворка
    • Webasyst — входит в стандартную поставку PHP-фреймфорка в виде плагина к бесплатному приложению «Блог»
    • Symfony — требуется установка бандла KnpMarkdownBundle
  • Социальные приложения:
  • Системы управления проектами и кодом:

Поддержка текстовыми редакторами

Примечания

Шаблон:Примечания

Шаблон:Языки разметки документов

  1. Описание синтаксиса Markdown Шаблон:WaybackШаблон:Ref-en
  2. Markdownsharp
  3. Шаблон:Cite web
  4. Шаблон:Cite web
  5. Шаблон:Cite web
  6. Шаблон:Cite web
  7. Шаблон:Cite web
  8. Шаблон:Cite web
  9. Шаблон:Cite web
  10. Шаблон:Cite web
  11. 11,0 11,1 11,2 Шаблон:Cite web
  12. Шаблон:Cite web
  13. 13,0 13,1 Шаблон:Cite web
  14. Шаблон:Cite web
  15. Шаблон:Cite web
  16. Шаблон:Cite web
  17. Шаблон:Cite web
  18. The Search Engine that Does at InfoWeb.netШаблон:Недоступная ссылка
  19. Text::Markdown — search.cpan.org
  20. Шаблон:Cite web
  21. 21,0 21,1 Шаблон:Cite web
  22. 22,0 22,1 Шаблон:Cite web
  23. BlueCloth Шаблон:Webarchive
  24. 24,0 24,1 Шаблон:Cite web
  25. Шаблон:Cite web
  26. The CAIUS project has a pure Tcl package for processing Markdown
  27. Шаблон:Cite web
  28. Text::MultiMarkdown — search.cpan.org
  29. Шаблон:Cite web
  30. Шаблон:Cite web
  31. markdown от Pandoc против стандартного markdown Шаблон:WaybackШаблон:Ref-en
  32. Шаблон:Cite web
  33. Шаблон:Cite web
  34. Шаблон:Cite web
  35. Шаблон:Cite web
  36. Make.text
  37. Шаблон:Cite web
  38. Markdown in Python: odt2txt Шаблон:Webarchive
  39. Шаблон:Cite web
  40. Шаблон:Cite web
  41. Шаблон:Cite web
  42. Шаблон:Cite web
  43. Шаблон:Cite web
  44. Шаблон:Cite web
  45. Шаблон:Cite web
  46. The Search Engine that Does at InfoWeb.net Шаблон:Webarchive или RDiscount Шаблон:Wayback, который является развитием BlueCloth
  47. Шаблон:Cite web
  48. Шаблон:Cite web
  49. Ecto, редактор для блогов Шаблон:WaybackШаблон:Ref-en
  50. Markdown-плагин для редактора среды Eclipse Шаблон:WebarchiveШаблон:Ref-en
  51. Markdown-плагин для текстового редактора gedit Шаблон:WebarchiveШаблон:Ref-en
  52. iA Writer для Mac Шаблон:WebarchiveШаблон:Ref-en
  53. Шаблон:Cite web
  54. Шаблон:Статья
  55. ReText — text editor for Markdown and reStructuredText Шаблон:WebarchiveШаблон:Ref-en
  56. Texts — rich editor for plain text Шаблон:WaybackШаблон:Ref-en
  57. https://typora.io/ Шаблон:Wayback Typora — a markdown editor, markdown reader.