Jekyll LaTeX Block is a plugin for Jekyll that uses KaTeX to render LaTeX at build time, without the need for client-side JavaScript.
Ensure that your build environment has a JavaScript interpreter supported by ExecJS.
Add this gem to your project's Gemfile
:
group :jekyll_plugins do
gem "jekyll-latex-block", "~> 0.13.2"
end
And then execute:
$ bundle
In your content, you can use the latex
block tag like so:
{% latex %}
e^{i \pi} + 1 = 0
{% endlatex %}
Additional rendering options such as displayMode
may be
specified like so:
{% latex displayMode=true %}
\int_{a}^a f(x) dx
{% endlatex %}
To display the resulting markup properly, you MUST include KaTeX CSS and relevant web fonts on your site. The generated HTML does not require KaTeX client-side JavaScript.
Place the following stylesheet just above your closing </body>
tag.
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.2/katex.min.css" integrity="sha512-el2z+rjIj40JeIlKyqcoRjGNjvwHVlyahNQ1PhSs4PCztr6jJ4GgpjgN+1a++L9HZxhLXpa4eLG3ry976z0O2Q==" crossorigin="anonymous" />
For maximum control, you may wish to manually download KaTeX CSS / web fonts and place them directly in your project. The author of this plugin is not responsible for your pain and suffering should you choose to go this route.
After checking out the repo...
# Install dependencies, setup submodules
$ bin/setup
# Run tests
$ bin/rake test
# Run interactive prompt
$ bin/console
# Lint code for style violations
$ bin/rubocop
# Build a gem into the pkg/ directory
$ bin/rake build
Bug reports and pull requests are welcome on GitHub at https://github.com/t-richards/jekyll-latex-block.
The gem is available as open source under the terms of the MIT License.