Язык разметки Markdown разработали в 2004 году Джон Грубер и Аарон Шварц. Философия Markdown — писать текст, который легко читается и в то же время автоматически конвертируется в обычный HTML. Авторы сразу выпустили и парсер Perl, тот быстро приобрёл большую популярность, и Markdown пошёл в массы.
К сожалению, до сих пор так и не принято общепринятой спецификации Markdown, что порождает некоторую путаницу. Каноническое описание Грубера не даёт ответов на все вопросы, как и код вышеупомянутого парсера, оказавшегося слегка глючным. Во многих случаях он выдаёт явно плохой результат. В общем, проблема сохраняется уже 10 лет.
Своё решение предложила группа активистов, в которую вошли Джон Макфарлейн из университета Беркли (автор маркдаун-конвертера Pandoc и теста Babelmark), представители компаний Meteor, Github, Reddit, StackExchange и Discourse. За два года совместной работы они согласовали «наиболее оптимальные спецификации синтаксиса» в рамках проекта Standard Markdown (). Они также выпустили всеобъемлющий набор тестов для проверки каждой реализации Markdown на соответствие спецификациям.
Проект имеет неплохие перспективы, хотя бы исходя из состава участников. Если все эти сайты перейдут на единый синтаксис Markdown, то он действительно может стать стандартом де-факто, даже без официальных спецификаций. В конце концов, тому же Perl ничто не помешало успешно развиваться без них.
Казалось бы, инициатива достойна всяческих похвал. Однако, сам Джон Грубер несколько возмущён, что посторонние люди называют очередную реализацию синтаксиса «стандартной». Существует более двух десятков реализаций синтаксиса, и почему 25-тая вдруг должна называться «стандартной» с самого начала? В общем-то, это классическая ситуация, которая в мире ИТ встречается очень часто.
К тому же, в консорциуме W3C некоторое время назад создали группу Markdown Community Group, которая и должна координировать усилия по выработке единой версии Markdown. Работа и выпуск «стандартных» спецификаций за их спиной — по меньшей мере, показатель некоторого неуважения к тем, кто потратил время и усилия на этот проект.
Тем не менее, Meteor, Github, Reddit, StackExchange — сайты, имеющие большое влияние на веб-разработчиков. И если они договорились о единой реализации синтаксиса, существует неплохая вероятность, что многие веб-разработчики последуют их примеру. А это самое главное. Авторы Standard Markdown говорят, что после обсуждения с сообществом готовы выпустить версию 1.0, которую можно будет признать «стандартной и однозначной».
Сравнить между собой 20+ реализаций синтаксиса Markdown можно с помощью неофициального теста MDTest.
Примеры реализации парсера на C99 и JavaScript и тесты на соответствие спецификациям опубликованы на Github.
Непосредственно сам текст спецификаций Standard Markdown с более чем 400 примерами опубликован здесь (маркдаун-исходник: spec.txt).
Судя по первым отзывам в сообществе веб-разработчиков, грядёт очередной холивар.
Автор: alizar