Подтвердить что ты не робот

Реализация Markdown для C/С++

Какова наилучшая реализация Markdown для C или С++?

Я нашел их через Google и хотел бы получить комментарии о том, какие из них работают хорошо, а какие нет (и какие из них я мог пропустить):

4b9b3361

Ответ 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.