summaryrefslogtreecommitdiff
path: root/src/types.ts
diff options
context:
space:
mode:
authorDawid Rycerz <dawid@rycerz.xyz>2025-07-03 10:56:21 +0300
committerDawid Rycerz <dawid@rycerz.xyz>2025-07-03 10:56:21 +0300
commit456cf011b36de91c9936994b1fa45703adcd309b (patch)
tree8e60daf998f731ac50d100fa490eaecae1168042 /src/types.ts
Initial fork of chrismwilliams/astro-theme-cactus theme
Diffstat (limited to 'src/types.ts')
-rw-r--r--src/types.ts83
1 files changed, 83 insertions, 0 deletions
diff --git a/src/types.ts b/src/types.ts
new file mode 100644
index 0000000..f2abc0f
--- /dev/null
+++ b/src/types.ts
@@ -0,0 +1,83 @@
+export interface SiteConfig {
+ author: string;
+ date: {
+ locale: string | string[] | undefined;
+ options: Intl.DateTimeFormatOptions;
+ };
+ description: string;
+ lang: string;
+ ogLocale: string;
+ title: string;
+ url: string;
+}
+
+export interface PaginationLink {
+ srLabel?: string;
+ text?: string;
+ url: string;
+}
+
+export interface SiteMeta {
+ articleDate?: string | undefined;
+ description?: string;
+ ogImage?: string | undefined;
+ title: string;
+}
+
+/** Webmentions */
+export interface WebmentionsFeed {
+ children: WebmentionsChildren[];
+ name: string;
+ type: string;
+}
+
+export interface WebmentionsCache {
+ children: WebmentionsChildren[];
+ lastFetched: null | string;
+}
+
+export interface WebmentionsChildren {
+ author: Author | null;
+ content?: Content | null;
+ "mention-of": string;
+ name?: null | string;
+ photo?: null | string[];
+ published?: null | string;
+ rels?: Rels | null;
+ summary?: Summary | null;
+ syndication?: null | string[];
+ type: string;
+ url: string;
+ "wm-id": number;
+ "wm-private": boolean;
+ "wm-property": string;
+ "wm-protocol": string;
+ "wm-received": string;
+ "wm-source": string;
+ "wm-target": string;
+}
+
+export interface Author {
+ name: string;
+ photo: string;
+ type: string;
+ url: string;
+}
+
+export interface Content {
+ "content-type": string;
+ html: string;
+ text: string;
+ value: string;
+}
+
+export interface Rels {
+ canonical: string;
+}
+
+export interface Summary {
+ "content-type": string;
+ value: string;
+}
+
+export type AdmonitionType = "tip" | "note" | "important" | "caution" | "warning";