diff --git a/src/components/input/editor.vue b/src/components/input/editor.vue
index b3ad026c6..fde440b8e 100644
--- a/src/components/input/editor.vue
+++ b/src/components/input/editor.vue
@@ -222,7 +222,7 @@ export default defineComponent({
return checkboxes[n]
},
renderPreview() {
- setupMarkdownRenderer()
+ setupMarkdownRenderer(this.checkboxId)
this.preview = DOMPurify.sanitize(marked(this.text), {ADD_ATTR: ['target']})
diff --git a/src/helpers/markdownRenderer.ts b/src/helpers/markdownRenderer.ts
index eaf461105..4737b6659 100644
--- a/src/helpers/markdownRenderer.ts
+++ b/src/helpers/markdownRenderer.ts
@@ -1,7 +1,7 @@
import {marked} from 'marked'
import hljs from 'highlight.js/lib/common'
-export function setupMarkdownRenderer() {
+export function setupMarkdownRenderer(checkboxId: string) {
const renderer = new marked.Renderer()
const linkRenderer = renderer.link
@@ -26,7 +26,7 @@ export function setupMarkdownRenderer() {
}
checkboxNum++
- return ``
+ return ``
},
link: (href, title, text) => {
const isLocal = href.startsWith(`${location.protocol}//${location.hostname}`)
diff --git a/src/views/list/ListInfo.vue b/src/views/list/ListInfo.vue
index 33d4164e6..bd6c9a16d 100644
--- a/src/views/list/ListInfo.vue
+++ b/src/views/list/ListInfo.vue
@@ -19,6 +19,7 @@ import {useStore} from '@/store'
import {setupMarkdownRenderer} from '@/helpers/markdownRenderer'
import {marked} from 'marked'
import DOMPurify from 'dompurify'
+import {createRandomID} from '@/helpers/randomId'
const props = defineProps({
listId: {
@@ -37,7 +38,7 @@ const htmlDescription = computed(() => {
return ''
}
- setupMarkdownRenderer()
+ setupMarkdownRenderer(createRandomID())
return DOMPurify.sanitize(marked(description), {ADD_ATTR: ['target']})
})