RustyCMS: File-based headless CMS with REST API, admin UI, multilingual support
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
91
@types/SeoProps.ts
Normal file
91
@types/SeoProps.ts
Normal file
@@ -0,0 +1,91 @@
|
||||
export type TwitterCardType =
|
||||
| "summary"
|
||||
| "summary_large_image"
|
||||
| "app"
|
||||
| "player";
|
||||
|
||||
// Link interface matching astro-seo's Link (which extends HTMLLinkElement)
|
||||
// href must be string (not URL) to match astro-seo's expectations
|
||||
export interface Link {
|
||||
rel?: string;
|
||||
href?: string; // Only string, not URL
|
||||
hreflang?: string;
|
||||
media?: string;
|
||||
type?: string;
|
||||
sizes?: string;
|
||||
prefetch?: boolean;
|
||||
crossorigin?: string;
|
||||
as?: string;
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
export interface Meta {
|
||||
property?: string;
|
||||
name?: string;
|
||||
content?: string;
|
||||
httpEquiv?: string;
|
||||
charset?: string;
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
export interface SeoProperties {
|
||||
title?: string;
|
||||
titleTemplate?: string;
|
||||
titleDefault?: string;
|
||||
charset?: string;
|
||||
description?: string;
|
||||
canonical?: URL | string;
|
||||
nofollow?: boolean;
|
||||
noindex?: boolean;
|
||||
languageAlternates?: {
|
||||
href: URL | string;
|
||||
hrefLang: string;
|
||||
}[];
|
||||
openGraph?: {
|
||||
basic: {
|
||||
title: string;
|
||||
type: string;
|
||||
image: string;
|
||||
url?: URL | string;
|
||||
};
|
||||
optional?: {
|
||||
audio?: string;
|
||||
description?: string;
|
||||
determiner?: string;
|
||||
locale?: string;
|
||||
localeAlternate?: string[];
|
||||
siteName?: string;
|
||||
video?: string;
|
||||
};
|
||||
image?: {
|
||||
url?: URL | string;
|
||||
secureUrl?: URL | string;
|
||||
type?: string;
|
||||
width?: number;
|
||||
height?: number;
|
||||
alt?: string;
|
||||
};
|
||||
article?: {
|
||||
publishedTime?: string;
|
||||
modifiedTime?: string;
|
||||
expirationTime?: string;
|
||||
authors?: string[];
|
||||
section?: string;
|
||||
tags?: string[];
|
||||
};
|
||||
};
|
||||
twitter?: {
|
||||
card?: TwitterCardType;
|
||||
site?: string;
|
||||
creator?: string;
|
||||
title?: string;
|
||||
description?: string;
|
||||
image?: URL | string;
|
||||
imageAlt?: string;
|
||||
};
|
||||
extend?: {
|
||||
link?: Partial<Link>[];
|
||||
meta?: Partial<Meta>[];
|
||||
};
|
||||
surpressWarnings?: boolean;
|
||||
}
|
||||
Reference in New Issue
Block a user