add: extract plain faq

Add Schema Org for FAQ
This commit is contained in:
webfussel 2025-06-11 08:54:32 +02:00
parent bb77bb6a5b
commit a86b89dc98
5 changed files with 40 additions and 12 deletions

View file

@ -129,5 +129,21 @@ const oneOff : Service[] = [
},
]
const faq = await queryCollection('faq').path('/snippets/faq/booking').first()
const { data: faq } = await useAsyncData('faq', () => queryCollection('faq').path('/snippets/faq/booking').first())
const texts = usePlainFaq(faq.value?.body.value)
if (faq) {
useSchemaOrg({
'@context': 'https://schema.org',
'@type': 'FAQPage',
'mainEntity': texts.map(entity => ({
'@type': 'Question',
'name': entity.question,
'acceptedAnswer': {
'@type': 'Answer',
'text': entity.answer,
},
}))
})
}
</script>

View file

@ -10,9 +10,10 @@
<script setup lang="ts">
type Props = {
title: string
answer ?: string
}
defineProps<Props>()
const { title, answer = '' } = defineProps<Props>()
const open = ref(false)
const toggle = (event : MouseEvent) => {