pelican-jdr/src/components/MarkdownFile.vue

29 lines
589 B
Vue
Raw Normal View History

<script setup lang="ts">
import { ref, onMounted } from "vue";
import { marked } from "marked";
import axios from "axios";
const props = defineProps<{
path: string;
}>();
const htmlContent = ref("");
onMounted(() => {
axios
.get(`${props.path}.md`)
.then((response) => (htmlContent.value = marked.parse(response.data)))
.catch(
() =>
(htmlContent.value = marked.parse(
"# 404 Not Found \n \n La page recherchée n'a pas pu être trouvée"
))
);
});
</script>
<template>
<div v-html="htmlContent"></div>
<slot></slot>
</template>