Mercurial > repos > public > wdown
annotate katex/README.md @ 8:4a25b534c81c javascript-experiment
Add v8 engine and include katex
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 17 Jun 2020 21:43:52 +0200 |
parents | |
children |
rev | line source |
---|---|
8
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 # [<img src="https://katex.org/img/katex-logo-black.svg" width="130" alt="KaTeX">](https://katex.org/) |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 [](https://www.npmjs.com/package/katex) |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 [](https://circleci.com/gh/KaTeX/KaTeX) |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 [](https://codecov.io/gh/KaTeX/KaTeX) |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 [](https://gitter.im/KaTeX/KaTeX?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 [](https://dependabot.com) |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 [](https://www.jsdelivr.com/package/npm/katex) |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8  |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 KaTeX is a fast, easy-to-use JavaScript library for TeX math rendering on the web. |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 * **Fast:** KaTeX renders its math synchronously and doesn't need to reflow the page. See how it compares to a competitor in [this speed test](http://www.intmath.com/cg5/katex-mathjax-comparison.php). |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 * **Print quality:** KaTeX's layout is based on Donald Knuth's TeX, the gold standard for math typesetting. |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 * **Self contained:** KaTeX has no dependencies and can easily be bundled with your website resources. |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 * **Server side rendering:** KaTeX produces the same output regardless of browser or environment, so you can pre-render expressions using Node.js and send them as plain HTML. |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 KaTeX is compatible with all major browsers, including Chrome, Safari, Firefox, Opera, Edge, and IE 9–11. |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 KaTeX supports much (but not all) of LaTeX and many LaTeX packages. See the [list of supported functions](https://katex.org/docs/supported.html). |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 Try out KaTeX [on the demo page](https://katex.org/#demo)! |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 ## Getting started |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 ### Starter template |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 ```html |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 <!DOCTYPE html> |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 <!-- KaTeX requires the use of the HTML5 doctype. Without it, KaTeX may not render properly --> |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 <html> |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 <head> |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous"> |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 <!-- The loading of KaTeX is deferred to speed up page rendering --> |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 <script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script> |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
36 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
37 <!-- To automatically render math in text elements, include the auto-render extension: --> |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
38 <script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 onload="renderMathInElement(document.body);"></script> |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
40 </head> |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
41 ... |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
42 </html> |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
43 ``` |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
44 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
45 You can also [download KaTeX](https://github.com/KaTeX/KaTeX/releases) and host it yourself. |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
46 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
47 For details on how to configure auto-render extension, refer to [the documentation](https://katex.org/docs/autorender.html). |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
48 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
49 ### API |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
50 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
51 Call `katex.render` to render a TeX expression directly into a DOM element. |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
52 For example: |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
53 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
54 ```js |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
55 katex.render("c = \\pm\\sqrt{a^2 + b^2}", element, { |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
56 throwOnError: false |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
57 }); |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
58 ``` |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
59 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
60 Call `katex.renderToString` to generate an HTML string of the rendered math, |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
61 e.g., for server-side rendering. For example: |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
62 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
63 ```js |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
64 var html = katex.renderToString("c = \\pm\\sqrt{a^2 + b^2}", { |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
65 throwOnError: false |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
66 }); |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
67 // '<span class="katex">...</span>' |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
68 ``` |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
69 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
70 Make sure to include the CSS and font files in both cases. |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
71 If you are doing all rendering on the server, there is no need to include the |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
72 JavaScript on the client. |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
73 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
74 The examples above use the `throwOnError: false` option, which renders invalid |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
75 inputs as the TeX source code in red (by default), with the error message as |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
76 hover text. For other available options, see the |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
77 [API documentation](https://katex.org/docs/api.html), |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
78 [options documentation](https://katex.org/docs/options.html), and |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
79 [handling errors documentation](https://katex.org/docs/error.html). |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
80 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
81 ## Demo and Documentation |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
82 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
83 Learn more about using KaTeX [on the website](https://katex.org)! |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
84 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
85 ## Contributing |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
86 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
87 See [CONTRIBUTING.md](CONTRIBUTING.md) |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
88 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
89 ## License |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
90 |
4a25b534c81c
Add v8 engine and include katex
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
91 KaTeX is licensed under the [MIT License](http://opensource.org/licenses/MIT). |