跳转到主要内容

一个高度可扩展的markdown解析器。

项目描述

𝓜𝓪𝓻𝓴𝓸

一个高度可扩展的markdown解析器。

PyPI PyPI - Python Version Documentation Status CommonMark Spec

Build Status codecov Codacy Badge

Marko是一个纯Python markdown解析器,遵循CommonMark规范v0.31.2。它被设计为具有高度的可扩展性,详情请见扩展部分。

Marko需要Python 3.8或更高版本。

为什么选择Marko

在所有Python markdown解析器中,用户添加自定义功能通常很困难。此外,Python-Markdownmistune都不符合CommonMark规范。这促使我开发了一个新的markdown解析器。

Marko符合复杂的CommonMark规范可能会影响其性能。但是,使用不遵守此规范的解析器可能会导致意外的渲染结果。根据基准测试结果,Marko比Python-Markdown慢三倍,但比Commonmark-py稍快,比mistune慢得多。如果您更重视性能而非规范兼容性,最好选择另一个解析器。

使用Marko

安装非常简单

$ pip install marko

使用方法

import marko

print(marko.convert(text))

Marko还提供了一个简单的CLI,例如,将文档渲染到HTML文件中

$ cat my_article.md | marko > my_article.html

扩展

使用扩展非常简单

from marko import Markdown
from marko.ext.footnote import make_extension
# Add footnote extension
markdown = Markdown(extensions=[make_extension()])
# Or you can just:
markdown = Markdown(extensions=['footnote'])
# Alternatively you can register an extension later
markdown.use(make_extension())

以下是一个使用Marko命令行版本扩展的示例

$ cat this_has_footnote.txt | marko -e footnote > hi_world.html

Marko附带4个扩展:'footnote', 'toc', 'pangu', 'codehilite'。它们不在CommonMark规范中,但在其他markdown解析器中很常见。

Marko 还提供了一个 Git flavored markdown 解析器,可在 marko.ext.gfm.gfm 处找到。

请参阅 扩展 Marko 了解如何编写您自己的扩展。

许可证

Marko 在 MIT 许可证 下发布

变更日志

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源代码分发

marko-2.1.2.tar.gz (142.6 kB 查看哈希)

上传时间 源代码

构建分发

marko-2.1.2-py3-none-any.whl (42.1 kB 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面