87 lines
1.6 KiB
TypeScript
87 lines
1.6 KiB
TypeScript
export interface SiteConfig {
|
|
author: string;
|
|
date: {
|
|
locale: string | string[] | undefined;
|
|
options: Intl.DateTimeFormatOptions;
|
|
};
|
|
description: string;
|
|
lang: string;
|
|
ogLocale: string;
|
|
sortPostsByUpdatedDate: boolean;
|
|
title: string;
|
|
webmentions?: {
|
|
link: string;
|
|
pingback?: 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";
|