-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vdots hline array{c|c} (vertical lines) do not render #5424
Comments
One of the issues is caused by <mi><mi mathvariant="normal">⋮</mi><mpadded height="0em" voffset="0em"><mspace mathbackground="black" width="0em" height="1.5em"></mspace></mpadded></mi> is reduced to just <mi></mi> So the vdots disappear. Related cure53/DOMPurify#847 I have not yet looked into the vertical and horizontal lines yet. |
cure53/DOMPurify#673 SolutionMy suggestion would be to use mermaid/packages/mermaid/src/diagrams/common/common.ts Lines 356 to 361 in 8e95c4d
would become, katex
.renderToString(c, {
throwOnError: true,
displayMode: true,
output: !config.legacyMathML ? 'mathml' : 'htmlAndMathml',
}) After doing so, the rendering issues are fixed (after also including the KaTeX css as well) Below picture is my testing on Chrome. The drawback of this would be if the user instead wanted fallback to Or maybe that's not necessary either, since if they wish to support legacy, they will include the css, and at that point its just better to use the legacy to maintain a consistent output on all the platforms. Alternative (partial) solutionI tried to add a DOMPurify.addHook('uponSanitizeElement', (node: Element) => {
if (node.localName === 'mi' && node.childElementCount > 0) {
const parent = node.parentElement;
if (!parent) {
return;
}
node.childNodes.forEach((child) => {
parent.insertBefore(child, node);
});
parent.removeChild(node);
}
}); The dots are very obviously different and there is some weird spacing issues only on Chrome. This, however, does not address the issue of the invisible lines. Let me know if you'd like me to make a PR. |
Description
the \vdots \hline \array{c|c} from KaTeX does not render in mermaid.
Steps to reproduce
Screenshots
Code Sample
Setup
Suggested Solutions
No response
Additional Context
Output is different on Firefox. The vertical and horizontal lines show but the vdots is still missing
The text was updated successfully, but these errors were encountered: