Визуальные редакторы для Markdown. Использование Markdown в редакторе записей WordPress. Редакторы Markdown как приложения

Идея довольно проста: вы пишете обычный "плоский" текст, и по ходу дела создаёте в нём структуру с помощью очень простых меток. Идея Markdown - быть простым и читабельным для гуманоидов языком разметки - по сути, это упрощённый HTML.

Когда вы пишете в Markdown, форматирование текста остаётся там, где вы его поставили и где вы хотите - кто пытался конвертировать текст из Word в HTML или хоть раз набирал длинный пост в визуальных редакторах типа Blogger, тот хорошо меня поймёт.

Обычный плоский текст дает безумную легкость в редактировании, контроль версий и доступ к документации везде, где есть необходимость. И при помощи pandoc и markdown из всего этого можно генерить практически любые документы и в разных форматах.

Синтаксис Markdown

Очень простой и вполне логичный. Краткое краткое описание синтаксиса, позаимствованное отсюда :
  • Абзацы разделяются пустой строкой
  • Два или более пробела на конце строки задают разрыв строки
  • Шрифты: **жирный** , _курсив_ , `моноширинный`
  • Заголовки: #первый уровень# , ##второй уровень##
  • Списки:
    • неупорядоченные: - элемент списка.
    • упорядоченные: 1. элемент списка
  • Блок кода - каждая строка начинается с 4 или более пробелов
  • Горизонтальная черта: три или более дефиса или звездочки
  • Ссылки:
    • встроенные [текст метки](url)
    • в виде сносок
  • Изображения:
    • встроенные!(url)
  • Экранирование символов делается с помощью обратной косой черты. Экранироваться должны следующие символы: * _ { } () # + - . !
На всякий случай приведу его здесь в виде шпаргалки:

Отдельной строкой идёт комментирование в Markdown, которое реализовано криво. Если комментарий короткий (inline), то можно воспользоваться обычным методом комментирования из HTML:


В Сети достаточно описаний простенького синтаксиса Markdown, но есть и особо выдающиеся ресурсы:

  • на английском с 30 ссылками на самые разные и полезные ресурсы по Markdown (автор - маковод);
  • , но автор считает единственным применением Markdown красноглазие с Jakyll.
  • (на английском).
  • а это мало того, что приличное описание Markdown, так ещё и огромное количество ссылок на то, что поддерживает Markdown в той или иной степени.
Удобно повесить шпаргалку где-нибудь на видном месте - их сделано уже немало, и среди них выделяются:
  • простенький и минималистский текст
  • красиво оформленный в виде вебстраницы
  • готовый к печати в виде PDF файла (PDF, 60 Кб)
  • ещё один, на английском, плотно оформленный в виде PDF
Для тех, кто не хочет читать - есть видеоурок на Ютубе:


где вам очень грамотно и на английском расскажут за 12 минут о том, что такое Markdown и зачем он вообще сдался.

Визуальные редакторы для Markdown

Удобнее всего набирать что-то в Markdown и сразу видеть результат - получается некая среда для вёрстки. Есть онлайн-редакторы, а есть приложения, которые можно использовать и без подключения к сети.

Редакторы Markdown как приложения

Новомодные облачные сервисы и прочий вебдваноль это, конечно, здорово, но вот случилось страшное и вы остались без соединения с Сетью. И что тогда? А тогда нам поможет старый-добрый десктоп и отдельностоячие приложения.
ReText
Один из немногих работающих редакторов Markdown под Linux это ReText . Так как написан он на QT4 и питоне, приготовьтесь тащить ради этой сопливой поделки размером в 100Кб кучу библиотек Qt4:
# apt-get install python-qt4 ... The following NEW packages will be installed: libqt4-help libqt4-scripttools python-qt4 python-sip 0 upgraded, 4 newly installed, 0 to remove and 184 not upgraded. Need to get 5,728 kB of archives. After this operation, 21.7 MB of additional disk space will be used. Do you want to continue ?
Вот за что автор этих строк не любит все эти поделки на питоне: маленькая программа на 100 кб, тянет за собой библиотек на 22 Мб. Тем не менее, визуальный редактор ReText имеет место быть и даже работает:

По сути не представляет собой ничего особенного - просто двухпанельник с минимумом функций. Если вы не хотите тащить половину Qt4, то ReText легко заменяется онлайн-редакторами, часто имеющими куда более внушительную функциональность.

Qute
Ещё один редактор, заслуживающий внимания - Qute . Он хорош тем, что обещает ещё и поддержку LaTeX. Для редактирования кода нужно нажать на абзац с текстом:

Приложение находится в очень ранней стадии разработки, но уже есть версия для Linux . Более того, есть и Android-приложение .

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

Если кто-то начнёт вам заливать про то, что Markdown поддерживается везде и всюду - это враньё слишком оптимистично. Кроме Vim и Emacs, подсветки синтаксиса по умолчанию нет ни в Kate, ни в Gedit, но есть, например, в Submile Text 2. Eё можно воткнуть, но сторонними плагинами - например, в Kate можно сделать так:

Installation is simple - copy the markdown.xml file to your ~/.kde/share/apps/katepart/syntax/ directory.
That’s it. Then, when you open a file with extensions of *.text, *.md, *.mmd , you’ll get Markdown-colored syntax editing!
Get the download code for the XML file (it’s dual-licensed under both GPL and BSD licenses).
Но на текстовых редакторах свет клином не сошёлся, и нам больше пригодятся редакторы визуальные.

Онлайн-редакторы Markdown

Те, кто всё ещё пользуется устаревшими текстовыми редакторами вынуждены прикручивать раскраску синтаксиса Markdown самостоятельно. Но у нас же 21 век на дворе, с вебдванолем и веб-сервисами, и нам хочется онлайн визуального редактора. Их есть у нас:

  • Dillinger : две панели, убогий фон "тетрадный лист", тормозная отрисовка, но есть возможность экспорта в GitHub и Dropbox, отображение номеров строк, и возможность экспорта HTML.
  • Instantmark ещё один простенький двухпанельник, но имеет возможность экспорта файла в форматах Markdowm и HTML (их можно скачать).
  • Походный редактор Markdowm : единственная полезная возможность, кроме стандартных кнопок и двух панелей - вкладка с синтаксисом.
  • Ещё в качестве онлайн редактора Markdown можно посмотреть на prose - из плюсов интеграция с GitHub и минималистский дизайн.
Внимания заслуживают первые два редактора, остальные страдают реализацией или дефицитом идей.

Блогодвижки и Вебсервисы на Markdown

Если Markdown весь из себя такой прекрасный, то где же блогоплатформы его использующие? А нет их Очень мало, так как блог на голом Markdown неудобен (нет тегов, комментариев, сайдбара, приличных тем) и выглядит как привет из 90х. Тем не менее, кое-что можно раскопать.

Сколько-нибудь вебсервисы, поддерживающие Markdown

Имеется в виду до какой-то степени законченные решения, позволяющие обычному пользователю не красноглазить с хостингом, хаскелем, jakyll, и прочими реактивными сноповязалками.
  • posterous : поддерживает Markdown, но он продался зачем-то Твиттеру и со дня на день закроется.
  • Tumblr: переваривает Markdown разметку, но это одна из самых чудовищных реализаций микроблогов.
  • Wordpress поддерживает Markdown разметку через специальный плагин.
Это более или менее продуманные решения, но если нам хочется личного творчества, то...

Связки Markdown + Dropbox

Это в общем-то не блогодвижки, а просто онлайн-рендеринг Markdown файлов пользователя по запросу плюс хостинг. Выглядит это всё слишком минималистично, но тем не менее:
  • Calepin : Сервис блогов без тем, без тегов, без виджетов, без кастомизации, и с убогим оформлением . И за деньги (в перспективе, см. FAQ).
  • scriptogr.am : пожалуй, наименее красноглазое решение, есть оформление лучше, и есть поддержка CSS. Более того, там обещают такую киллер-фичу, как метки для постов.
Но настоящие мужики ведь не ищут лёгких путей, и поэтому...

Hakyll/Jekyll + Markdown + GitHub = недо блогодвижок

Если у кого-то появилась идея "а я сейчас сделаю клёвый движок на маркдауне и буду писать на нём посты в мегаблог" - подумайте ещё раз. Вы потратите море времени на это, а в результате получите убогий недодвижок и посты (если у вас останутся силы их писать) с примитивным оформлением.

Примеров реализации подобных затей, более или менее удачных, хватает с избытком, и немногие тянут на прилично выглядящий standalone блог, хотя есть и исключения [сайт на Jekyll, www.juev.ru ]:


Зато бороться с хостингом, Jekyll/Hakyll и гитхабом можно до полной потери пульса. Для чего-то более или менее достойного, типа подсветки синтаксиса, выделения цветом и нормальных рисунков с подписями вы вернётесь к WYSIWYG, в котором это делается реально проще .

Здесь хотелось бы напомнить товарищам борзописцам, что блог ценен контентом, а не движком. Можно красноглазить с Markdown сколько угодно и истово боротья за правильный и сакрально чистый HTML. Но на то, как ужасно выглядит код, выданный WYSIWYG-редактором, плевать 99.999% процентам читателей и поисковых систем: люди и роботы ходят на сайты за контентом .

Использование Jekyll и Hakyll для блогодвижков может быть оправдано следующими соображениями:

Получается статический сайт, который можно размещать где угодно и нет особых требований к хостингу;
- меньше проблем с безопасностью;
- посты и картинки всегда у вас, легче создавать бекапы.

Стоит ли это всё дополнительных усилий, каждый решает сам.

Вики и другие вебсервисы с поддержкой Markdown

Далее я оставлю небольшой список потенциально рабочих решений в виде вики, сайтогенераторов и других исчадий софтостроения:
  • Dotclear - достаточно законченное решение для блогодвижка с поддержкой Markdown. Написано на глобальном и надёжном PHP.
  • судя по описанию, генератор статических сайтов с поддержкой markdown (под Windows)
  • нечто под звучным названием obtvse , выдающее себя за минималистский блогодвижок-генератор статических HTML страничек. Собирает пыль на гитхабе, можно попробовать вдохнуть в него жизнь.
  • Sputnik - сравнительно богатая возможностями Wiki с прямой поддержкой Markdown, написанная на Lua.
Много ссылок приведено в тексте, и это в самом деле удобнее делать с помощью Markdown. Корявая поддержка таблиц в Markdown и особенно отсутствие ц в е т а сильно огорчают автора , который привык выделять цветом всё , что ни попадя по поводу и без. Но составление вложенных списков для Еженедельного Обзора в GTD это, пожалуй, убойная возможность Markdown, ради которой можно потратить время на его освоение.

Анонимный комментирует... 24 сент. 2012 г., 07:41:00

github: pages не волнуют, а вот README.md в каждом репо -- реальная альтернатива страничке и/или вики маленького проекта; то же для bitbucket

posterous был самой чудовищной блог-платформой, потому что веб редактор не позволял править блоки кода. tumblr аутичен, но все равно православен, в отличиии от нугла не навязывает красных кнопок и javascript-only дизайнов.

Михаил Саушкин комментирует... 24 сент. 2012 г., 12:29:00

Давно использую markdown в связке c MathJax для публикации лекций, содержащих кучу формул, on-line. К Markable MathJax прикрутился тоже без проблем. Результат . Достаточно вставить строчку скрипта. Согласен с автором: в markdown меня убивает отсутствие поддержки таблиц, но есть костыль в виде html-кода, ну или в виде latex-кода с использованием окружения array.

virens комментирует... 24 сент. 2012 г., 12:57:00

@Andrew Prokhorenkov комментирует...
Может не Hakyl, а Jekyll?
Имелся в виду Hakyll . Исправил в тексте поста.

А в качестве редакторов Markdown для себя нашёл prose
Спасибо, добавил в пост. Хотя для меня гитхаб это минус, а не плюс.

@vova комментирует...
Pandoc поддерживает несколько вариантов оформления таблиц
Я знаю, но маркдаун сам по себе - не поддерживает.

Pandoc имеет ещё кучу замечательных особенностей
Это точно. На самом деле, была мысль воткнуть в пост ещё и про pandoc, но подумал, что уж слишком много.

@Denis Evsyukov комментирует...
Ммм, довольно странный наезд на блогодвижки, использующие markdown для хранения статей.

Это не наезд, а критика. По большей части конструктивная, хотя и с элементами троллинга.

У меня www.juev.ru работает на jekyll, все статьи в markdown. Что не так?
Я знаю. Просто вопрос в том, что в Wordpress и Blogger всё это (и намного больше) из коробки - зачем тратить время на изобретение колеса.

Кстати, Денис, твой блог - наиболее красивый из того, что я видел на джекиле. Всё остальное наводит леденящую душу тоску и отчаяние.

Плюс еще много различных разработок. Почему вы их называете недоблогодвижками?
Потому, что это недоделки, собирающие пыль на гитхабе. Конкретно: нет нормальных тем, нет сайдбара, нет комментариев, нет меток... Да, это можно прикрутить сторонними костылями. Но зачем?

@Заур Дзасежев комментирует...
Для Evernote есть консольный клиент для linux, поддерживающий заметки в Markdown. Зовётся geeknote
Занятно. Спасибо.

@iv_vl комментирует...
Поправь меня, но это хамство, против которого ты так выступаешь в комментариях.
Это не хамство, а несколько толстоватый троллинг.

Естественно, среди упоминавшихся не нашлось места www.juev.ru
Вот он один и есть, у которого блог выглядит сколько-нибудь красиво.

Упомянут в тексте, причём дважды.

Org Mode смотрит с презрением на «киллер-фичу» Markdown.
Емакс - не единственный текстовый редактор на этой планете. И вим, кстати, тоже.

Значительное количество онлайн редакторов Markdown против полурабочих прототипов для десктопа - вот что пугает.
Ну как же, iv_vl, все же заняты полезными делами: KDE4, Gnome3, Unity, Wayland. Одних форков Amarok уже по-моему десяток. А ты про маркдаун всё. Нам же так не хватает ещё десятка DE и пару сотен плееров.

За пределами веб, Markdown в качестве языка разметки не воспримается.
Вот этот-то пост как раз и пытается показать, что не вебом единым.

Отдельно обращаюсь к уважаемым блоггерам, собравшимся на дискуссию у этого поста. Я вижу, здесь на блоге, в «Краплёной колоде» отвалился счётчик FeedBurner.
Фидбёрнер глобально отвалился. Они работают над этим (ТМ). Хочется надеяться, что починят, хотя накрылась только статистика, сам фид жив и здоров.


Откуда дровишки? Там вырубают часть API, но сам фидбёрнер остаётся с нами. Его использует ОГРОМНОЕ количество народу.

virens комментирует... 24 сент. 2012 г., 12:59:00

@Анонимный комментирует...
github: pages не волнуют, а вот README.md в каждом репо -- реальная альтернатива страничке
Согласен с Анонимусом - кстати, для своего симулятора уже сделал такое ридми. Очень хорошо получилось.

tumblr аутичен, но все равно православен
А вот тут я с Анонимусом не согласен. Такого кошмарного вебсервиса я не видел давно: нет тегов, не работает поиск, нет sitemap... Разработчики ушли в запой, улетели на другую планету или вообще не пользуются своим сервисом.

за скритограм и калепин спасибо.
Это из моих комментариев у Акуловича . Так что это ему мерси:-)

@Михаил Саушкин комментирует...
Давно использую markdown в связке c MathJax для публикации лекций, содержащих кучу формул, on-line.
О, а это интересно. Спасибо, Михаил, мне бы это пригодилось.

К Markable MathJax прикрутился тоже без проблем.
А можно рецептик испросить? :-)

Результат здесь. Достаточно вставить строчку скрипта.
Весьма достойно, только несколько притормаживает отрисовка формул. А так вполне себе.

Согласен с автором: в markdown меня убивает отсутствие поддержки таблиц, но есть костыль в виде html-кода, ну или в виде latex-кода с использованием окружения array.
Честно говоря, не понимаю, почему поддержки таблиц и цветов не было изначально?

virens комментирует... 24 сент. 2012 г., 13:02:00

А насчёт хакила и красноглазия - приведут пример из жизни. Я в данный момент пытаюсь сделать новый оптимизационный алгоритм, который будет заточен под _мою_ задачу. Это математическое красноглазие, и меня можно спросить: зачем? Ведь есть столько алгоритмов, которые уже сделаны? Мой ответ: алгоритм, который я сделаю, будет лучше решать мою задачу, чем те, которые решают общую задачу. Моё решение лучше, потому что оно специализированное.

Маркдаун + хакилл = решение, которое, на мой взгляд, хуже существующих. Оно ограничено by design, и оно даст худший блогодвижок по сравнению с уже существующими. На таком "блогодвижке" нет ни меток, ни системы комментариев, ни тем.

Пример: я зашёл на блог и набрёл на интересный пост. Хочется почитать что-то ещё по этой теме, и хочется ткнуть в тег и посмотреть другие посты. У Juev-а метки есть, и одному Аллаху известно, сколько ему потребовалось на это сил. А в Вордпрессе это есть по умолчанию, просто из коробки.

Собственно, мой вопрос вот в чём: зачем тратить силы и время на то, что уже есть и отлично работает из коробки? Зачем тратить время на ещё одно колесо, если в итоге получится ровно тоже самое (если не хуже)? Я не могу найти ни одного вразумительного довода ЗА это. Комментаторы, возможно, приведут свои аргументы.

Не спорю: есть резон писать посты, хотя бы частично, в маркдауне - этот пост, кстати, написан в основном в Markable, кроме цветовой раскраски и картинок. Но делать из этого блогодвижок - зачем?!

Михаил Саушкин комментирует... 24 сент. 2012 г., 13:10:00

@virens
А можно рецептик испросить? :-)

Весьма достойно, только несколько притормаживает отрисовка формул. А так вполне себе.
Ну так скрипт отрабатывается с левого сайта, да и Markable немного тормознутая.

Anton Yakutovich комментирует... 24 сент. 2012 г., 18:27:00

Знатный пост, Миша. Сейчас всё побегут красноглазить с маркдауном:-)

> Ещё один редактор, заслуживающий внимания - Qute.
Ох, лучше не тратьте время. Дистрибутив для виндоус 40 MB и кривое тормознутое поделие на выходе.
Таким только пугать детей и сеять ненависть к использованию Markdown.

В статье часто пиарится pandoc, про MultiMarkdown ни слова. А зря, у него много вкусных плюшек .

> Ещё в качестве онлайн редактора Markdown можно посмотреть на prose
Как раз для редактирования всяких README.md и «недоблогодвижков» для гитхаба он подходит идеально. Я писал об этом.

iv_vl комментирует... 24 сент. 2012 г., 18:41:00

@virens комментирует…
Это не хамство, а несколько толстоватый троллинг.
Только правильное название «двойные стандарты». Если я буду на чёрных говорить «нигеры» — меня забанят, а в твоих устах — это «несколько толстоватый троллинг» чернокожего населения.

Упомянут в тексте, причём дважды.
Среди сайтов на Jekyll не упомянут ни разу.

по оф. информации FeedBurner отключают 20 октября.
Откуда дровишки? Там вырубают часть API, но сам фидбёрнер остаётся с нами
Никто не знает, насколько всё серьёзно, но шороху среди блоггеров Google навёл, часть мигрирует на FeedBlitz. Дровишки отсюда .

iv_vl комментирует... 24 сент. 2012 г., 19:12:00

@virens комментирует…
Оно ограничено by design, и оно даст худший блогодвижок по сравнению с уже существующими.
Не всем нужен блог как трибуна, чтобы вещать свои умные мысли. Многие пишут для себя, и наоборот, не желают тратить время на поддержание постоянной жизни блога, троллинг комментаторов. У них на первом плане удобство создания контента, а оно, как известно, у каждого своё. Кто задумывается о цветовой раскраске, когда пишет для себя? Вон, Juev использует чистый Markdown без таблиц и подсветки. Михаил, ты просто исходишь совсем из другого, из того, что каждый автор должен обязательно стать блоггером. Не каждый.

На таком "блогодвижке" нет ни меток, ни системы комментариев, ни тем.
Ну не прав же — это всё есть.

Зачем тратить время на ещё одно колесо, если в итоге получится ровно тоже самое (если не хуже)?
Дело не в количестве колёс. Кто-то предпочтёт велосипед машине из-за простого удовольствия. Ферштейн?

Minoru комментирует... 24 сент. 2012 г., 19:59:00

Я вот только сейчас после твоего коммента понял, зачем оно надо. И про маркдаун там сказано мельком.

@iv_vl комментирует...
Если я буду на чёрных говорить «нигеры» — меня забанят, а в твоих устах — это «несколько толстоватый троллинг» чернокожего населения.
Оффтопик, естественно, но тем не менее. Ты мне напомнил мою недавнюю поездку в Балтимор, США. Там я прошёл экспресс-курс политкорректности, когда на меня вырулило три тела с бейсбольными битами и фразой:

Yo, whitey, wazzup?! WataYoDoinHere?! Looking for problems?

Тут я подумал, что если отвечу "ёу, ниггаз" то живым домой точно не приеду. Учитывая, что я был единственным белым в радиусе четырёх кварталов:-)

Среди сайтов на Jekyll не упомянут ни разу.
Там говорится про Хакил и джекил вообще. Но я вставил скриншот всё-таки.

Никто не знает, насколько всё серьёзно, но шороху среди блоггеров Google навёл, часть мигрирует на FeedBlitz. Дровишки отсюда.
FeedBlitz - платный сервис, и именно они-то шороху и навели. Ибо им выгодно.

@iv_vl комментирует...
Не всем нужен блог как трибуна, чтобы вещать свои умные мысли.
Ну так зачем такие адские муки? Вон есть народ.ру - выглядеть будет так же. Функций не сильно больше. И кроме того - он бесплатный.

У них на первом плане удобство создания контента, а оно, как известно, у каждого своё.
Чтобы начать вести блог, надо уметь пользоваться Markdown, иметь хостинг, подымать Jekyll/Hakyll, загонять всё на гитхаб...

ОК, если уж пиарить Маркдаун, то с примерами типа scriptogr.am - оно хотя бы очасти тянет на то, чтобы называться блогосервисом.

Михаил, ты просто исходишь совсем из другого, из того, что каждый автор должен обязательно стать блоггером. Не каждый.
Владимир, я исхожу из того, что если что-то можно получить задаром и без геморроя, то почему бы, собственно, и не получить?

Ну не прав же - это всё есть.
Не везде. Не стану тыкать пальцем:-)

virens комментирует... 24 сент. 2012 г., 20:52:00

Дело не в количестве колёс. Кто-то предпочтёт велосипед машине из-за простого удовольствия.
Про велосипед это ты хорошо подметил: оно ещё и медленее:-) Ради любопытства решил замерить скорость - и что же я увидел?

Это мой унылый бложик на блогспоте:

mydebianblog.blogspot.com

Page size 415.6kB
Load time 1.63s
Requests 105
Perf. grade 80/100

Неплохо, особенно учитывая размер и упиханность джаваскриптами. Последний заезд на правку шаблона с участием тов. Vlsu привёл к тому, что там появился жЫрный блоб с джаваскриптом (он теперь заменяет MORE).

А теперь быстрые как молния и модерновые блоги на хакилах и джекилах:

http://www.juev.ru
Page size 40.7kB
Load time 2.58s
Requests 8
Perf. grade 92/100

При том, что он весит в 10 (!) раз меньше, грузится в полтора раза дольше. И не он один:

http://debiania.in.ua/

Page size 4.6kB
Load time 3.60s
Requests 4
Perf. grade 77/100

Это вообще прорыв - килобайт в секунду. А если посетителей будет много - кто-нибудь с ЛОРа или Хабра ссылочку даст, и что тогда?

Правда, не всё так грустно:

http://www.vonavi.me/

Page size 35.4kB
Load time 1.14s
Requests 12
Perf. grade 73/100

Можешь открывать шампанское, iv_vl, убедительная победа:-)

@Minoru комментирует...
Хамство.
Неправда ваша. Аргументы будут?

Denis Evsyukov комментирует... 24 сент. 2012 г., 21:37:00

@virens
А с помощью чего были произведены измерения скорости загрузки страниц??

Вот твой сайт – test - mydebianblog.blogspot.com/ , согласно которому время полной загрузки страницы составляет 7.3 секунды, а при повторном просмотре 4.3 секунды.
Мой сайт – test - www.juev.ru , для полной загрузки требуется чуть больше одной секунды, для повторной всего 0,54…

Я проводил измерения с одного из серверов, чтобы точность была приближена к реальным.

Спасибо большое за приятный отзыв! Но как раз сила Jekyll и подобных движков в том, что я могу полностью контролировать содержимое страниц и задавать именно то оформление, которое нужно мне. Blogspot, увы, этого уже не предоставит. А то, что ты мало встречал красивых работ на jekyll еще не говорит об убогости движка или о том, что его нельзя использовать для ведения блогов. Просто люди, которые эти блоги/сайты ведут, мало задумываются над оформлением.

Еще ты спрашиваешь, зачем использовать что-то еще, если есть wordpress? Во первых, в результате работы jekyll я получаю статический сайт, который можно размещать где угодно и особых требований по хостингу не нужно совершенно. Для wordpress же требуется хостинг с PHP и причем довольно хороший, особенно, если посещаемость будет на нем приличная.

Во-вторых, часть расширений, которые в нем есть, ломают страницы или вносят определенные ошибки в код страниц. Я понимаю, что для многих это совершенно ничего не значит, но я очень не люблю, когда кто-нибудь или что-нибудь вмешивается в мой код.

В-третьих, эти расширения требуется периодически обновлять, следить за безопасностью… Зачем? Если все что мне нужно – это только показать то, что я написал???

Зачем генерировать страницы каждый раз, когда заходит пользователь на сайт? Неужели нельзя на обычном блоге или простеньком сайте один раз сгенерировать страницы, чтобы потом только показывать результат?? Можешь привести мне пример блога, в котором страницы были бы явно динамическими? Где сам контент меняется по многим параметрам и где нужно было бы именно каждый раз, для каждого пользователя создавать свою, отдельную страницу? А если нет, то зачем же городить такой огород??

Почему бы не использовать генераторы статических сайтов??

На blogspot мало вариантов оформления, можно создавать свои, но возможности опять же ограничены и делать это довольно проблематично. Когда же стоит задача создать отдельное оформление для разных страниц (главная – одно, об авторе – другое, содержание – третье, а сами страницы блога – четвертое), то тут blogspot уже ничего не может предложить, впрочем, как и wordpress. В Jekyll же, как и в nanoc, это довольно просто реализуется. И кстати, можно даже задавать свое индивидуальное оформление для каждой отдельной страницы. Понятно, что мало кто будет этим пользоваться, но все таки.

Поэтому троллинг с твоей стороны получился несколько обидным…

Анонимный комментирует... 24 сент. 2012 г., 21:42:00

TeX сам по себе оказался не очень удобен, чисто в моей специфике - приходится работать с вордоориентированным шефом, а вот комбинация markdown -> .odt -> .doc оказалась вполне практичной и удобной.

Специально под это дело написал скрипт, который позволяет сразу генерить.odt файл из расширенного markdown"а

csl-файл - это файл стилей, который определяет оформление библиграфии. Этот стандарт широко используется в zotero. Поскольку у моего шефа в этом плане собственный интеграл пришлось переделывать - благо это разновидность xml.

Существенный нюанс в работе публикатора. Для генерации библиографии нужен BibTex-файл с источниками (`my.bib`), csl-файл для стиля оформления библиографии (`disser.csl`) и референсный файл - образец стилей `reference.odt` - чтобы pandoc знал, как нужно оформить документ на выходе. Референсный файл получается так. Сначала генерим просто `.odt` документ. Например так:

Pandoc -f markdown --bibliography ~/disser/my.bib --csl ~/disser/csl/disser.csl --standalone 01_01.txt -o 01_01.odt

Открываем его в `libreoffice`. Там, конечно, будет Times New Roman 12, а не 14, заголовки Arial"ом и так далее. Меняем это все на то, что нужно нам - 12-й роман на 14-й, переделываем стили заголовков, устаканиваем колонтитулы етс. И сохраняем файл как `reference.odt` - или под любым другим именем. Когда в следующий раз мы сошлемся на него (см основной скрипт) pandoc заберет из него правильные форматы (только оформление для нужных частей текста) и использует их для оформления генерируемого файла - стили текста, заголовков и так далее. Очень удобно.

Заметка на полях. Это еще не все "для пытливого ума". LibreOffice поддерживает т.н. "составные документы", поэтому если я пишу не разделы диссера, а методичку - к сгенереному файлу можно легко прицепить типовую обложку и содержание - и получить методичку.

Заметка на полях-2. Комменты внутри файла у меня отбиваются двумя знаками процента (`%% `) в начале строки - при генерации документа они выбрасываются. Очень удобно писать себе всякие TODO, FIXME и NOOOOOO, так чтобы их не увидел шеф.

Вообще, назревает необходимость как-нибудь разгрестись с делами и написать пост про workflow при написании Неназываемого:)

Анонимный комментирует... 24 сент. 2012 г., 21:48:00

P.S. Для меня markdown это прежде всего способ работать не в Libre Office, а в vim - пользуясь при этом всеми преимуществами которые дает и vim и libreoffice.

99% рабочей документации у меня хранится в mcd и в картинках (и забито в bitbucket.org под контроль версий), а к этому идет типовой файлик и скрипт, генерящий по требованию документы - хоть в LaTex, хоть в html, хоть в odt, хоть в pdf.

Плейн текст дает безумную легкость в редактировании, контроль версий и доступ к документации везде, где есть необходимость. Кроме того, я везде могу вести заметки на едином языке - что на ветках freemind, что в Аффигительно Большом Файле что на палме/планшетке/читалке. И из всего этого можно генерить практически любые документы и форматы не особенно заморачиваясь на форматирование оных.

Михаил Саушкин

Ниже рассмотрим базовый синтаксис разметки текстовых файлов «Маркдаун» - используемые символы, ссылки, абзацы, строфы, заголовки, цитаты, списки, преформатированный текст, изображения.

В общепринятом на данный момент базовом «Маркдаун» нет некоторых элементов HTML, как, например, определения, таблицы. Но в этом есть своя логика и правда. Потому что если, например, добавить таблицы, то многие начнут снова верстать визуальный вид этими таблицами, как это было с HTML. В конце концов, простые таблицы можно создавть, например, преформатированием.

Хотя появляются различные сторонние расширенные версии «Маркдаун», как, например, Maruku, Kramdown, которые пытаются расширить базовый «Маркдаун». Главное, помнить, что «Маркдаун» не создавался как замена HTML, и важно не растерять в процессе его развития основные этой разметки.

Символы для разметки «Маркдаун»

В разметке гипертекста «Маркдаун» используются вспомогательные общие символы, но при этом не используются символы какого-либо алфавита - в первую очередь английского. Что в принципе, при хорошо продуманной национальной раскладке клавиатуры, позволит практически не переключать раскладку при создании и наборе текста веб-странички.

Список символов «Маркдаун»:

* «звёздочка» _ подчёркивание + плюс - минус = равно ` обратная кавычка (){}<> скобки # «решётка» ! восклицательный знак: двоеточие | вертикальная черта “ двойные кавычки " апостроф $ доллар пробел новый абзац

В «Маркдаун» эти символы и служат для форматирования структуры текста, аналогично использованию HTML элементов.

При этом следует учитывать, что в «Маркдаун» в большинстве случаев нет закрывающих символов, и действие символа, обозначающего какой-либо элемент текста, распространяется до конца абзаца.

Если есть необходимость в этих символах непосредственно в обычном тексте, то, эти символы нужно экранировать обратной чертой \ . Или же использовать разметку «преформатированный текст».

Базовые элементы «Маркдаун»

Абзац и перевод строки

Абзацы в «Маркдаун» отделяются друг от друга одним или несколькими пустыми строками.

Для того чтобы сделать перенос внутри строки, что-бы, например, создать строфу в стихотворении, достаточно добавить два пробела перед переносом строки. А делается это добавлением в конец строфы двух пробелов, а потом уже знак абзаца. Пример

Строка1
Строка2
Строка3

То есть строка набирается так: строка\s\s\n , где \s - пробел, \n - абзац. Другими словами это замена тега
в HTML.

Заголовки

Заголовки обозначаются знаком # («решётка») в начале абзаца. Количество решёток обозначает уровень заголовка от одного до шести. Например:

# Заголовок

Соответствует HTML-коду

Заголовок

А, например, четыре решётки

#### Заголовок

соответствует HTML-коду

Заголовок

Главный заголовок можно не выделять хешами, а подчеркнуть двойной линией:

Главный заголовок =================

Второй по плавности заголовок можно подчеркнуть простой линией:

Обычный заголовок -----------------

Стилизация текста

Жирный текст - **Жирный текст** Курсивный текст - *Курсивный текст* Жирный курсивный текст - ***Жирный курсивный текст***

Жирный текст - __Жирный текст__ Курсивный текст - _Курсивный текст_

Горизонтальная линия

Горизонтальная линия


делается из серии трёх и более коротких тире

Цитаты

Перед цитатой в «Маркдаун» ставится угловая скобка > . Действует до конца абзаца

> «Следующее поколение веб-разработчиков будет жить при "Маркдауне"». М. Астапчик

Аналогично в HTML

«Следующее поколение веб-разработчиков будет жить при "Маркдауне"». М. Астапчик

Списки

Обычный ненумерованный список обозначается звёздочкой в начале каждого элемента списка

* Раз * Два * Три

Для нумерованного списка используются цифры

1 Раз 2 Два 3 Три

Форматирование кода, преформатированный текст

Очень важное в «Маркдаун» форматирование, которое означает текст как есть, без трансляции в HTML. Соответствует элементам pre и code в HTML. Для преформатированного абзаца достаточно сделать отступ в четыре пробела или один таб.

Print("Hello world!\n")

Так же блок преформатированного текста можно обозначить тремя подряд обратными кавычками в начале и конце этого блока. То есть здесь требуются и закрывающий набор символов.

``` print("Hello world!\n")

Преформатированный текст непосредственно в строке выделяется с двух сторон обратными кавычками.

`преформатированный текст`

Легко использовать преформатированный текст в «Маркдаун».

Ссылки

Ссылки-сноски

В обычном тексте не всегда эстетично вставлять ссылки прямо в текст, так как они могут быть очень длинными. Гораздо лучше их оформлять в виде сносок для лучшей читабельности. Сноска организуется с использованием квадратных кавычек. А внизу документа, как в книгах, каждой сноске после двоеточия указывается настоящий адрес ссылки. Пример.

Недавно один из наших пользователей поинтересовался, что такое Markdown? Он услышал это от знакомого, пользующегося блоговую платформу Ghost . Markdown — это простой язык разметки, который конвертирует простой текст в HTML. Можно считать его простым текстовым редактором. В этой статье мы покажем вам, как использовать Markdown в WordPress.

Что такое Markdown?

Markdown — это язык разметки, который преобразует простой текст в код HTML. Он позволяет пользователям использовать специальные символы типа звездочки, знака номера, подчеркивания и тире в синтаксе Markdown вместо HTML. Такой синтаксис Markdown затем автоматически конвертируется в HTML.

Например
**Это текст, выделенный жирным**

Текст выше будет преобразован с помощью Markdown в:

Это текст, выделенный жирным

Markdown предлагает эффективный способ создания расширенных текстовых документов особенно для продвинутых пользователей. Если вы используете текстовый редактор для написания записей в WordPress, тогда Markdown может стать вам хорошей альтернативной заменой.

Как добавить поддержку Markdown в WordPress

Первым делом вам необходимо установить и активировать плагин WP-Markdown . После активации необходимо перейти в раздел Настройки » Написание административной панели сайта и прокрутить страницу до раздела Markdown.

Вы можете активировать WP-Markdown для записей, страниц и произвольных типов записей. Также вы можете активировать поддержку Markdown для комментариев.

В плагине есть панель меню в области редактирования, поэтому вы легко можете добавить синтаксис Markdown. Если вы новичок в Markdown, то, вероятно, вам стоит активировать меню помощи. Это поможет вам быстрее изучить синтаксис Markdown.

После активации поддержки Markdown, кликните на кнопку сохранения изменений.

Использование Markdown в редакторе записей WordPress

После того, как вы включили поддержку Markdown для записей и страниц, вы можете перейти в раздел Записи » Добавить новую административной панели сайта для того, чтобы посмотреть его в действии.

Вы заметите, что стандартные в WordPress визуальный и текстовый редакторы заменены на редактор Markdown.

Экран редактора сейчас отображает предпросмотр в реальном времени того текста, который вы печатаете в редакторе. Вверху у вас панель помощи Markdown, который позволяет вам вставлять синтаксис Markdown с помощью кнопок. Эта панель будет полезна для тех пользователей, которые только знакомятся с синтаксисом Markdown.

Шпаргалка по синтаксису Markdown

Синтаксис Markdown очень простой, однако потребуется некоторое время, чтобы к нему привыкнуть. Ниже небольшая шпаргалка по Markdown, которую можно взять за основу изучения.

Исходные данные:
*Это текст, выделенный курсивом*

Результат:
Это текст, выделенный курсивом

Исходные данные:
**Это текст, выделенный жирным**

Результат:
Это текст, выделенный жирным

Исходные данные:
#Это заголовок 1#

Результат:

Это заголовок 1

Исходные данные:
##Это заголовок 2##

Результат:

Это заголовок 2

Исходные данные:
###Это заголовок 3###

Результат:

Это заголовок 3

Исходные данные:
(https://сайт)

Исходные данные:
1. Элемент нумерованного списка 1
2. Элемент нумерованного списка 2
3. Элемент нумерованного списка 3

Результат:

  1. Элемент нумерованного списка 1
  2. Элемент нумерованного списка 2
  3. Элемент нумерованного списка 3

Исходные данные:
*Элемент маркированного списка 1
*Элемент маркированного списка 2
*Элемент маркированного списка 3

Результат:

  • Элемент маркированного списка 1
  • Элемент маркированного списка 2
  • Элемент маркированного списка 3

Добавление видео при использовании Markdown в WordPress

Обычно вы можете встроить видео с YouTube путем простого копирования ссылки и вставки ее в редактор записей. Этот способ не сработает при активированном WP-Markdown. В этом случае вам необходимо обернуть ссылку видео в шорткод [ embed] следующим образом:

Мы надеемся, что эта статья помогла вам узнать о языке разметки Markdown и о том, как использовать его в WordPress. Если вы считаете, что Markdown это не то, что вы искали, то попробуйте в WordPress.

Написание статей в веб-формате всегда было обременено необходимостью форматирования контента в HTML. Писать и публиковать контент непросто, так как вам необходимо знать как минимум простейшие теги HTML.

В таком случае вы теряете возможность быстрой публикации поста в блог или на веб-страницу. Заголовки, жирный шрифт, курсив, маркированные списки и нумерация - все эти фишки надо уметь делать. Этот процесс может быть довольно утомительным для простых блогеров, поэтому рождение Markdown - это как глоток свежего воздуха для создателей контента.

Но Markdown может пригодиться не только тем, кто работает в интернете. Он может также выступать в роли простого синтаксиса, который делает форматирование и запись в формате обычного текста проще для всех вне зависимости от того, пишете ли вы заметку для себя или файл в формате Markdown для дальнейшей публикации в интернете.

Markdown - облегчённый язык разметки. Первоначально создан Джоном Грубером и Аароном Шварцем, целью которых являлось создание максимально удобно читаемого и удобного в публикации облегчённого языка разметки. Многие идеи языка были позаимствованы из существующих соглашений по разметке текста в электронных письмах.

Цель Markdown заключается в том, чтобы сделать написание, редактирование и чтение веб-контента более простым для обычных пользователей. Простота заключается в том, что всё, что вам нужно сделать, - ознакомиться и запомнить синтаксис этого упрощённого языка.

Команды Markdown

Ссылки

Заголовки

# H1
## H2
### H3

Списки

Простой список:

— пункт 1
— пункт 2
— пункт 3

Нумерованный список

1. пункт 1
2. пункт 2
3. пункт 3

Для использования лёгкого языка Markdown вам необходимы специальные приложения - текстовые редакторы Markdown. Вы можете скачать их из App Store или с других сайтов в случае наличия свободной лицензии.

Лучшие просмотрщики Markdown

Marked 2

Цена: пробная версия - бесплатно, полная версия - 13,99 доллара.

Одна из самых популярных программ для просмотра текстов в формате Markdown. Документы обновляются в реальном времени, когда вы их редактируете. Все внимание сфокусировано на самом тексте. Программа работает как с Markdown-документами, так и с обычными текстами.

Лучшие редакторы Markdown

MarkMyWords

Цена: 1 150 рублей.

Наиболее важной функцией этого приложения является возможность работы с файлами CSS, а также поддержка удобных вариантов работы с документами.

Texts

Цена: бесплатно.

Texts представляет собой текстовый редактор, предназначенный для отделения представления контента от процесса его создания. Он работает как обычный текстовый процессор, но при этом сохраняет готовые документы в виде обычного текста с разметкой Markdown, что делает его совместимым с другими приложениями с поддержкой Markdown. Он создаёт документы, полностью готовые к публикации в интернете.

Markdown Pro

Цена: 379 рублей.

Markdown Pro предоставляет вам все инструменты, необходимые для создания красивых, правильно отформатированных документов с помощью языка разметки Markdown. Он также стремится сделать процесс написания весёлым и интересным. Программа поддерживает экспорт в форматах PDF или HTML. Markdown Pro является гибким и высококачественным Markdown-редактором для документов, заметок, статей и прочего.

Easy Markdown

Цена: 749 рублей.

Easy Markdown также делает редактирование и форматирование Markdown-документов лёгким для всех. Он автоматически переводит текст в форматированный веб-формат с помощью базового форматирования Markdown. Вы можете ввести текст на левой панели и просматривать конечный результат справа, а также сохранять код в HTML или RTF-формате в любое время во время работы над документом.

nvALT

Цена: бесплатно.

nvALT 2 представляет собой некое ответвление от популярного текстового редактора Notational Velocity, но с расширенными возможностями и модифицированным интерфейсом. Некоторые из них включают возможность писать и редактировать текстовые файлы в Markdown.

Nottingham

Цена: бесплатно.

Вдохновлённый элегантностью и гибкостью редактора Notational Velocity, Nottingham является простым и легким Markdown-редактором для Mac, который поддерживает функцию живого просмотра Markdown в формате текстовых файлов и записей. В целом дизайн очень похож на Notational Velocity, так что пользователи будут чувствовать себя как дома, работая с этой программой.

iA Writer

Цена: 749 рублей.

Один из лучших Markdown-редакторов. iA Writer поддерживает большое количество синтаксиса Markdown. В последней версии iA Writer можно использовать комбинацию Ctrl + Cmd + R для включения предварительного просмотра. Клиент также доступен на iPhone и iPad.

Byword

Цена: 899 рублей.

Byword - ещё один очень известный Markdown-редактор для Mac и для тех, кому нужен элегантный и простой интерфейс. Помимо красивого пользовательского интерфейса приложение может похвастаться минималистичным внешним видом, который абсолютно не отвлекает от работы. Также существует версия для iPhone и iPad.

Writedown

Цена: бесплатно.

Фишкой этого приложения является поддержка подсветки синтаксиса. Предварительный просмотр документа можно запустить сочетанием клавиш ⌥ + ⌘ + P.

Лучшие профессиональные редакторы Markdown

MultiMarkdown Composer

Цена: 379 рублей.

MultiMarkdown Composer - это мощный текстовый редактор, который поддерживает как Markdown, так и MultiMarkdown-форматы, а также расширенный синтаксис Markdown: таблицы, сноски, цитаты.

Mou

Цена: бесплатно.

В то время как большинство редакторов Markdown разработаны для блогеров и обычных пользователей, Mou придуман для более опытных пользователей, например веб-разработчиков.

Notebooks

Цена: бесплатно.

Notebooks представляет собой настольное приложение. Оно позволяет хранить и синхронизировать заметки с iOS-версией, что позволяет загружать ваши записи в любое время. Notebooks поддерживает формат Markdown, позволяет его редактировать, просматривать и конвертировать в HTML.

весёлый усач 9 января 2011 в 22:14

Язык разметки Markdown

  • Чулан *

В этой статье даются практические советы по написанию парсера для языка разметки Markdown . На сегодняшний день информации в интернете по этому вопросу крайне мало.

Статья будет полезна тем, кто занимается созданием собственных CMS и фреймворков с нуля.

Кратко о языке

Разработчики Маркдауна ставили своей целью создать язык, код которого будет визуально схож с результатом его выполнения. За основу были взяты принятые правила оформления e-mail сообщений.

Вот пример кода:

Заголовок
=========

Нумерованные списки:
1. Первый пункт
2. Второй пункт
3. Третий пункт

> Комментарий
> > Комментарий в комментарии

Можно **выделять часть** текста.

Такой код будет преобразован в правильный xHTML.

Синтаксис Маркдауна является с одной стороны более легким в освоении для технически неквалифицированных пользователей(в отличие, например, от BB кодов), а, с другой стороны, производит качественный выходной xHTML код, чего не скажешь о различных WYSIWYG редакторах. Эти преимущества делают Маркдаун хорошим выбором для форумных движков и CMS, где требуется возможность редактирования контента пользователями.

На сегодняшний день существует множество компиляторов для Маркдауна на всевозможных языках. Если вы решите использовать Маркдаун в своем проекте, то можете использовать уже готовое решение(ниже есть ссылки). Если же вы решите написать собственный парсер(например, в учебных целях), то ниже приводятся особенности, с которыми вы можете столкнуться в ходе разработки, и даются практические советы по их решению.

Создания компилятора языка

Маркдаун нельзя разобрать контекстно-свободными грамматиками. Он содержит контекстно-зависимые лексические элементы. Например, вложенность конструкций определяется выравниванием строк как в Пайтоне. Так что воспользоваться в явном виде YACCом и ANTLRом не получится. Среди решений этой проблемы я встречал следующие:
  • Отказаться от использования генератора парсеров и написать парсер в ручную, используя местами регулярные выражения.

    Именно так был создан оригинальный парсер Маркдауна на Перле и большинство других реализаций. Недостаток решения в низкой производительности: во-первых, из-за использования регулярных выражений, во-вторых, потому что оптимизировать парсер в ручную до уровня, который обеспечивает автоматически сгенерированный, как правило очень сложная задача. Кроме того, если вы пишете на императивных языках(PHP, Java, C++), то реализовать и отлаживать самописный парсер будет очень трудно.

  • Использовать генератор парсеров с поддержкой встроенных действий, и писать действия, имеющие обратный эффект.

    За счет использования встроенных действий с обратным эффектом можно, например, осуществлять анализ выравнивания данной строки относительно предыдущей, таким образом имитируя контекстно-зависимые правила. Недостаток в том, что контекстно-свободные грамматики не предназначены для этих целей, а использование обратного эффекта может привести к багам во время разбора.

  • Рекурсивное применение парсера контекстно-свободной грамматики.

    На самом деле, можно сначала грубо разбить весь код на отдельные блоки(абзацы, комментарии одного уровня), а потом к ним применить еще раз этот же самый парсер. Это решение не приведет к непредсказуемым последствиям как в предыдущем варианте, и оно более правильно с идеологической точки зрения, но менее эффективно в плане производительности.

    Возможно, это будет самым простым в реализации решением.

  • Предварительно в ручную обработать входные данные.

    Можно в ручную разбить код на строки, и циклом пройтись по ним, заменяя пробелы в начале каждой строки на символ указывающий ее сдвиг(влево или вправо) относительно предыдущей. Точно также можно обработать вложенность комментариев. Затем полученный массив строк можно склеить обратно, и уже разбирать его контекстно-свободной грамматикой. Полученный после фильтрации язык будет контекстно-свободным.

    Это решение по сложности сопоставимо с предыдущим. По производительности должно в общем случае быть более эффективным.

В качестве выбора генератора парсеров для Маркдауна, на мой взгляд, больше подходит PEG .

Теги: compiler design, compilers, parser, markdown, markup, компиляция, разметка, cms, cms разработка, framework, программирование, programming, programming languages

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то