Personnaliser le moteur de rendu TeX
Moins de 1 minute...
Ce guide pratique vous explique comment ajouter votre propre moteur de rendu
@waline/client fournit la fonction texRenderer. Le client transmet en paramètres le mode d'affichage (bloc ou non) et la chaîne
Un exemple avec KaTeX
Pour les options de KaTeX, consultez l'API KaTeX.
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Waline highlighter case</title>
<link rel="stylesheet" href="https://unpkg.com/@waline/client@v3/dist/waline.css" />
<link rel="stylesheet" href="https://unpkg.com/katex@v0.16/dist/katex.min.css" />
</head>
<body>
<div id="waline" style="max-width: 800px; margin: 0 auto"></div>
<script type="module">
import { init } from '"https://unpkg.com/@waline/client@v3/dist/waline.js"';
import katex from 'https://unpkg.com/katex@0.16/dist/katex.mjs';
init({
el: '#waline',
serverURL: 'https://waline.vercel.app',
path: '/',
lang: 'en-US',
texRenderer: (blockMode, tex) =>
katex.renderToString(tex, {
displayMode: blockMode,
throwOnError: false,
}),
});
</script>
</body>
</html>Un cas avec MathJax
Pour les options de MathJax, consultez l'API MathJax.
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Waline highlighter case</title>
<link rel="stylesheet" href="https://unpkg.com/@waline/client@v3/dist/waline.css" />
<script src="https://unpkg.com/mathjax@v3/es5/tex-svg.js"></script>
</head>
<body>
<div id="waline" style="max-width: 800px; margin: 0 auto"></div>
<script type="module">
import { init } from '"https://unpkg.com/@waline/client@v3/dist/waline.js"';
init({
el: '#waline',
serverURL: 'https://waline.vercel.app',
path: '/',
lang: 'en-US',
texRenderer: (blockMode, tex) =>
window.MathJax.startup.adaptor.outerHTML(
window.MathJax.tex2svg(tex, {
display: blockMode,
}),
),
});
</script>
</body>
</html>TIPS: La zone de commentaire est uniquement à des fins de démonstration. Si vous avez des questions, veuillez vous rendre sur Github Discussion pour poser vos questions.
