diff --git a/.gitignore b/.gitignore index 311a10f5f..d3412d6f7 100644 --- a/.gitignore +++ b/.gitignore @@ -66,6 +66,7 @@ docs/.vitepress/data/categoriesData.json docs/.vitepress/data/iconDetails docs/.vitepress/data/relatedIcons.json docs/.vitepress/data/brandStopwords.json +docs/.vitepress/data/sponsorsData.json docs/.vitepress/data/iconPopularity docs/.vitepress/data/lab/iconNodes docs/.vitepress/data/lab/iconMetaData.ts diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 251223308..fd61f358e 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -88,6 +88,7 @@ export default defineConfig({ 'index.md', 'packages.md', 'showcase.md', + 'sponsor.md', 'brand-logo-statement.md', 'icons/**', // Not working, need investigation ], @@ -117,6 +118,7 @@ export default defineConfig({ }, { text: 'Packages', link: '/packages' }, { text: 'Showcase', link: '/showcase' }, + { text: 'Sponsor', link: '/sponsor' }, { text: 'Merch', link: 'https://merch.lucide.dev/' }, ], sidebar, diff --git a/docs/.vitepress/getStructuredData.ts b/docs/.vitepress/getStructuredData.ts index 7fde3ff12..d66373378 100644 --- a/docs/.vitepress/getStructuredData.ts +++ b/docs/.vitepress/getStructuredData.ts @@ -79,3 +79,23 @@ export default async function getStructuredData(iconName: string, pageData: Page }, }; } + +export interface FaqEntry { + question: string; + answer: string; +} + +export function getFaqStructuredData(faq: FaqEntry[]) { + return { + '@context': 'https://schema.org', + '@type': 'FAQPage', + mainEntity: faq.map(({ question, answer }) => ({ + '@type': 'Question', + name: question, + acceptedAnswer: { + '@type': 'Answer', + text: answer, + }, + })), + }; +} diff --git a/docs/.vitepress/theme/components/base/Faq.vue b/docs/.vitepress/theme/components/base/Faq.vue new file mode 100644 index 000000000..8d8ec9682 --- /dev/null +++ b/docs/.vitepress/theme/components/base/Faq.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/docs/.vitepress/theme/components/base/FaqItem.vue b/docs/.vitepress/theme/components/base/FaqItem.vue new file mode 100644 index 000000000..8ebed3fb4 --- /dev/null +++ b/docs/.vitepress/theme/components/base/FaqItem.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/docs/.vitepress/theme/components/home/HomeSponsorCard.vue b/docs/.vitepress/theme/components/home/HomeSponsorCard.vue index 9a680b411..c358552a9 100644 --- a/docs/.vitepress/theme/components/home/HomeSponsorCard.vue +++ b/docs/.vitepress/theme/components/home/HomeSponsorCard.vue @@ -22,7 +22,7 @@ import VPButton from 'vitepress/dist/client/theme-default/components/VPButton.vu height="42" />