UNPKG

svelte-seo

Version:

Optimize your Svelte app for search engines and social media with meta tags, Open Graph, and JSON-LD.

133 lines (123 loc) 2.84 kB
import { Thing, WithContext } from "schema-dts"; import type { Snippet } from "svelte"; export interface SvelteSeo { title?: string; description?: string; base?: string; keywords?: string; applicationName?: string; themeColor?: string; nofollow?: boolean; noindex?: boolean; nositelinkssearchbox: boolean; notranslate: boolean; canonical?: string; amp?: string; manifest?: string; languageAlternates?: Array<{ hreflang: string; href: string }>; twitter?: Twitter; facebook?: Facebook; openGraph?: OpenGraph; jsonLd?: Thing | WithContext<Thing>; children?: Snippet<[]>; } declare interface Facebook { appId: string; } declare interface Twitter { title?: string; description?: string; image?: string; imageAlt?: string; card?: "summary" | "summary_large_image" | "player" | "app"; site?: string; creator?: string; player?: string; playerWidth?: string; playerHeight?: string; playerStream?: string; appNameIphone?: string; appIdIphone?: string; appUrlIphone?: string; appNameIpad?: string; appIdIpad?: string; appNameGoogleplay?: string; appIdGoogleplay?: string; appUrlGoogleplay?: string; } declare interface OpenGraph { title?: string; type?: string; url?: string; audio?: string; audioSecure_url?: string; audioType?: string; description?: string; determiner?: string; locale?: string; localeAlternate?: string[]; site_name?: string; videos?: Array<{ url: string; secure_url?: string; type?: string; alt?: string; width?: number | string; height?: number | string; }>; images?: Array<{ url?: string; secure_url?: string; type?: string; alt?: string; width?: number | string; height?: number | string; }>; music?: OpenGraphMusic; movie?: OpenGraphVideo; article?: OpenGraphArticle; book?: OpenGraphBook; profile?: OpenGraphProfile; } declare interface OpenGraphMusic { duration?: number | string; album?: string; albumDisc?: number; albumTrack?: number; musician?: string; creator?: string; song?: string; songDisc?: number | string; songTrack?: number | string; release_date?: string; } declare interface OpenGraphVideo { actor?: string[]; actorRole?: string; director?: string[]; writer?: string[]; duration?: number | string; release_date?: string; tag?: string[]; series?: string; } declare interface OpenGraphArticle { published_time?: string; modified_time?: string; expiration_time?: string; author?: string[]; section?: string; tag?: string[]; } declare interface OpenGraphBook { author?: string[]; isbn?: string | number; release_date?: string; tag?: string[]; } declare interface OpenGraphProfile { first_name?: string; last_name?: string; username?: string; gender?: "male" | "female"; }