В этой заметке я задался целью описать все реализации markdown, а также приёмы работы с ним в популярных редакторах.
Что такое markdown.
Markdown - это синтаксис для разметки файла. Сразу напрашивается вопрос - чем он лучше или чем отличается от html.
Ответить на него легко: у него просто другое применение. Markdown удобно использовать для написания статей с целью последующей публикации в web. Markdown легко набирать и легко читать (по сравнению с html). Для примера - сравните как вы наберете:
<a href="http://google.com">Google</a>
А как в markdown:
[Google](http://google.com)
Квадратные скобки потребовали переключения в латинскую раскладку, но большинство тегов markdown этого не требуют.
Синтаксис markdown.
Примечание: а ещё markdown можно использовать как защиту от простейших email-спайдеров, посмотрите на результат парсинга такого тэга:
<example@domain.com>
Самое очевидное применение markdown - публикация в блоги и на новостные сайты.
Реализации markdown
Все представленные здесь реализации markdown на выходе генерируют html.
- Markdown (Perl) - реализация от автора синтаксиса. Используется мной для локального конвертирования markdown-текстов.
- PHP Markdown (PHP) - реализация на PHP. Использовать очень просто, достаточно подключить библиотеку и вызывать функцию Markdown.
- PHP Markdown Extra (PHP) - именно эта библиотека используется мной в phpBlosxom-ng. Её отличие от предыдущей в том, что синтаксис значительно расширен. Например, для меня важно то, что появилась поддержка таблиц (ранее приходилось писать эти части верстки в html). Подробнее - на странице расширения.
- Showdown (Javascript) - крайне любопытная реализация. Любопытна она тем, что позволяет использовать markdown на любой странице. Всё что требуется - поддержка javascript в браузере клиента.
- WMD (Javascript) - wysiwym markdown editor. Якобы редактор в стиле "what you see is what you get". На самом деле это не так, потому что мы видим всё равно markdown-разметку, аддон добавляет только кнопочки для быстрой вставки тегов. Но всё равно интересно.
- python-markdown (Python) - было бы очень странно, если бы небыло реализации парсера на питоне. Пока мне больше нечего сказать о нём.
- Pandoc (Haskell) - библиотека, которая конвертирует много форматов разметки, в том числе markdown
- Maruku (Ruby) - just another.
Редактирование markdown-текста в различных редакторах.
- Emacs.
Этой мой самый любимый редактор и конечно же в нём есть режим для редактирования Markdown.
Устанавливается только отдельно. Брать здесь.
Предоставляет полный цикл для работы с Markdown - хорошую подсветку и биндинги для вставки тэгов.
- Vim
Для Vim есть подсветка синтаксиса + сниппеты
Обидно, но подсветка синтаксиса markdown у этого редактора очень тормозит.
Синтаксис
SnippetsEmu
- Gedit
Есть подсветка синтаксиса + плагин для предпросмотра результата в окне gedit (мне не понравилось).
Плагин этот брать здесь
Markdown в Emacs:

Markdown в Gvim:

Поддержка markdown в различных web-скриптах.
coming soon...
Markdown и Smarty.
coming soon...
Замечания и прочие комментарии можно слать мне на email: vyazovoi@gmail.com
Заметка будет обрастать новой информацией по мере того как я буду эту информацию получать, а вот как уже это получится - я не знаю.
---
http://vyazovoi.info