diff --git a/components/content/ContentCode.vue b/components/content/ContentCode.vue
index 4ffc9bc7..7b034b3c 100644
--- a/components/content/ContentCode.vue
+++ b/components/content/ContentCode.vue
@@ -1,7 +1,7 @@
diff --git a/composables/content.ts b/composables/content.ts
index 4e3e87c0..54c71f51 100644
--- a/composables/content.ts
+++ b/composables/content.ts
@@ -38,7 +38,7 @@ function handleCodeBlock(el: Element) {
const codeEl = el.childNodes[0] as Element
const classes = codeEl.attrs.find(i => i.name === 'class')?.value
const lang = classes?.split(/\s/g).find(i => i.startsWith('language-'))?.replace('language-', '')
- const code = treeToText(codeEl.childNodes[0])
+ const code = codeEl.childNodes[0] ? treeToText(codeEl.childNodes[0]) : ''
return h(ContentCode, { lang, code: encodeURIComponent(code) })
}
}
@@ -61,11 +61,10 @@ export function parseMastodonHTML(html: string, customEmojis: Record
${code.join('\n')}
`
+ return `>${code}
`
})
const tree = parseFragment(processed)
diff --git a/tests/__snapshots__/content-rich.test.ts.snap b/tests/__snapshots__/content-rich.test.ts.snap
index fafa68b8..6e129390 100644
--- a/tests/__snapshots__/content-rich.test.ts.snap
+++ b/tests/__snapshots__/content-rich.test.ts.snap
@@ -25,6 +25,22 @@ exports[`content-rich > code frame 2 1`] = `
"
`;
+exports[`content-rich > code frame empty 1`] = `
+"
+
+hello world+
@antfu Testing
```ts
const a = hello
```
```
hello world
```
no lang
```
```