Skip to content

Commit acc4e0d

Browse files
committed
test
1 parent 0a29bcb commit acc4e0d

2 files changed

Lines changed: 35 additions & 16 deletions

File tree

src/components/Markdown.tsx

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -396,28 +396,41 @@ export function Markdown({
396396
}: MarkdownProps) {
397397
const { setHeadings } = useMarkdownHeadings()
398398

399-
React.useEffect(() => {
400-
if (headingsOverride) {
401-
setHeadings(headingsOverride)
402-
} else {
403-
const { headings } = renderMarkdown(htmlMarkup || rawContent || '')
404-
setHeadings(headings)
399+
const fallbackRender = React.useMemo(() => {
400+
if (!rawContent) {
401+
return null
405402
}
406-
}, [headingsOverride, htmlMarkup, rawContent, setHeadings])
403+
404+
return renderMarkdown(rawContent)
405+
}, [rawContent])
407406

408407
const markup = React.useMemo(() => {
409408
if (htmlMarkup) {
410409
return htmlMarkup
411410
}
412-
if (rawContent) {
413-
return renderMarkdown(rawContent).markup
411+
412+
return fallbackRender?.markup ?? ''
413+
}, [fallbackRender?.markup, htmlMarkup])
414+
415+
const headings = React.useMemo(() => {
416+
if (headingsOverride) {
417+
return headingsOverride
418+
}
419+
420+
return fallbackRender?.headings ?? []
421+
}, [fallbackRender?.headings, headingsOverride])
422+
423+
React.useEffect(() => {
424+
setHeadings(headings)
425+
}, [headings, setHeadings])
426+
427+
const parsed = React.useMemo(() => {
428+
if (!markup) {
429+
return null
414430
}
415-
return ''
416-
}, [htmlMarkup, rawContent])
417431

418-
if (!markup) {
419-
return null
420-
}
432+
return parse(markup, options)
433+
}, [markup])
421434

422-
return React.useMemo(() => parse(markup, options), [markup])
435+
return parsed
423436
}

src/routes/_libraries/blog.$.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,13 @@ ${content}`
171171
'styled-markdown-content',
172172
)}
173173
>
174-
<Markdown rawContent={blogContent} />
174+
<React.Suspense fallback={null}>
175+
<Markdown
176+
htmlMarkup={blogPost.html?.markup ?? ''}
177+
headingsOverride={blogPost.html?.headings}
178+
rawContent={blogContent}
179+
/>
180+
</React.Suspense>
175181
</div>
176182
<div className="h-12" />
177183
<div className="w-full h-px bg-gray-500 opacity-30" />

0 commit comments

Comments
 (0)