- Markdown
-
Markdown (маркдаун) — облегчённый язык разметки. Первоначально создан Джоном Грубером (англ. John Gruber) и Аароном Шварцем, целью которых являлось создание максимально удобочитаемого и удобного в публикации облегчённого языка разметки. Многие идеи языка были позаимствованы из существующих соглашений по разметке текста в электронных письмах. Реализации языка Markdown преобразуют текст в формате Markdown в валидный, правильно построенный XHTML и заменяет левые угловые скобки («<») и амперсанды («&») на соответствующие коды сущностей. Первой реализацией Markdown стала написанная Грубером реализация на Perl, однако спустя некоторое время появилось множество реализаций от сторонних разработчиков (см. ниже). Реализация на Perl распространяется по лицензии типа BSD. Реализации Markdown на различных языках программирования включены (или доступны в качестве плагина) во многие системы управления содержимым.
Содержание
Примеры синтаксиса
Ниже приведены примеры использования Markdown, однако это далеко не полное руководство. Полное описание языка может быть найдено на официальном сайте.[1] Символы, которые обычно рассматриваются в Markdown как специальные, могут быть экранированы с помощью обратного слеша. Например, последовательность «\*» выведет символ «*», а не будет являться признаком начала выделенного текста. Кроме того, Markdown не преобразует текст внутри «сырых» блоков XHTML. Таким образом, в Markdown-документ можно включать секции XHTML, заключив их предварительно в теги уровня блока.
- Текст с выделением или логическим ударением:
*выделение* (например, курсив) **сильное выделение** (например, полужирное начертание)
- Программный код:
`какой_то_программный_код($аргумент)`
какой_то_программный_код_с_отступом_от_начала_строки_4_знака
- Списки:
* элемент маркированного списка - ещё один элемент ненумерованного списка + буллеты элементов могут быть разными
1. Элемент нумерованного списка 2. Элемент №2 того же списка 9. Элемент №3 списка — элементы нумеруются по порядку, цифра в начале строки не имеет значения
- Заголовки:
Создание заголовков производится путём помещения знака решетки перед текстом заголовка. Количество знаков «#» соответствует уровню заголовка. HTML предоставляет 6 уровней заголовков.
# Заголовок первого уровня #### Заголовок четвёртого уровня
Первые два уровня заголовка также имеют альтернативный синтаксис:
Заголовок первого уровня ========================
Заголовок второго уровня ------------------------
- Цитаты (тег blockquote):
>Данный текст будет заключен в HTML-теги <blockquote></blockquote>
- Ссылки:
[Текст ссылки](адрес://ссылки.здесь "Заголовок ссылки")
или
[Текст ссылки][тег]
и где-нибудь в документе (например в самом низу)
[тег]: адрес://ссылки.здесь "Заголовок ссылки"
- Изображения:
![Alt-текст](URL изображения "Заголовок изображения")
Реализации Markdown
- C#[2]
- C[3]
- ColdFusion[4]
- Common Lisp[5]
- Haskell[6]
- Java[7][8]
- JavaScript[9]
- Lua[10]
- newLISP[11]
- Perl[12]
- PHP[13]
- Python[14][15]
- Ruby[16][17]
- Scala[18]
Расширения
Приведённые ниже приложения реализуют Markdown, расширяя его синтаксис дополнительной функциональностью:
- MultiMarkdown (C) [19]
- Text::MultiMarkdown (Perl) модуль, реализующий расширение MultiMarkdown [20]
- PHP Markdown Extra[21]
- python-markdown2 (Поддерживает некоторые расширения PHP Markdown)[15]
- python-markdown (Имеет систему расширений для добавления нового синтаксиса)[14]
- Markout (Java)[22]
- Pegdown (Java)[8]
- Maruku (Ruby)[17]
- Pandoc (Haskell)[6][23]
Руководства
Конвертеры
- из HTML в Markdown
- html2text.py (написано на Python)[26]
- Markdownify (на PHP)[27]
- Make.text (букмарклет, преобразующий любую веб-страницу в Markdown)[28]
- XHTML-to-Markdown XSLT (XSLT-таблица стилей, работает только с XHTML)[29]
- Pandoc (написанная на Haskell библиотека по преобразованию различных форматов, может преобразовывать из и в Markdown, HTML, reStructuredText, LaTeX, и другие)[6]
- Другие форматы в Markdown
- odt2txt (написанный на Python скрипт для преобразования файлов из формата OpenDocument в Markdown)[30]
- word_markdown_macro (макрос Microsoft Word, преобразующий некоторую часть форматирования Word в Markdown)[31]
Веб-приложения, использующие Markdown
- Вики:
- Блоги:
- Tumblr — изначально отключён, но можно использовать, включив в настройках.
- scriptogr.am
- CMS:
- Веб-фреймворки:
- Django — требуется установка python-markdown[35]
- Ruby on Rails — требуется установка BlueCloth, Maruku[36]
Поддержка текстовыми редакторами
- Универсальные редакторы: TextMate, BBEdit (с версии 8.6), Vim (с помощью специального пользовательского режима[37], написанного Беном Вильямсом), Emacs, TextWrangler, Smultron
- Редакторы для блогов: Ecto[38], MarsEdit
- Плагины для редактора среды Eclipse от ThinkTank Mathematics[39]
- Плагины для текстового редактора gedit[40]
- Текстовый редактор iA Writer в версии для Mac OS[41]
- Текстовый редактор ReText для GNU/Linux[42]
- WYSIWYM редактор Texts для Windows/Mac OS[43]
Примечания
- ↑ Описание синтаксиса Markdown (англ.)
- ↑ Announcing Markdown.NET
- ↑ Discount — a C implementation of the Markdown markup language
- ↑ CFX_Markdown | Seb Duggan
- ↑ CL-Markdown — Markdown and More
- ↑ 1 2 3 Pandoc — About pandoc
- ↑ MarkdownJ | Download MarkdownJ software for free at SourceForge.net
- ↑ 1 2 Pegdown
- ↑ Showdown — A JavaScript port of Markdown
- ↑ http://www.frykholm.se/files/markdown.lua
- ↑ The Search Engine that Does at InfoWeb.net
- ↑ Text::Markdown — search.cpan.org
- ↑ PHP Markdown
- ↑ 1 2 Markdown in Python: Overview
- ↑ 1 2 python-markdown2 — Project Hosting on Google Code
- ↑ BlueCloth
- ↑ 1 2 Maruku: a Markdown-superset interpreter
- ↑ MarkWrap — Unified Scala wrapper API for various lightweight markup APIs
- ↑ MultiMarkdown
- ↑ Text::MultiMarkdown - search.cpan.org
- ↑ PHP Markdown Extra
- ↑ Markout: Markout
- ↑ markdown от Pandoc против стандартного markdown (англ.)
- ↑ Daring Fireball: Markdown Web Dingus
- ↑ warpedvisions.org :: Markdown cheat sheet
- ↑ html2text: THE ASCIINATOR (aka html2txt)
- ↑ Markdownify: The HTML to Markdown converter for PHP
- ↑ Make.text
- ↑ Elements or Lower :: Geekery : XML : XHTML-to-Markdown.html
- ↑ Markdown in Python: odt2txt
- ↑ ProgTips " Blog Archive " Word to Markdown converter
- ↑ Markdown filter for Drupal | drupal.org
- ↑ typo3.org: Repository
- ↑ RadiantCMS
- ↑ /django/trunk/django/contrib/markup/templatetags/markup.py — Django — Trac
- ↑ The Search Engine that Does at InfoWeb.net или RDiscount, который является развитием BlueCloth
- ↑ Markdown Vim Mode | PlasticBoy
- ↑ Ecto, редактор для блогов (англ.)
- ↑ Markdown-плагин для редактора среды Eclipse (англ.)
- ↑ Markdown-плагин для текстового редактора gedit (англ.)
- ↑ iA Writer для Mac (англ.)
- ↑ ReText — text editor for Markdown and reStructuredText (англ.)
- ↑ Texts — rich editor for plain text (англ.)
Категория:- Языки разметки
Wikimedia Foundation. 2010.