Ответ 1
-
peg-markdown зависит от GLib и других инструментов третьей части. Я тестировал его, он работает очень хорошо.
<сильные > Преимущества:
- Двойная лицензия под GPL и MIT.
- Использует внутренне формальную грамматику, поэтому ее легко поддерживать и расширять.
Недостатки:
- Зависит от GLib
- Предоставляет API C.
-
Cpp-Markdown, Самый код на С++, но он довольно медленный и немного раздутый. С другой стороны, это довольно легко понять и изменить, зависит от boost-1.35.
<сильные > Преимущества
- Зависит только от boost
- Написанный на С++, выглядит менее опасным
- Лицензия под MIT.
Недостатки
- Slow (это примерно в 10 раз быстрее, чем реализация Perl, но примерно в 10 раз медленнее, чем скидка).
-
Discount, Это код, который я использую для своего блога http://art-blog.no-ip.info/cppcms/blog и wiki http://art-blog.no-ip.info/wikipp/en/page/main. Он написан хардкорным программистом C и довольно труднодоступен (даже разработчик активно поддерживает его).
<сильные > Преимущества
- Чрезвычайно быстрый
- Написано в чистом C (без зависимостей 3-й части).
- Активно поддерживается
- Имеет разрешительную лицензию на 3 лицензии BSD
Недостатки
- Практически невозможно поддерживать (даже я мог удалить/добавить некоторые подделывания).
-
Имеет только API FILE, поэтому я должен настроить код, чтобы он работал с общим буфером. -
Лицензия под лицензией BS 4, которая несовместима с GPL. Это проблематично, если вы хотите использовать его не как часть вашего программного обеспечения GPL-ed.
Почему я знаю их так много?
Я разрабатываю CppCMS, поэтому мне нужна хорошая уценка на HTML-конвертер. Когда я выбрал один (Скидка), это было единственное решение. С тех пор мне пришлось заменить его из-за проблем с лицензированием. Тем не менее, мне все еще очень нравится, потому что это самое быстрое решение Markdown.
PS: Если вы хотите С++-упаковку для скидок, посмотрите http://cppcms.svn.sourceforge.net/viewvc/cppcms/cms/trunk/cxxmarkdown/, это не последняя версия, но это уже изменен.
РЕДАКТИРОВАТЬ: Я только что посетил сайт скидок, и я обнаружил, что он добавил API-интерфейс, отличный от FILE. Итак, теперь это настоящая библиотека.
РЕДАКТИРОВАТЬ 2: Если вы найдете лучшую реализацию или напишите свой собственный по лицензии FOSS, дайте мне знать;)
РЕДАКТИРОВАТЬ 3:, как прокомментировал cloose, скидка изменила лицензию на 3-ое предложение BSD.