29 lines
589 B
Vue
29 lines
589 B
Vue
|
<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>
|