Skip to main content

A pandoc filter that renders math at build time using KaTeX.

Project description

pandoc-static-katex

A simple pandoc filter that uses KaTeX to render math equations at build time. It makes possible to display equations without any JavaScript execution in the browser.

Example usage

$ cat math.md
# A title and whatnot.

This is inline $\log(\frac{1}{2})$ and this is display:

$$
\int_{-\infty}^{+\infty}\LambdaLamda(x)dx
$$

$ pandoc -s  math.md --filter pandoc-static-katex --to html5 --css https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.8.3/katex.min.css -o math.html

Note that the --katex option of pandoc option doesn't add the styles since pandoc doesn't see any math element after the filter pass.

Installation

The script can be installed by pip:

python3 -m pip install pandoc_static_katex

The filter runs in Python 3.7+.

When the filter is run, KaTeX needs to be installed with nodejs; the command

npx katex

must work on the current path. The filter has been developed with version 0.10.2 of KaTeX.

Additionally, pandoc is needed for most usages.

Development mode

It requires flit to be installed from source in development mode.

flit install --symlink

Test script

If pandoc, katex and the filter have all been installed correctly, the command:

python3 run_test.py

should produce rendered results in the test_results folder.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pandoc_static_katex-0.1.2.tar.gz (5.3 kB view hashes)

Uploaded Source

Built Distribution

pandoc_static_katex-0.1.2-py3-none-any.whl (4.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page