Markdown

Автор: Vyazovoi Pavel

В этой заметке я задался целью описать все реализации 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.

  1. Markdown (Perl) - реализация от автора синтаксиса. Используется мной для локального конвертирования markdown-текстов.
  2. PHP Markdown (PHP) - реализация на PHP. Использовать очень просто, достаточно подключить библиотеку и вызывать функцию Markdown.
  3. PHP Markdown Extra (PHP) - именно эта библиотека используется мной в phpBlosxom-ng. Её отличие от предыдущей в том, что синтаксис значительно расширен. Например, для меня важно то, что появилась поддержка таблиц (ранее приходилось писать эти части верстки в html). Подробнее - на странице расширения.
  4. Showdown (Javascript) - крайне любопытная реализация. Любопытна она тем, что позволяет использовать markdown на любой странице. Всё что требуется - поддержка javascript в браузере клиента.
  5. WMD (Javascript) - wysiwym markdown editor. Якобы редактор в стиле "what you see is what you get". На самом деле это не так, потому что мы видим всё равно markdown-разметку, аддон добавляет только кнопочки для быстрой вставки тегов. Но всё равно интересно.
  6. python-markdown (Python) - было бы очень странно, если бы небыло реализации парсера на питоне. Пока мне больше нечего сказать о нём.
  7. Pandoc (Haskell) - библиотека, которая конвертирует много форматов разметки, в том числе markdown
  8. 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
Заметка будет обрастать новой информацией по мере того как я буду эту информацию получать, а вот как уже это получится - я не знаю.

16.05.2008 - 12:10
Для друпала есть кстати модуль, позволяющий писать статьи, комменты и пр. с помощью markdown. Хотите - поставлю.
16.05.2008 - 12:12
Хочу, у меня весь исходный материал в нем, когда надо - конвертирую в html.
---
http://vyazovoi.info
16.05.2008 - 12:31
Вуаля. Формат ввода - Markdown.
RSS-материал RSS-материал