KaTeX
TeX math rendering in HTML
Options
- cssSelector string
- Default:
".language-math" - cssFile boolean string
- fontsFolder string
- placeholder string
- options object
- Default:
{ strict: true, displayMode: true, throwOnError: true, delimiters: [ { left: "$$", right: "$$", display: true }, { left: "\\(", right: "\\)", display: false }, { left: "\\begin{equation}", right: "\\end{equation}", display: true }, { left: "\\begin{align}", right: "\\end{align}", display: true }, { left: "\\begin{alignat}", right: "\\end{alignat}", display: true }, { left: "\\begin{gather}", right: "\\end{gather}", display: true }, { left: "\\begin{CD}", right: "\\end{CD}", display: true }, { left: "\\[", right: "\\]", display: true } ], ignoredTags: [ "script", "noscript", "style", "textarea", "pre", "code", "option" ], ignoredClasses: [], macros: {} }
Description
This plugin uses the KaTeX library (with the mhchem extension enabled) to render the math typesetting of your HTML documents. You only need to add the language-math extension to any math content that you want to render. In markdown pages, it can be done in code blocks with the math language:
# This is a markdown document
```math
c = \pm\sqrt{a^2 + b^2}
```
Or adding the language-math directly to the HTML element containing the code:
<p class="language-math">
c = \pm\sqrt{a^2 + b^2}
</p>
Installation
Import this plugin in your _config.ts file to use it:
import lume from "lume/mod.ts";
import katex from "lume/plugins/katex.ts";
const site = lume();
site.use(katex(/* Options */));
export default site;
Apply styles
The plugin use the global configuration of cssFile and fontsFolder to download the required CSS code and fonts (/style.css and /fonts by default). Make sure to link the CSS file and use the HTML5 doctype.
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="/style.css">
Set cssFile to false to disable this behavior, useful if you want to use different styles and fonts:
site.use(katex({
cssFile: false, // Don't download CSS and fonts
}));