非常轻量级的基于cffi的python绑定到cmark库(c中的commonmark实现)。
paka.cmark的Python项目详细描述
paka.cmark是包装cmarkc库子集的python库 (这是commonmark的参考实现之一)。
功能
- 支持Python2.7和3.6
- 支持pypy(python 2.7),因为包装使用CFFI
- 无需安装libcmark,它与^{tt1}捆绑在一起$ (前者的来源根据上游定期更新)
- 支持的输出:html、xml、commonmark、man、latex
- 支持的选项:CMARK_OPT_UNSAFE,CMARK_OPT_NOBREAKS, CMARK_OPT_HARDBREAKS,CMARK_OPT_SOURCEPOS,CMARK_OPT_SMART
- 不像libcmark-底层C库-paka.cmark使用 CMARK_OPT_NOBREAKS默认情况下(breaks参数允许控制 换行渲染)
- 默认情况下,“安全HTML输出”处于启用状态(类似于libcmark)
示例
>>> frompakaimportcmark
使用CMARK_OPT_DEFAULT | CMARK_OPT_NOBREAKS:
渲染>>> print(cmark.to_html(u"<p>nope</p>"))<!-- raw HTML omitted -->
使用CMARK_OPT_DEFAULT | CMARK_OPT_NOBREAKS | CMARK_OPT_UNSAFE:
渲染>>> print(cmark.to_html(u"Hello,\n*World*!",safe=False))<p>Hello, <em>World</em>!</p>
使用CMARK_OPT_DEFAULT:
渲染>>> print(cmark.to_html(u"Hello,\n*World*!",breaks=True))<p>Hello, <em>World</em>!</p>
使用CMARK_OPT_DEFAULT | CMARK_OPT_HARDBREAKS:
渲染>>> print(cmark.to_html(u"Hello,\n*World*!",breaks="hard"))<p>Hello,<br /> <em>World</em>!</p>
使用CMARK_OPT_DEFAULT | CMARK_OPT_NOBREAKS:
呈现commonmark>>> print(cmark.to_commonmark(u"_Hello_"))*Hello*
获取文档
生成HTML文档:
$ tox -e docs
查看生成的文档:
$ sensible-browser .tox/docs/tmp/docs_html/index.html
运行测试
$ tox
覆盖率
收集信息:
$ tox -e coverage
查看HTML报表:
$ sensible-browser .tox/coverage/tmp/cov_html/index.html
检查代码样式
运行代码检查程序:
$ tox -e checks