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中的else if语句返回语法错误   http如何解析从表单到REST Java/Webservice的post请求   java如何在SpringBoot中为RestTemplate编写JUnit测试   java动态检查实例是否实现接口   java在Android中使用ArrayAdaptor时,数据不会显示   根据前序遍历返回二进制树的java方法   Arquillian测试类中的java注入始终为空   用户界面Java Swing自定义控件   java使用CompletableFutures递归地从同一函数的多个调用构建列表   在Java中将“.00”添加到整数BigDecimal   卡夫卡java未知\u主题\u或\u部分错误间歇性   java为什么我的getString()方法总是返回null?   java renameTo无法重命名文件   java为什么我可以强制转换对象?可以用其他对象来完成吗?   带有回写条件的java多根记录器   关于stackoverflow错误的java帮助?   java Websphere消息队列多线程   Java图形窗口/画布未垂直显示完整的六边形网格   java Sakai未在Tomcat服务器中启动