Newer
Older
<script setup lang="ts">
import showdown from "showdown";
import DOMPurify from "dompurify";
import { computed } from "vue";
const props = defineProps<{
markdown: string;
}>();
const converter = new showdown.Converter({
tables: true,
ghCodeBLocks: false,
});
converter.setFlavor("github");
const outputHtml = computed(() => {
const dirtyHTML = converter.makeHtml(props.markdown);
return DOMPurify.sanitize(dirtyHTML);
});
</script>
<template>
<div v-html="outputHtml"></div>
</template>