docsify-latex
Version:
A docsify.js plugin for typesetting LaTeX with display engines from markdown
98 lines (66 loc) • 3.37 kB
Markdown
# docsify-latex
[](https://github.com/scruel/docsify-latex/blob/master/LICENSE)
[](https://github.com/scruel/docsify-latex/actions?query=branch%3Amaster+)
[](https://www.npmjs.com/package/docsify-latex)
[](https://www.jsdelivr.com/package/npm/docsify-latex)
A [docsify.js](https://docsify.js.org) plugin for typesetting LaTeX with display engines from markdown.
<br/>
<p align="center">Docsify + LaTeX = :heart:</p>
## Installation
Add JavaScript LaTeX display engine, and docsify-latex plugin after docsify and engine scirpts all to your `index.html`.
For example, I prefer [MathJax][MathJax], and load scripts from the content delivery network (CDN):
```html
<!-- Docsify v4 -->
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
<!-- LaTeX display engine -->
<script src="//cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
<!-- docsify-latex plugin -->
<script src="//cdn.jsdelivr.net/npm/docsify-latex@0"></script>
```
Configure latex plugin options:
```javascript
window.$docsify = {
// ...
latex: {
inlineMath : [['$', '$'], ['\\(', '\\)']], // default
displayMath : [['$$', '$$']], // default
}
};
```
> Notice:
>
> You should put docsify-latex plugin script below docsify and LaTeX display engine scripts, because plugin script **depends on** them.
>
> To keep loading scripts in order, you also should remove `async` attribute from the script element.
See [Documentation site][Documentation] for more usage and more details.
## Usage
Put LaTeX within symbols you configured.
For example, by default we configured `$$` for marking section inner LaTeX in display mode, then:
```math
$$
E=mc^2
$$
```
Go to display engine official website for more details about supported LaTeX functions.
See [Documentation site][Documentation] for more usage and more details.
Seeking for demo projects, click [here][Demo Projects] to learn more.
## Features
This plugin helps you typeset LaTeX with some JavaScript LaTeX display engines.
**Supported engine features**:
- Equation cross-reference jump (same page only)
- Typsetting complex LaTeX content
- Overflowed content scroll bar
See [Documentation Example][Documentation Example] for more details.
**List of integrated engines**:
- [MathJax V3](https://docs.mathjax.org/)
- [MathJax V2](https://docs.mathjax.org/en/v2.7-latest/index.html)
- [KaTeX](https://katex.org/docs)
> If you want to integrate more engines, feel free to fire an issue to explain the reason, or more well, you can directly make a pull request.
## License
This project is licensed under the MIT License.
See the [LICENSE](https://github.com/scruel/docsify-latex/blob/master/LICENSE) for details.
Copyright (c) Scruel Tao ([@scruel](https://github.com/scruel))
[MathJax]: https://docs.mathjax.org
[Documentation]: https://scruel.github.io/docsify-latex
[Documentation Example]: https://scruel.github.io/docsify-latex/#/example
[Demo Projects]: https://scruel.github.io/docsify-latex/#/demo