Какова каноническая реализация уценки? - PullRequest
18 голосов
/ 05 сентября 2011

Проблема с написанием моего собственного анализатора Markdown в Clojure заключается в том, что Markdown не является хорошо определенным языком. Здесь нет «официальной» грамматики, есть неформальное описание «Вот как это работает» и действительно ужасная справочная реализация в Perl. http://briancarper.net/blog/415/

Здесь я вижу спецификацию Грубера и реализацию здесь .

Это реализация, которая побеждает в тесте рейтинга Google здесь

Тогда есть peg-markdown , который, кажется, решает проблему «нет грамматики», но не является канонической реализацией.

Мой вопрос - какова каноническая реализация уценки? (Тот, что все говорят, определяет стандарт).

EDIT:

Я признаю, что «канонического стандарта не существует». Я ищу следующую лучшую вещь.

Ответ, похоже, showdown.js , но с ним проблем .

(используя определение канонического, которое, как говорят все, определяет стандарт).

Здесь указывается здесь и на github здесь .

Я также добавлю pagedown (как и @deceze), потому что он, похоже, исправляет ошибки в вскрытии и немного ближе к оригиналу Грубера.

Ответы [ 2 ]

6 голосов
/ 06 сентября 2011

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

1 голос
/ 17 мая 2016

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...