用于C/C++的Markdown实现

Kri*_*son 37 c c++ markdown

Markdown for C或C++ 的最佳实现是什么?

我通过Google找到了这些内容,并希望了解哪些内容有效,哪些内容无效(以及哪些内容可能遗漏):

Art*_*yom 60

  1. peg-markdown取决于GLib和其他第三方工具.我测试过它,效果很好.

    好处:

    • GPL和MIT下的双重许可.
    • 使用内部正式语法,易于维护和扩展.

    缺点:

    • 取决于GLib
    • 提供C API.
  2. Cpp-Markdown,大多数C++代码,但它很慢,有点臃肿.另一方面,它很容易理解和修改,取决于boost-1.35.

    好处

    • 仅取决于提升
    • 用C++编写,看起来不那么危险
    • 在麻省理工学院获得许可.

    缺点

    • 慢(它仍然比Perl实现快10倍,但比Discount低10倍)
  3. 折扣,这是我用于我博客的代码 http://art-blog.no-ip.info/cppcms/blog和wiki http://art-blog.no-ip.info/wikipp/en/page/主要的.它是由硬核C程序员编写的,并且几乎难以实现(即使是开发人员也可以维护它).

    好处

    • 非常快
    • 用纯C编写(没有第三部分依赖).
    • 积极维护
    • 拥有宽松的3条款BSD许可证

    缺点

    • 几乎不可能维持(即使我可以删除/添加一些脂肪).
    • 只有FILE API,所以我应该调整代码,使其适用于通用缓冲区.
    • 根据4条款BSD许可证授予与GPL不兼容的许可.如果您不想将其用作GPL编辑软件的一部分,则会出现问题.

为什么我这么认识他们?

我正在开发CppCMS,所以我需要对HTML转换器进行良好的降价.当我选择一个(折扣)时,这是唯一的解决方案.从那时起,由于许可问题,我需要更换它.也就是说,我仍然非常喜欢它,因为它是最快的Markdown解决方案.

PS:如果你想要折扣的C++包装,看看http://cppcms.svn.sourceforge.net/viewvc/cppcms/cms/trunk/cxxmarkdown/,它不是最新版本,但已经调整过了.

编辑:我刚刚访问过折扣网站,我发现它也添加了一个非FILE API.所以现在它是真正的图书馆.

编辑2:如果您发现更好的实施或在FOSS许可下编写自己的,请告诉我;)

编辑3:正如cloose评论的那样,折扣已将许可证更改为3条款BSD.

  • 你是什​​么意思"难以维持/难以维持"?这听起来像折扣的代码是不可维护的(即一大堆意大利面条代码,不应该用10英尺的杆子触及).但是,然后你添加括号,它是积极维护的,你可以添加/删除功能,而不会听起来太难.这些评论到底是什么意思? (13认同)
  • 你在这里使用"几乎"是不正确的. (9认同)
  • 找不到这里提到的https://github.com/vmg/sundown. (2认同)
  • cmark 是另一种选择(CommonMark 实现):https://github.com/jgm/cmark (2认同)