You've already forked obsidian-visualiser
Fix tags, some parts of the markdown hydration, change how icon works
This commit is contained in:
@@ -5,15 +5,15 @@
|
||||
<PreviewContent :project="project" :path="data[0].path" :anchor="hash">
|
||||
<div class="inline-flex items-center">
|
||||
<slot v-bind="$attrs"></slot>
|
||||
<ThemeIcon class="w-4 h-4 inline-block" v-if="data && data[0] && data[0].type !== 'Markdown'" :height="20" :width="20"
|
||||
:icon="`link-${data[0].type.toLowerCase()}`" />
|
||||
<Icon class="w-4 h-4 inline-block" v-if="data && data[0] && data[0].type !== 'Markdown'" :height="20" :width="20"
|
||||
:icon="`icons/link-${data[0].type.toLowerCase()}`" />
|
||||
</div>
|
||||
</PreviewContent>
|
||||
</NuxtLink>
|
||||
<NuxtLink no-prefetch v-else-if="href" :to="href" :class="class" class="text-accent-blue inline-flex items-center">
|
||||
<slot v-bind="$attrs"></slot>
|
||||
<ThemeIcon class="w-4 h-4 inline-block" v-if="data && data[0] && data[0].type !== 'Markdown'" :height="20" :width="20"
|
||||
:icon="`link-${data[0].type.toLowerCase()}`" />
|
||||
<Icon class="w-4 h-4 inline-block" v-if="data && data[0] && data[0].type !== 'Markdown'" :height="20" :width="20"
|
||||
:icon="`icons/link-${data[0].type.toLowerCase()}`" />
|
||||
</NuxtLink>
|
||||
<slot :class="class" v-else v-bind="$attrs"></slot>
|
||||
</Suspense>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<HoverPopup @before-show="status === 'idle' && project && tag && execute()">
|
||||
<HoverPopup class="mw-[400px]">
|
||||
<template #content>
|
||||
<Suspense>
|
||||
<div v-if="status === 'pending'" class="loading w-[550px] h-[450px]"></div>
|
||||
<div v-if="status === 'pending'" class="loading w-[400px] h-[150px]"></div>
|
||||
<template v-else-if="!!data">
|
||||
<div v-if="data.description" class="p-6 ms-6">
|
||||
<ProseH2>{{ data.tag }}</ProseH2>
|
||||
<Markdown v-model="data.description"></Markdown>
|
||||
<div v-if="data.description" class="pb-4 pt-3 px-8">
|
||||
<span class="text-2xl font-semibold">#{{ data.tag }}</span>
|
||||
<Markdown :content="data.description"></Markdown>
|
||||
</div>
|
||||
<div class="h-100 w-100 flex flex-1 flex-col justify-center items-center" v-else>
|
||||
<div class="text-3xl font-extralight tracking-wide text-light-60 dark:text-dark-60">Fichier vide</div>
|
||||
@@ -19,7 +19,7 @@
|
||||
</div>
|
||||
</Suspense>
|
||||
</template>
|
||||
<template>
|
||||
<template #default>
|
||||
<span class="before:content-['#'] cursor-default bg-accent-blue bg-opacity-10 hover:bg-opacity-20 text-accent-blue text-sm px-1 ms-1 pb-0.5 rounded-full rounded-se-none border border-accent-blue border-opacity-30">
|
||||
<slot></slot>
|
||||
</span>
|
||||
@@ -33,12 +33,9 @@ const { tag } = defineProps({
|
||||
type: String,
|
||||
required: true,
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
const route = useRoute();
|
||||
const project = computed(() => parseInt(Array.isArray(route.params.projectId) ? '0' : route.params.projectId));
|
||||
const { data, status, execute } = useFetch(`/api/project/${project.value}/tags/${tag}`, {
|
||||
immediate: false,
|
||||
key: `file:${project.value}:%${tag}`,
|
||||
});
|
||||
const { data, status } = useLazyFetch(`/api/project/${project.value}/tags/${tag}`);
|
||||
</script>
|
||||
Reference in New Issue
Block a user