Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<ol> <li><p><strong><a href="http://hasseg.org/peg-markdown-highlight/" rel="noreferrer">peg-markdown</a></strong> depends on GLib and other 3rd part tools. I've tested it, it works quite well.</p> <p><strong>Advantages:</strong></p> <ul> <li>Dual-licensed under GPL and MIT.</li> <li>Uses internally formal grammar, so easy to maintain and extend.</li> </ul> <p><strong>Disadvantages:</strong> </p> <ul> <li>Depends on GLib</li> <li>Provides C API.</li> </ul></li> <li><p><strong><a href="http://cpp-markdown.sourceforge.net/" rel="noreferrer">Cpp-Markdown</a>,</strong> Most C++ code but it is quite slow and little bit bloated. On the other hand it is quite easy to understand and modify, Depends on boost-1.35.</p> <p><strong>Advantages</strong></p> <ul> <li>Depends only on boost</li> <li>Written in C++, looks like less dangerous</li> <li>Licensed under MIT.</li> </ul> <p><strong>Disadvantages</strong></p> <ul> <li>Slow (it is still about 10 times faster then Perl implementation, but about 10 times slower than Discount)</li> </ul></li> <li><p><strong><a href="http://www.pell.portland.or.us/~orc/Code/discount/" rel="noreferrer">Discount</a>,</strong> This is the code I use for my blog <a href="http://art-blog.no-ip.info/cppcms/blog" rel="noreferrer">http://art-blog.no-ip.info/cppcms/blog</a> and wiki <a href="http://art-blog.no-ip.info/wikipp/en/page/main" rel="noreferrer">http://art-blog.no-ip.info/wikipp/en/page/main</a>. It is written by hardcore C programmer and quite hardly mantainable (even the developer activly maintains it).</p> <p><strong>Advantages</strong></p> <ul> <li>Extremely fast</li> <li>Written in pure C (no 3rd part dependencies).</li> <li>Actively maintained </li> <li>Has permissive 3 clause BSD license</li> </ul> <p><strong>Disadvantages</strong></p> <ul> <li>Almost impossible to maintain (even I could remove/add some fatures).</li> <li><strike>Has only FILE API, so I should tweak the code to make it work with general buffer</strike>.</li> <li><strike>Licensed under 4 clause BSD license that is incompatible with GPL. It is problematic if you want to use it not as part of your GPL-ed software.</strike></li> </ul></li> </ol> <p>Why do I know them so much?</p> <p>I'm developing <a href="http://cppcms.sourceforge.net" rel="noreferrer">CppCMS</a>, so I need a good markdown to HTML convertor. When I picked one (Discount), it was the only solution. Since then I've needed to replace it due to licensing issues. That said, I still quite like it because it is the fastest Markdown solution.</p> <p>P.S.: If you want C++ wrapper for Discount, take a look on <a href="http://cppcms.svn.sourceforge.net/viewvc/cppcms/cms/trunk/cxxmarkdown/" rel="noreferrer">http://cppcms.svn.sourceforge.net/viewvc/cppcms/cms/trunk/cxxmarkdown/</a>, It is not the latest version, but it is already tweaked.</p> <p><strong>EDIT:</strong> I have just visited Discount site and I had found that it had added a non-FILE API as well. So now it is real library.</p> <p><strong>EDIT 2:</strong> If you find better implementation or write your own under FOSS license, let me know ;)</p> <p><strong>EDIT 3:</strong> as cloose commented, discount had changed the license to 3 clause BSD.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload