UNPKG

nuxt-schema-org

Version:

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

32 lines (31 loc) 815 B
import { useHead } from "#imports"; import { useNuxtApp } from "nuxt/app"; import { computed, isRef } from "vue"; import { useSchemaOrgConfig } from "../utils/config.js"; export function useSchemaOrg(input) { const config = useSchemaOrgConfig(); const nuxtApp = useNuxtApp(); const nodes = isRef(input) ? computed(() => nuxtApp.runWithContext(() => input.value)) : input; const script = { type: "application/ld+json", key: "schema-org-graph", // @ts-expect-error untyped nodes, tagPriority: "high", ...config.scriptAttributes }; if (import.meta.dev) { return useHead({ script: [script] }); } if (import.meta.server) { return useHead({ script: [script] }); } else if (config?.reactive) { return useHead({ script: [script] }); } }