UNPKG

vue-hooks-plus

Version:
33 lines (32 loc) 819 B
import { marked } from "marked"; import { ref, computed, unref, watchEffect, createApp } from "vue"; function usePreview(md) { const container = ref(); const mdCompute = computed(() => unref(md)); watchEffect((onInvalidate) => { if (mdCompute.value && container.value) { try { if (typeof mdCompute.value === "string") { const html = marked.parse(mdCompute.value); if (html) container.value.innerHTML = html; } else { const app = createApp(mdCompute.value); app.mount(container.value); } } catch (error) { console.log(error); } } onInvalidate(() => { if (container.value) container.value.innerHTML = ""; }); }); return { container }; } export { usePreview as default };