An easy way to convert LaTeX formules into Katex HTML using Ruby.
Add this line to your application's Gemfile:
gem 'katex2html'And then execute:
$ bundle
Or install it yourself as:
$ gem install katex2html
To render strings into Katex HTML rendered maths, just use the method below:
Katex2HTML.render(string, options)You can provide options as the last argument to Katex2HTML.render. Available options are:
renderer:symbol. If:htmlparse an HTML file looking for matching patterns, convert the math and return a HTML with Katex renderedstring. If:singlerender a single formule and returns an Katex rendered HTMLstring. (default:single)delimiters:array. You can send an array with custom delimiters to customize the parser patterns. (default:[ ['$', '$'], ['\\[', '\\]'] ])
To render a specific math formule, you can use:
# Single formule
formule = "log_c (a.c) + 3log_c b - 2log_c \\left(\\dfrac{a}{b}\\right)"
Katex2HTML.render(formule, renderer: :single) # Returns Katex HTML renderedTo parse all latex from an HTML string, you can just:
# HTML with formules between `$`
mathHtml = "<p>Math below:</p><p>$log_c (a.c) + 3log_c b - 2log_c \\left(\\dfrac{a}{b}\\right)$</p>"
Katex2HTML.render(latex_html, renderer: :html) # Returns HTML with Katex HTML renderedYou can send an array with custom delimiters
# HTML with formules between `BOF` and `EOF`
mathHtml = "<p>Math below:</p><p>BOFlog_c (a.c) + 3log_c b - 2log_c \\left(\\dfrac{a}{b}\\right)EOF</p>"
Katex2HTML.render(latex_html, delimiters: ['BOF', 'EOF'], renderer: :html) # Returns HTML with Katex HTML renderedAfter checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/appprova/katex2html. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
The gem is available as open source under the terms of the MIT License.