%global _empty_manifest_terminate_build 0 Name: python-markdown-katex Version: 202112.1034 Release: 1 Summary: katex extension for Python Markdown License: MIT URL: https://github.com/mbarkhau/markdown-katex Source0: https://mirrors.nju.edu.cn/pypi/web/packages/6c/20/87589bf74c66905b1e6d8f69169aa98cfb55f1447a62126754584a680c1e/markdown-katex-202112.1034.tar.gz BuildArch: noarch Requires: python3-pathlib2 Requires: python3-setuptools Requires: python3-typing Requires: python3-Markdown Requires: python3-Markdown %description # [markdown-katex][repo_ref] This is an extension for [Python Markdown](https://python-markdown.github.io/) which adds [KaTeX](https://katex.org/) support. ```math f(x) = \int_{-\infty}^\infty \hat f(\xi)\,e^{2 \pi i \xi x} \,d\xi ```

Project/Repo: [![MIT License][license_img]][license_ref] [![Supported Python Versions][pyversions_img]][pyversions_ref] [![CalVer v202112.1034][version_img]][version_ref] [![PyPI Version][pypi_img]][pypi_ref] [![PyPI Downloads][downloads_img]][downloads_ref] Code Quality/CI: [![GitHub CI Status][github_build_img]][github_build_ref] [![GitLab CI Status][gitlab_build_img]][gitlab_build_ref] [![Type Checked with mypy][mypy_img]][mypy_ref] [![Code Coverage][codecov_img]][codecov_ref] [![Code Style: sjfmt][style_img]][style_ref] | Name | role | since | until | |-------------------------------------|-------------------|---------|-------| | Manuel Barkhau (mbarkhau@gmail.com) | author/maintainer | 2019-05 | - | ## Install ```bash $ pip install markdown-katex ... $ python -m markdown_katex --version markdown-katex version: v202112.1034 (using binary: /usr/local/bin/npx --no-install katex) 0.15.1 ``` This package includes the following binaries: - `katex_v0.15.1_node10_x86_64_Linux` _ `katex_v0.15.1_node10_x86_64_Darwin` _ `katex_v0.15.1_node12_x86_64_Windows` If you are on a different platform, or want to use a more recent version of `katex-cli`, you will need to [install it via npm][href_katexinstall_cli]. ```bash $ npx katex $ npx katex --version 0.15.1 ``` This extension will always use the locally installed version of KaTeX if it is available, instead of using the implementation bundled with this package. No JavaScript is required to render the resulting HTML, so it can be used with more limited renderers (which don't support JavaScript) such as [WeasyPrint](https://weasyprint.org/) . ## Usage Formulas can be created and edited interactively using the editor on [katex.org](https://katex.org/). They also have some [good documentation][href_katex_docs] for the subset of LaTeX that is supported. When embedding these in your Markdown files, they must be marked with a special syntax in order to be rendered using KaTeX. There are [many syntax extensions][href_cben_mathdown] for Markdown that allow LaTeX formulas to be embedded, however this package only supports the syntax introduced by Gitlab: - For inline mode formulas: $`...`$ - For display mode formulas: ```math Here is [an example](https://gitlab.com/snippets/1857641) that uses this syntax. There are two main advantages of this syntax: 1. Gitlab has an existing Markdown renderer that can be used without the need to download any software. This implementation also uses KaTeX, so the output should be exactly the same as this extension. 2. The fallback behaviour of other Markdown renderers is to render the raw LaTeX as inline code or a code block. This means that they won't inadvertently parse a LaTeX formula as Markdown syntax. Hopefully other renderers will also adopt support for this syntax as: 1. Rendering is done in the browser using KaTeX so implementation effort and should be minimal. 2. The false positive rate for existing Markdown documents is negligible (i.e. existing alternate use of $` syntax is minimal to non-existent). ## Options - `no_inline_svg`: Replace inline `` with `` tags. - `insert_fonts_css`: Insert font loading stylesheet (default: True). ## Development/Testing ```bash $ git clone https://gitlab.com/mbarkhau/markdown-katex $ cd markdown-katex $ make conda $ make lint mypy test ``` ## MkDocs Integration In your `mkdocs.yml` add this to markdown_extensions. ```yaml # mkdocs.yml markdown_extensions: - markdown_katex: no_inline_svg: True insert_fonts_css: True macro-file: macros.tex ``` The `macro-file` might looks something like this: ```tex % macros.tex \mymacro:\text{prefix #1 suffix} ``` ## WeasyPrint Integration When you generate html that is to be consumed by [WeasyPrint](https://weasyprint.org/), you need to use the `no_inline_svg=True` option. This is due to a [long standing limitation](https://github.com/Kozea/WeasyPrint/issues/75) of WeasyPrint. Without this option, some KaTeX formulas will not render properly, e.g. `\sqrt` ```python md_ctx = markdown.Markdown( extensions=[ 'markdown.extensions.toc', 'markdown.extensions.extra', 'markdown.extensions.abbr', ... 'markdown_katex', ], extension_configs={ 'markdown_katex': { 'no_inline_svg': True, # fix for WeasyPrint 'insert_fonts_css': True, }, } ) raw_html_text = md_ctx.convert(md_text) ``` You can also use markdown-katex for the conversion of individual formulas from tex to html: ```python from markdown_katex.extension import tex2html tex_text = r""" \frac{1}{\left(\sqrt{\phi\sqrt{5}}-\phi\right)e^{\frac{2}{5}\pi}}= 1+\frac{e^{-2\pi}} { 1+\frac{e^{-4\pi}} { 1+\frac{e^{-6\pi}} { 1+\frac{e^{-8\pi}} { 1+\cdots } } } } """ options = {'no_inline_svg': True, 'insert_fonts_css': False} html = tex2html(tex_text, options) ``` [href_cben_mathdown]: https://github.com/cben/mathdown/wiki/math-in-markdown [repo_ref]: https://github.com/mbarkhau/markdown-katex [github_build_img]: https://github.com/mbarkhau/markdown-katex/workflows/CI/badge.svg [github_build_ref]: https://github.com/mbarkhau/markdown-katex/actions?query=workflow%3ACI [gitlab_build_img]: https://gitlab.com/mbarkhau/markdown-katex/badges/master/pipeline.svg [gitlab_build_ref]: https://gitlab.com/mbarkhau/markdown-katex/pipelines [codecov_img]: https://gitlab.com/mbarkhau/markdown-katex/badges/master/coverage.svg [codecov_ref]: https://mbarkhau.gitlab.io/markdown-katex/cov [license_img]: https://img.shields.io/badge/License-MIT-blue.svg [license_ref]: https://gitlab.com/mbarkhau/markdown-katex/blob/master/LICENSE [mypy_img]: https://img.shields.io/badge/mypy-checked-green.svg [mypy_ref]: https://mbarkhau.gitlab.io/markdown-katex/mypycov [style_img]: https://img.shields.io/badge/code%20style-%20sjfmt-f71.svg [style_ref]: https://gitlab.com/mbarkhau/straitjacket/ [pypi_img]: https://img.shields.io/badge/PyPI-wheels-green.svg [pypi_ref]: https://pypi.org/project/markdown-katex/#files [downloads_img]: https://pepy.tech/badge/markdown-katex/month [downloads_ref]: https://pepy.tech/project/markdown-katex [version_img]: https://img.shields.io/static/v1.svg?label=CalVer&message=v202112.1034&color=blue [version_ref]: https://pypi.org/project/bumpver/ [pyversions_img]: https://img.shields.io/pypi/pyversions/markdown-katex.svg [pyversions_ref]: https://pypi.python.org/pypi/markdown-katex [href_katexinstall_cli]: https://katex.org/docs/cli.html [href_katex_docs]: https://katex.org/docs/supported.html # Changelog for https://gitlab.com/mbarkhau/markdown-katex ## Contributors Thank you to for testing, reporting issues and contributing patches: - @summersz - Richard Summers - @bluhme3 - Evan Bluhm - @pawamoy - Timothée Mazzucotelli - @briankchan - @spoorendonk - @lisongmin - @alexatadi - @sacredfox - Akihiro Nomura - @jnsdrtlf - @dodoni - Markus Wendt ## v202112.1034 - Update KaTeX binaries to v0.15.1 - Fix [#13][gh_13]: Don't strip `

` when using inline syntax for a single equation. [gh_13]: https://github.com/mbarkhau/markdown-katex/issue/13 ## v202106.1033 - Update KaTeX binaries to v0.13.18 ## v202106.1032 - Fix [#8][gh_8]: Math inside admonition - Update KaTeX binaries to v0.13.11 [gh_8]: https://github.com/mbarkhau/markdown-katex/issue/8 ## v202105.1031 - Update KaTeX binaries to v0.13.6 ## v202104.1030 - Update KaTeX binaries to v0.13.3 - Fix [#4][gh_4]: Close file descriptors of Popen - Add support for blocks with extra backticks [gh_4]: https://github.com/mbarkhau/markdown-katex/pull/4 ## v202103.1029 - Fix [#14](https://gitlab.com/mbarkhau/markdown-katex/-/issues/14): Since `Markdown>=3.3` support for [Markdown in HTML][md_in_html] was broken. [md_in_html]: https://python-markdown.github.io/extensions/md_in_html/ Thank you @summersz for reporting this issue. ## v202103.1028 - Use node12 for KaTeX binary on Windows ## v202103.1027 - Update KaTeX binaries to v0.13.0 ## v202008.1026 - Fix [#12](https://gitlab.com/mbarkhau/markdown-katex/-/issues/12): Bug in handling of paths with whitespace. (Thanks @summersz !) ## v202008.1025 - Fix [#9](https://gitlab.com/mbarkhau/markdown-katex/-/issues/9): Update `katex.css` - Fix [#8](https://gitlab.com/mbarkhau/markdown-katex/-/issues/8): Lookup of binaries on windows - Update documentation wrt. use with WeasyPrint ## v202008.1024 - Update KaTeX binaries to v0.12.0 - Fix [#8](https://gitlab.com/mbarkhau/markdown-katex/-/issues/8): Update binaries... - Fix [#7](https://gitlab.com/mbarkhau/markdown-katex/-/issues/7): Lookup of binaries via npx ## v202006.1021 - Fix [#7](https://gitlab.com/mbarkhau/markdown-katex/-/issues/7): File encoding issue on Windows. ## v202006.1020 - Fix [#7](https://gitlab.com/mbarkhau/markdown-katex/-/issues/7) katex-cli on Windows (now uses pkg --target node12...) - Fix search for local `katex.ps1`, `katex.cmd`, `katex.exe` on Windows. ## v202005.0017 - Allow use of `macro-file` option. - Update katex-cli to [version v0.11.1](https://github.com/KaTeX/KaTeX/blob/master/CHANGELOG.md) ## v202005.0016-beta - Fix #6: [Regression in code block parsing](https://gitlab.com/mbarkhau/markdown-katex/-/issues/6), introduced in `v202004.0015-beta` ## v202004.0015-beta - Fix #3: [Inline math inside block](https://gitlab.com/mbarkhau/markdown-katex/-/issues/3) ## v202004.0014-beta - Fix #4: [Link tag not properly closed](https://gitlab.com/mbarkhau/markdown-katex/-/issues/4) ## v202001.0013-beta - Fix: Ignore trailing whitespace after closing fence. ## v202001.0012-beta - Fix: Remove extraneous whitespace to work better with whitespace: pre. ## v201912.0011-beta - Add option `insert_fonts_css` - Document options ## v201910.0010-beta - Add more prominent example to README.md - Fix #2: Fix spurious log message when using MkDocs ## v201908.0009-beta - Fix #1: Wrong formulas are rendered when multiple formulas are in one doc. ## v201907.0008-beta - Fix: don't require typing package for py<35 ## v201905.0007-beta - Fix: Parsing of inline code when using multiple backticks ## v201905.0004-beta - Fix: better error reporting - Fix: cleanup temp dir ## v201905.0002-alpha - Initial release %package -n python3-markdown-katex Summary: katex extension for Python Markdown Provides: python-markdown-katex BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-markdown-katex # [markdown-katex][repo_ref] This is an extension for [Python Markdown](https://python-markdown.github.io/) which adds [KaTeX](https://katex.org/) support. ```math f(x) = \int_{-\infty}^\infty \hat f(\xi)\,e^{2 \pi i \xi x} \,d\xi ```

Project/Repo: [![MIT License][license_img]][license_ref] [![Supported Python Versions][pyversions_img]][pyversions_ref] [![CalVer v202112.1034][version_img]][version_ref] [![PyPI Version][pypi_img]][pypi_ref] [![PyPI Downloads][downloads_img]][downloads_ref] Code Quality/CI: [![GitHub CI Status][github_build_img]][github_build_ref] [![GitLab CI Status][gitlab_build_img]][gitlab_build_ref] [![Type Checked with mypy][mypy_img]][mypy_ref] [![Code Coverage][codecov_img]][codecov_ref] [![Code Style: sjfmt][style_img]][style_ref] | Name | role | since | until | |-------------------------------------|-------------------|---------|-------| | Manuel Barkhau (mbarkhau@gmail.com) | author/maintainer | 2019-05 | - | ## Install ```bash $ pip install markdown-katex ... $ python -m markdown_katex --version markdown-katex version: v202112.1034 (using binary: /usr/local/bin/npx --no-install katex) 0.15.1 ``` This package includes the following binaries: - `katex_v0.15.1_node10_x86_64_Linux` _ `katex_v0.15.1_node10_x86_64_Darwin` _ `katex_v0.15.1_node12_x86_64_Windows` If you are on a different platform, or want to use a more recent version of `katex-cli`, you will need to [install it via npm][href_katexinstall_cli]. ```bash $ npx katex $ npx katex --version 0.15.1 ``` This extension will always use the locally installed version of KaTeX if it is available, instead of using the implementation bundled with this package. No JavaScript is required to render the resulting HTML, so it can be used with more limited renderers (which don't support JavaScript) such as [WeasyPrint](https://weasyprint.org/) . ## Usage Formulas can be created and edited interactively using the editor on [katex.org](https://katex.org/). They also have some [good documentation][href_katex_docs] for the subset of LaTeX that is supported. When embedding these in your Markdown files, they must be marked with a special syntax in order to be rendered using KaTeX. There are [many syntax extensions][href_cben_mathdown] for Markdown that allow LaTeX formulas to be embedded, however this package only supports the syntax introduced by Gitlab: - For inline mode formulas: $`...`$ - For display mode formulas: ```math Here is [an example](https://gitlab.com/snippets/1857641) that uses this syntax. There are two main advantages of this syntax: 1. Gitlab has an existing Markdown renderer that can be used without the need to download any software. This implementation also uses KaTeX, so the output should be exactly the same as this extension. 2. The fallback behaviour of other Markdown renderers is to render the raw LaTeX as inline code or a code block. This means that they won't inadvertently parse a LaTeX formula as Markdown syntax. Hopefully other renderers will also adopt support for this syntax as: 1. Rendering is done in the browser using KaTeX so implementation effort and should be minimal. 2. The false positive rate for existing Markdown documents is negligible (i.e. existing alternate use of $` syntax is minimal to non-existent). ## Options - `no_inline_svg`: Replace inline `` with `` tags. - `insert_fonts_css`: Insert font loading stylesheet (default: True). ## Development/Testing ```bash $ git clone https://gitlab.com/mbarkhau/markdown-katex $ cd markdown-katex $ make conda $ make lint mypy test ``` ## MkDocs Integration In your `mkdocs.yml` add this to markdown_extensions. ```yaml # mkdocs.yml markdown_extensions: - markdown_katex: no_inline_svg: True insert_fonts_css: True macro-file: macros.tex ``` The `macro-file` might looks something like this: ```tex % macros.tex \mymacro:\text{prefix #1 suffix} ``` ## WeasyPrint Integration When you generate html that is to be consumed by [WeasyPrint](https://weasyprint.org/), you need to use the `no_inline_svg=True` option. This is due to a [long standing limitation](https://github.com/Kozea/WeasyPrint/issues/75) of WeasyPrint. Without this option, some KaTeX formulas will not render properly, e.g. `\sqrt` ```python md_ctx = markdown.Markdown( extensions=[ 'markdown.extensions.toc', 'markdown.extensions.extra', 'markdown.extensions.abbr', ... 'markdown_katex', ], extension_configs={ 'markdown_katex': { 'no_inline_svg': True, # fix for WeasyPrint 'insert_fonts_css': True, }, } ) raw_html_text = md_ctx.convert(md_text) ``` You can also use markdown-katex for the conversion of individual formulas from tex to html: ```python from markdown_katex.extension import tex2html tex_text = r""" \frac{1}{\left(\sqrt{\phi\sqrt{5}}-\phi\right)e^{\frac{2}{5}\pi}}= 1+\frac{e^{-2\pi}} { 1+\frac{e^{-4\pi}} { 1+\frac{e^{-6\pi}} { 1+\frac{e^{-8\pi}} { 1+\cdots } } } } """ options = {'no_inline_svg': True, 'insert_fonts_css': False} html = tex2html(tex_text, options) ``` [href_cben_mathdown]: https://github.com/cben/mathdown/wiki/math-in-markdown [repo_ref]: https://github.com/mbarkhau/markdown-katex [github_build_img]: https://github.com/mbarkhau/markdown-katex/workflows/CI/badge.svg [github_build_ref]: https://github.com/mbarkhau/markdown-katex/actions?query=workflow%3ACI [gitlab_build_img]: https://gitlab.com/mbarkhau/markdown-katex/badges/master/pipeline.svg [gitlab_build_ref]: https://gitlab.com/mbarkhau/markdown-katex/pipelines [codecov_img]: https://gitlab.com/mbarkhau/markdown-katex/badges/master/coverage.svg [codecov_ref]: https://mbarkhau.gitlab.io/markdown-katex/cov [license_img]: https://img.shields.io/badge/License-MIT-blue.svg [license_ref]: https://gitlab.com/mbarkhau/markdown-katex/blob/master/LICENSE [mypy_img]: https://img.shields.io/badge/mypy-checked-green.svg [mypy_ref]: https://mbarkhau.gitlab.io/markdown-katex/mypycov [style_img]: https://img.shields.io/badge/code%20style-%20sjfmt-f71.svg [style_ref]: https://gitlab.com/mbarkhau/straitjacket/ [pypi_img]: https://img.shields.io/badge/PyPI-wheels-green.svg [pypi_ref]: https://pypi.org/project/markdown-katex/#files [downloads_img]: https://pepy.tech/badge/markdown-katex/month [downloads_ref]: https://pepy.tech/project/markdown-katex [version_img]: https://img.shields.io/static/v1.svg?label=CalVer&message=v202112.1034&color=blue [version_ref]: https://pypi.org/project/bumpver/ [pyversions_img]: https://img.shields.io/pypi/pyversions/markdown-katex.svg [pyversions_ref]: https://pypi.python.org/pypi/markdown-katex [href_katexinstall_cli]: https://katex.org/docs/cli.html [href_katex_docs]: https://katex.org/docs/supported.html # Changelog for https://gitlab.com/mbarkhau/markdown-katex ## Contributors Thank you to for testing, reporting issues and contributing patches: - @summersz - Richard Summers - @bluhme3 - Evan Bluhm - @pawamoy - Timothée Mazzucotelli - @briankchan - @spoorendonk - @lisongmin - @alexatadi - @sacredfox - Akihiro Nomura - @jnsdrtlf - @dodoni - Markus Wendt ## v202112.1034 - Update KaTeX binaries to v0.15.1 - Fix [#13][gh_13]: Don't strip `

` when using inline syntax for a single equation. [gh_13]: https://github.com/mbarkhau/markdown-katex/issue/13 ## v202106.1033 - Update KaTeX binaries to v0.13.18 ## v202106.1032 - Fix [#8][gh_8]: Math inside admonition - Update KaTeX binaries to v0.13.11 [gh_8]: https://github.com/mbarkhau/markdown-katex/issue/8 ## v202105.1031 - Update KaTeX binaries to v0.13.6 ## v202104.1030 - Update KaTeX binaries to v0.13.3 - Fix [#4][gh_4]: Close file descriptors of Popen - Add support for blocks with extra backticks [gh_4]: https://github.com/mbarkhau/markdown-katex/pull/4 ## v202103.1029 - Fix [#14](https://gitlab.com/mbarkhau/markdown-katex/-/issues/14): Since `Markdown>=3.3` support for [Markdown in HTML][md_in_html] was broken. [md_in_html]: https://python-markdown.github.io/extensions/md_in_html/ Thank you @summersz for reporting this issue. ## v202103.1028 - Use node12 for KaTeX binary on Windows ## v202103.1027 - Update KaTeX binaries to v0.13.0 ## v202008.1026 - Fix [#12](https://gitlab.com/mbarkhau/markdown-katex/-/issues/12): Bug in handling of paths with whitespace. (Thanks @summersz !) ## v202008.1025 - Fix [#9](https://gitlab.com/mbarkhau/markdown-katex/-/issues/9): Update `katex.css` - Fix [#8](https://gitlab.com/mbarkhau/markdown-katex/-/issues/8): Lookup of binaries on windows - Update documentation wrt. use with WeasyPrint ## v202008.1024 - Update KaTeX binaries to v0.12.0 - Fix [#8](https://gitlab.com/mbarkhau/markdown-katex/-/issues/8): Update binaries... - Fix [#7](https://gitlab.com/mbarkhau/markdown-katex/-/issues/7): Lookup of binaries via npx ## v202006.1021 - Fix [#7](https://gitlab.com/mbarkhau/markdown-katex/-/issues/7): File encoding issue on Windows. ## v202006.1020 - Fix [#7](https://gitlab.com/mbarkhau/markdown-katex/-/issues/7) katex-cli on Windows (now uses pkg --target node12...) - Fix search for local `katex.ps1`, `katex.cmd`, `katex.exe` on Windows. ## v202005.0017 - Allow use of `macro-file` option. - Update katex-cli to [version v0.11.1](https://github.com/KaTeX/KaTeX/blob/master/CHANGELOG.md) ## v202005.0016-beta - Fix #6: [Regression in code block parsing](https://gitlab.com/mbarkhau/markdown-katex/-/issues/6), introduced in `v202004.0015-beta` ## v202004.0015-beta - Fix #3: [Inline math inside block](https://gitlab.com/mbarkhau/markdown-katex/-/issues/3) ## v202004.0014-beta - Fix #4: [Link tag not properly closed](https://gitlab.com/mbarkhau/markdown-katex/-/issues/4) ## v202001.0013-beta - Fix: Ignore trailing whitespace after closing fence. ## v202001.0012-beta - Fix: Remove extraneous whitespace to work better with whitespace: pre. ## v201912.0011-beta - Add option `insert_fonts_css` - Document options ## v201910.0010-beta - Add more prominent example to README.md - Fix #2: Fix spurious log message when using MkDocs ## v201908.0009-beta - Fix #1: Wrong formulas are rendered when multiple formulas are in one doc. ## v201907.0008-beta - Fix: don't require typing package for py<35 ## v201905.0007-beta - Fix: Parsing of inline code when using multiple backticks ## v201905.0004-beta - Fix: better error reporting - Fix: cleanup temp dir ## v201905.0002-alpha - Initial release %package help Summary: Development documents and examples for markdown-katex Provides: python3-markdown-katex-doc %description help # [markdown-katex][repo_ref] This is an extension for [Python Markdown](https://python-markdown.github.io/) which adds [KaTeX](https://katex.org/) support. ```math f(x) = \int_{-\infty}^\infty \hat f(\xi)\,e^{2 \pi i \xi x} \,d\xi ```

Project/Repo: [![MIT License][license_img]][license_ref] [![Supported Python Versions][pyversions_img]][pyversions_ref] [![CalVer v202112.1034][version_img]][version_ref] [![PyPI Version][pypi_img]][pypi_ref] [![PyPI Downloads][downloads_img]][downloads_ref] Code Quality/CI: [![GitHub CI Status][github_build_img]][github_build_ref] [![GitLab CI Status][gitlab_build_img]][gitlab_build_ref] [![Type Checked with mypy][mypy_img]][mypy_ref] [![Code Coverage][codecov_img]][codecov_ref] [![Code Style: sjfmt][style_img]][style_ref] | Name | role | since | until | |-------------------------------------|-------------------|---------|-------| | Manuel Barkhau (mbarkhau@gmail.com) | author/maintainer | 2019-05 | - | ## Install ```bash $ pip install markdown-katex ... $ python -m markdown_katex --version markdown-katex version: v202112.1034 (using binary: /usr/local/bin/npx --no-install katex) 0.15.1 ``` This package includes the following binaries: - `katex_v0.15.1_node10_x86_64_Linux` _ `katex_v0.15.1_node10_x86_64_Darwin` _ `katex_v0.15.1_node12_x86_64_Windows` If you are on a different platform, or want to use a more recent version of `katex-cli`, you will need to [install it via npm][href_katexinstall_cli]. ```bash $ npx katex $ npx katex --version 0.15.1 ``` This extension will always use the locally installed version of KaTeX if it is available, instead of using the implementation bundled with this package. No JavaScript is required to render the resulting HTML, so it can be used with more limited renderers (which don't support JavaScript) such as [WeasyPrint](https://weasyprint.org/) . ## Usage Formulas can be created and edited interactively using the editor on [katex.org](https://katex.org/). They also have some [good documentation][href_katex_docs] for the subset of LaTeX that is supported. When embedding these in your Markdown files, they must be marked with a special syntax in order to be rendered using KaTeX. There are [many syntax extensions][href_cben_mathdown] for Markdown that allow LaTeX formulas to be embedded, however this package only supports the syntax introduced by Gitlab: - For inline mode formulas: $`...`$ - For display mode formulas: ```math Here is [an example](https://gitlab.com/snippets/1857641) that uses this syntax. There are two main advantages of this syntax: 1. Gitlab has an existing Markdown renderer that can be used without the need to download any software. This implementation also uses KaTeX, so the output should be exactly the same as this extension. 2. The fallback behaviour of other Markdown renderers is to render the raw LaTeX as inline code or a code block. This means that they won't inadvertently parse a LaTeX formula as Markdown syntax. Hopefully other renderers will also adopt support for this syntax as: 1. Rendering is done in the browser using KaTeX so implementation effort and should be minimal. 2. The false positive rate for existing Markdown documents is negligible (i.e. existing alternate use of $` syntax is minimal to non-existent). ## Options - `no_inline_svg`: Replace inline `` with `` tags. - `insert_fonts_css`: Insert font loading stylesheet (default: True). ## Development/Testing ```bash $ git clone https://gitlab.com/mbarkhau/markdown-katex $ cd markdown-katex $ make conda $ make lint mypy test ``` ## MkDocs Integration In your `mkdocs.yml` add this to markdown_extensions. ```yaml # mkdocs.yml markdown_extensions: - markdown_katex: no_inline_svg: True insert_fonts_css: True macro-file: macros.tex ``` The `macro-file` might looks something like this: ```tex % macros.tex \mymacro:\text{prefix #1 suffix} ``` ## WeasyPrint Integration When you generate html that is to be consumed by [WeasyPrint](https://weasyprint.org/), you need to use the `no_inline_svg=True` option. This is due to a [long standing limitation](https://github.com/Kozea/WeasyPrint/issues/75) of WeasyPrint. Without this option, some KaTeX formulas will not render properly, e.g. `\sqrt` ```python md_ctx = markdown.Markdown( extensions=[ 'markdown.extensions.toc', 'markdown.extensions.extra', 'markdown.extensions.abbr', ... 'markdown_katex', ], extension_configs={ 'markdown_katex': { 'no_inline_svg': True, # fix for WeasyPrint 'insert_fonts_css': True, }, } ) raw_html_text = md_ctx.convert(md_text) ``` You can also use markdown-katex for the conversion of individual formulas from tex to html: ```python from markdown_katex.extension import tex2html tex_text = r""" \frac{1}{\left(\sqrt{\phi\sqrt{5}}-\phi\right)e^{\frac{2}{5}\pi}}= 1+\frac{e^{-2\pi}} { 1+\frac{e^{-4\pi}} { 1+\frac{e^{-6\pi}} { 1+\frac{e^{-8\pi}} { 1+\cdots } } } } """ options = {'no_inline_svg': True, 'insert_fonts_css': False} html = tex2html(tex_text, options) ``` [href_cben_mathdown]: https://github.com/cben/mathdown/wiki/math-in-markdown [repo_ref]: https://github.com/mbarkhau/markdown-katex [github_build_img]: https://github.com/mbarkhau/markdown-katex/workflows/CI/badge.svg [github_build_ref]: https://github.com/mbarkhau/markdown-katex/actions?query=workflow%3ACI [gitlab_build_img]: https://gitlab.com/mbarkhau/markdown-katex/badges/master/pipeline.svg [gitlab_build_ref]: https://gitlab.com/mbarkhau/markdown-katex/pipelines [codecov_img]: https://gitlab.com/mbarkhau/markdown-katex/badges/master/coverage.svg [codecov_ref]: https://mbarkhau.gitlab.io/markdown-katex/cov [license_img]: https://img.shields.io/badge/License-MIT-blue.svg [license_ref]: https://gitlab.com/mbarkhau/markdown-katex/blob/master/LICENSE [mypy_img]: https://img.shields.io/badge/mypy-checked-green.svg [mypy_ref]: https://mbarkhau.gitlab.io/markdown-katex/mypycov [style_img]: https://img.shields.io/badge/code%20style-%20sjfmt-f71.svg [style_ref]: https://gitlab.com/mbarkhau/straitjacket/ [pypi_img]: https://img.shields.io/badge/PyPI-wheels-green.svg [pypi_ref]: https://pypi.org/project/markdown-katex/#files [downloads_img]: https://pepy.tech/badge/markdown-katex/month [downloads_ref]: https://pepy.tech/project/markdown-katex [version_img]: https://img.shields.io/static/v1.svg?label=CalVer&message=v202112.1034&color=blue [version_ref]: https://pypi.org/project/bumpver/ [pyversions_img]: https://img.shields.io/pypi/pyversions/markdown-katex.svg [pyversions_ref]: https://pypi.python.org/pypi/markdown-katex [href_katexinstall_cli]: https://katex.org/docs/cli.html [href_katex_docs]: https://katex.org/docs/supported.html # Changelog for https://gitlab.com/mbarkhau/markdown-katex ## Contributors Thank you to for testing, reporting issues and contributing patches: - @summersz - Richard Summers - @bluhme3 - Evan Bluhm - @pawamoy - Timothée Mazzucotelli - @briankchan - @spoorendonk - @lisongmin - @alexatadi - @sacredfox - Akihiro Nomura - @jnsdrtlf - @dodoni - Markus Wendt ## v202112.1034 - Update KaTeX binaries to v0.15.1 - Fix [#13][gh_13]: Don't strip `

` when using inline syntax for a single equation. [gh_13]: https://github.com/mbarkhau/markdown-katex/issue/13 ## v202106.1033 - Update KaTeX binaries to v0.13.18 ## v202106.1032 - Fix [#8][gh_8]: Math inside admonition - Update KaTeX binaries to v0.13.11 [gh_8]: https://github.com/mbarkhau/markdown-katex/issue/8 ## v202105.1031 - Update KaTeX binaries to v0.13.6 ## v202104.1030 - Update KaTeX binaries to v0.13.3 - Fix [#4][gh_4]: Close file descriptors of Popen - Add support for blocks with extra backticks [gh_4]: https://github.com/mbarkhau/markdown-katex/pull/4 ## v202103.1029 - Fix [#14](https://gitlab.com/mbarkhau/markdown-katex/-/issues/14): Since `Markdown>=3.3` support for [Markdown in HTML][md_in_html] was broken. [md_in_html]: https://python-markdown.github.io/extensions/md_in_html/ Thank you @summersz for reporting this issue. ## v202103.1028 - Use node12 for KaTeX binary on Windows ## v202103.1027 - Update KaTeX binaries to v0.13.0 ## v202008.1026 - Fix [#12](https://gitlab.com/mbarkhau/markdown-katex/-/issues/12): Bug in handling of paths with whitespace. (Thanks @summersz !) ## v202008.1025 - Fix [#9](https://gitlab.com/mbarkhau/markdown-katex/-/issues/9): Update `katex.css` - Fix [#8](https://gitlab.com/mbarkhau/markdown-katex/-/issues/8): Lookup of binaries on windows - Update documentation wrt. use with WeasyPrint ## v202008.1024 - Update KaTeX binaries to v0.12.0 - Fix [#8](https://gitlab.com/mbarkhau/markdown-katex/-/issues/8): Update binaries... - Fix [#7](https://gitlab.com/mbarkhau/markdown-katex/-/issues/7): Lookup of binaries via npx ## v202006.1021 - Fix [#7](https://gitlab.com/mbarkhau/markdown-katex/-/issues/7): File encoding issue on Windows. ## v202006.1020 - Fix [#7](https://gitlab.com/mbarkhau/markdown-katex/-/issues/7) katex-cli on Windows (now uses pkg --target node12...) - Fix search for local `katex.ps1`, `katex.cmd`, `katex.exe` on Windows. ## v202005.0017 - Allow use of `macro-file` option. - Update katex-cli to [version v0.11.1](https://github.com/KaTeX/KaTeX/blob/master/CHANGELOG.md) ## v202005.0016-beta - Fix #6: [Regression in code block parsing](https://gitlab.com/mbarkhau/markdown-katex/-/issues/6), introduced in `v202004.0015-beta` ## v202004.0015-beta - Fix #3: [Inline math inside block](https://gitlab.com/mbarkhau/markdown-katex/-/issues/3) ## v202004.0014-beta - Fix #4: [Link tag not properly closed](https://gitlab.com/mbarkhau/markdown-katex/-/issues/4) ## v202001.0013-beta - Fix: Ignore trailing whitespace after closing fence. ## v202001.0012-beta - Fix: Remove extraneous whitespace to work better with whitespace: pre. ## v201912.0011-beta - Add option `insert_fonts_css` - Document options ## v201910.0010-beta - Add more prominent example to README.md - Fix #2: Fix spurious log message when using MkDocs ## v201908.0009-beta - Fix #1: Wrong formulas are rendered when multiple formulas are in one doc. ## v201907.0008-beta - Fix: don't require typing package for py<35 ## v201905.0007-beta - Fix: Parsing of inline code when using multiple backticks ## v201905.0004-beta - Fix: better error reporting - Fix: cleanup temp dir ## v201905.0002-alpha - Initial release %prep %autosetup -n markdown-katex-202112.1034 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-markdown-katex -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Mon May 15 2023 Python_Bot - 202112.1034-1 - Package Spec generated