summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util/processOrg.tsx75
1 files changed, 42 insertions, 33 deletions
diff --git a/util/processOrg.tsx b/util/processOrg.tsx
index 26d9377..ef75acf 100644
--- a/util/processOrg.tsx
+++ b/util/processOrg.tsx
@@ -119,41 +119,50 @@ export const ProcessedOrg = (props: ProcessedOrgProps) => {
const processor = useMemo(
() =>
- baseProcessor.use(katex).use(rehype2react, {
- createElement: React.createElement,
- // eslint-disable-next-line react/display-name
- components: {
- a: ({ children, href }) => {
- return (
- <PreviewLink
- nodeByCite={nodeByCite}
- setSidebarHighlightedNode={setSidebarHighlightedNode}
- href={`${href as string}`}
- nodeById={nodeById}
- linksByNodeId={linksByNodeId}
- setPreviewNode={setPreviewNode}
- openContextMenu={openContextMenu}
- outline={outline}
- previewNode={previewNode}
- isWiki={isMarkdown}
- >
- {children}
- </PreviewLink>
- )
- },
- img: ({ src }) => {
- return <OrgImage src={src as string} file={previewNode?.file} />
+ baseProcessor
+ .use(katex, {
+ trust: (context) => ['\\htmlId', '\\href'].includes(context.command),
+ macros: {
+ '\\eqref': '\\href{###1}{(\\text{#1})}',
+ '\\ref': '\\href{###1}{\\text{#1}}',
+ '\\label': '\\htmlId{#1}{}',
},
- section: ({ children, className }) => (
- <Section {...{ outline, collapse }} className={className as string}>
- {children}
- </Section>
- ),
- p: ({ children }) => {
- return <p lang="en">{children as ReactNode}</p>
+ })
+ .use(rehype2react, {
+ createElement: React.createElement,
+ // eslint-disable-next-line react/display-name
+ components: {
+ a: ({ children, href }) => {
+ return (
+ <PreviewLink
+ nodeByCite={nodeByCite}
+ setSidebarHighlightedNode={setSidebarHighlightedNode}
+ href={`${href as string}`}
+ nodeById={nodeById}
+ linksByNodeId={linksByNodeId}
+ setPreviewNode={setPreviewNode}
+ openContextMenu={openContextMenu}
+ outline={outline}
+ previewNode={previewNode}
+ isWiki={isMarkdown}
+ >
+ {children}
+ </PreviewLink>
+ )
+ },
+ img: ({ src }) => {
+ return <OrgImage src={src as string} file={previewNode?.file} />
+ },
+ section: ({ children, className }) => (
+ <Section {...{ outline, collapse }} className={className as string}>
+ {children}
+ </Section>
+ ),
+ p: ({ children }) => {
+ return <p lang="en">{children as ReactNode}</p>
+ },
},
- },
- }),
+ }),
[previewNode?.id],
)