UNPKG

nuxt-schema-org

Version:

The quickest and easiest way to build Schema.org graphs for Nuxt.

29 lines (28 loc) 915 B
import { useSiteConfig } from "#site-config/app/composables/useSiteConfig"; import { defineWebPage, defineWebSite } from "@unhead/schema-org/vue"; import { defineNuxtPlugin, useError } from "nuxt/app"; import { toValue } from "vue"; import { useSchemaOrg } from "../composables/useSchemaOrg.js"; import { maybeAddIdentitySchemaOrg } from "../utils/shared.js"; export default defineNuxtPlugin({ name: "nuxt-schema-org:defaults", dependsOn: [ "nuxt-schema-org:init" ], setup() { const error = useError(); if (error.value?.error) { return; } const siteConfig = useSiteConfig(); useSchemaOrg([ defineWebSite({ name: () => toValue(siteConfig.name) || "", inLanguage: () => toValue(siteConfig.currentLocale) || "", description: () => toValue(siteConfig.description) || "" }), defineWebPage() ]); maybeAddIdentitySchemaOrg(); } });