22 lines
568 B
Vue
22 lines
568 B
Vue
<template>
|
|
<h1
|
|
:id
|
|
class="scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl"
|
|
>
|
|
<NuxtLink
|
|
v-if="generate"
|
|
:to="`#${id}`"
|
|
>
|
|
<slot />
|
|
</NuxtLink>
|
|
<slot v-else />
|
|
</h1>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
const { id } = defineProps<{ id?: string }>()
|
|
|
|
const { headings } = useRuntimeConfig().public.mdc
|
|
const generate = computed(() => id && ((typeof headings?.anchorLinks === 'boolean' && headings?.anchorLinks === true) || (typeof headings?.anchorLinks === 'object' && headings?.anchorLinks?.h1)))
|
|
</script>
|