Katex Extension for Python Markdown

markdown-katex的Python项目详细描述


markdown-katex

这是Python Markdown的扩展 增加了KaTeX支持。

项目/回购:

MIT LicenseSupported Python VersionsPyCalVer v201908.0009-betaPyPI VersionPyPI Downloads

代码质量/ci:

Build StatusType Checked with mypyCode CoverageCode Style: sjfmt

Namerolesinceuntil
Manuel Barkhau (mbarkhau@gmail.com)author/maintainer2019-05-

安装

$ pip install markdown-katex

此软件包包含以下二进制文件:

  • katex-cli-0.10.2-linux-x64
  • katex-cli-0.10.2-macos-x64
  • katex-cli-0.10.2-win-x64

如果您在不同的平台上,或者想要使用更新版本的katex-cli,则需要install it via npm

$ pip install katex
$ npx katex --version
0.10.2

此扩展将始终使用本地安装的katex版本(如果可用),而不是使用与此包捆绑的实现。

生成的html不需要javascript来呈现,因此它可以与更有限的呈现器(不支持javascript)一起使用,比如WeasyPrint

用法

可以使用katex.org上的编辑器以交互方式创建和编辑公式。它们还有一些good documentation用于支持的乳胶子集。将它们嵌入到标记文件中时,必须使用特殊语法进行标记,才能使用katex进行呈现。标记有many syntax extensions允许嵌入乳胶公式,但是这个包只支持gitlab引入的语法:

  • 对于内联模式公式:$`…`$
  • 对于显示模式公式:```数学

这里是使用此语法的an example

这种语法有两个主要优点:

  1. GITLAB有一个现有的标记渲染器,可以在不需要下载任何软件的情况下使用。此实现还使用katex,因此输出应该与此扩展完全相同。
  2. 其他标记呈现程序的回退行为是将原始乳胶呈现为内联代码或代码块。这意味着他们不会无意中将乳胶公式解析为标记语法。

希望其他渲染器也采用这种语法支持:

  1. 渲染是在浏览器中使用katex完成的,因此实现工作量应该是最小的。
  2. 现有的降价文件的假阳性率是可以忽略的(即,现有的$$语法的交替使用是最小的到不存在的)。

开发/测试

$ git clone https://gitlab.com/mbarkhau/markdown-katex
$ cd markdown-katex
$ make install
$ make lint mypy test

mkdocs集成

mkdocs.yml中,将此添加到标记扩展。

markdown_extensions:-markdown_katex:no_inline_svg:True

https://gitlab.com/mbarkhau/markdown-katex

的更改日志

V201907.0008-β

  • 修正:py<;35不需要输入包

V201905.0007-β

  • 修复:使用多个反勾号时分析内联代码

V201905.0004-β

  • 修正:更好的错误报告
  • 修复:清除温度目录

V201905.0002-α

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将spring j_spring_安全检查迁移到登录   log4j2中自定义appender中AppConfig的java问题   在将java转换为Json时是否可以忽略内部类名和变量   用java将PDF文件转换为十六进制格式   java将值从AsyncTask返回到主类   java如何导入带有部署变量类名的静态函数?   java Spring Boot@ConfigurationProperties未从环境检索属性   java为什么API调用需要80毫秒的延迟才能到达控制器(在Google应用程序引擎中)?   XML配置中MarshallingMessageConverter中的java设置MarshallTo获取无效属性“MarshallTo”   java从群中获取facebook帖子   @ComponentScan的java excludeFilters不起作用   java将单选按钮值从一个类传递到另一个类   java使JTextArea在Swing中可滚动   java Android增强现实应用程序:将球坐标旋转到设备坐标系