web-dev-qa-db-ja.com

C / C ++のマークダウン実装

CまたはC++の Markdown の最良の実装は何ですか?

私はグーグルでこれらを見つけました、そしてどれがうまくいくか、そしてどれがうまくいかないか(そして私が見逃したかもしれないもの)についてのコメントをいただければ幸いです:

37
  1. peg-markdownは、GLibおよびその他のサードパーティツールに依存します。私はそれをテストしました、それは非常にうまく機能します。

    利点:

    • GPLとMITの下でデュアルライセンス。
    • 内部的に正式な文法を使用しているため、保守と拡張が簡単です。

    デメリット:

    • GLibに依存
    • CAPIを提供します。
  2. Cpp-MarkdownほとんどのC++コードですが、非常に遅く、少し肥大化しています。一方、理解と変更は非常に簡単です。ブースト-1.35に依存します。

    利点

    • ブーストのみに依存
    • C++で書かれており、危険性が少ないように見えます
    • MITの下で認可されています。

    デメリット

    • 遅い(Perlの実装よりも約10倍速いが、Discountよりも約10倍遅い)
  3. 割引これは私のブログに使用するコードです http://art-blog.no- ip.info/cppcms/blog およびwiki http://art-blog.no-ip.info/wikipp/en/page/main 。それは筋金入りのCプログラマーによって書かれ、ほとんど維持できません(開発者でさえ積極的にそれを維持します)。

    利点

    • 非常に速い
    • 純粋なCで書かれています(3番目の部分の依存関係はありません)。
    • 積極的に維持
    • パーミッシブ3条項BSDライセンスを持っています

    デメリット

    • 維持することはほとんど不可能です(私でさえいくつかの機能を削除/追加することができました)。
    • FILE APIしかないので、コードを微調整して一般的なバッファーで機能するようにする必要があります
    • GPLと互換性のない4条項BSDライセンスの下でライセンスされています。 GPL-edソフトウェアの一部としてではなく使用したい場合は問題があります。

なぜ私はそれらをそんなに知っているのですか?

私は開発中です CppCMS なので、HTMLコンバーターへの適切なマークダウンが必要です。私が1つ(割引)を選んだとき、それが唯一の解決策でした。それ以来、ライセンスの問題のために交換する必要がありました。そうは言っても、それが最速のMarkdownソリューションであるため、私はまだそれがとても好きです。

PS:割引用のC++ラッパーが必要な場合は、 http://cppcms.svn.sourceforge.net/viewvc/cppcms/cms/trunk/cxxmarkdown/ を参照してください。これは最新バージョンではありません。 、しかしそれはすでに微調整されています。

編集:ディスカウントサイトにアクセスしたところ、非FILEAPIも追加されていることがわかりました。これで、実際のライブラリになりました。

編集2:より良い実装を見つけたり、FOSSライセンスの下で独自に作成したりする場合は、私に知らせてください;)

編集3:clooseがコメントしたように、割引はライセンスを3条項BSDに変更しました。

61
Artyom