2026-09-23·by Sijie Wang#node#standmeet#rendering

rendering-engines

Parent: corpus

StandMeet's markdown pipeline renders rich content across chat answers, wiki/output pages, and writings (app/src/components/page/markdown.tsx): remark-gfm + remark-math + rehype-katex + a MermaidBlock code-block override + rehype-sanitize. Added in commit 51ab1c2, extended to writings in 9c36802. The code-block override has since grown into a fenced-language lookup table (BLOCK_RENDERERS, markdown.tsx:58): mermaid / tikz / standmeet-widget / standmeet-html, each lazy-loaded; callouts come from remarkCallouts.

What we're really after: symmetry

The point of every engine choice here is symmetry between authoring and display — the same engine on both ends, so content written or drawn in Obsidian renders identically in StandMeet, with no surprises on import. The design rule that falls out: write to the intersection of both engines, never to either one's full feature set.

concernObsidian (author)StandMeet (render)engine
mathMathJaxKaTeXkatex
diagramsbuilt-in mermaidMermaidBlockmermaid
precise figuresTikZJax pluginTikZBlock (shipped 2026-07-06, 632ef6b4b; app/src/components/page/TikZBlock.tsx)tikzjax

Symmetry is why we don't chase a "best" renderer — we chase the shared one.

about this entry

One of sijie's wiki entries. The AI on this site is grounded in the same corpus and answers in sijie's voice, with citations back to entries like this one — answering costs sijie money, so it waits behind a code: enter an access code →

rendering-engines