gpreview
Version:
Preview Ghost themes locally without a full Ghost installation
126 lines • 2.8 kB
TypeScript
export interface Post {
id: string;
uuid: string;
title: string;
slug: string;
html: string;
comment_id: string;
feature_image?: string;
featured: boolean;
visibility: string;
created_at: string;
updated_at: string;
published_at: string;
custom_excerpt?: string;
codeinjection_head?: string;
codeinjection_foot?: string;
custom_template?: string;
canonical_url?: string;
tags: Tag[];
authors: Author[];
primary_author: Author;
primary_tag?: Tag;
url: string;
excerpt: string;
reading_time?: number;
og_image?: string;
og_title?: string;
og_description?: string;
twitter_image?: string;
twitter_title?: string;
twitter_description?: string;
meta_title?: string;
meta_description?: string;
}
export interface Page extends Post {
page: true;
}
export interface Author {
id: string;
name: string;
slug: string;
profile_image?: string;
cover_image?: string;
bio?: string;
website?: string;
location?: string;
facebook?: string;
twitter?: string;
meta_title?: string;
meta_description?: string;
url: string;
}
export interface Tag {
id: string;
name: string;
slug: string;
description?: string;
feature_image?: string;
visibility: string;
meta_title?: string;
meta_description?: string;
og_image?: string;
og_title?: string;
og_description?: string;
twitter_image?: string;
twitter_title?: string;
twitter_description?: string;
codeinjection_head?: string;
codeinjection_foot?: string;
canonical_url?: string;
accent_color?: string;
url: string;
}
export interface Navigation {
label: string;
url: string;
current?: boolean;
}
export interface Site {
title: string;
description: string;
logo?: string;
icon?: string;
accent_color?: string;
url: string;
timezone: string;
navigation: Navigation[];
secondary_navigation?: Navigation[];
facebook?: string;
twitter?: string;
lang: string;
locale: string;
}
export interface ThemeOptions {
themePath: string;
port?: number;
dataPath?: string;
watch?: boolean;
}
export interface TemplateData {
site: Site;
posts?: Post[];
post?: Post;
page?: Page;
pages?: Page[];
tag?: Tag;
tags?: Tag[];
author?: Author;
authors?: Author[];
pagination?: {
page: number;
limit: number;
pages: number;
total: number;
next?: number;
prev?: number;
};
postFeedStyle?: string;
'@site'?: Site;
'@post'?: Post;
'@page'?: Page;
'@tag'?: Tag;
'@author'?: Author;
[key: string]: unknown;
}
//# sourceMappingURL=index.d.ts.map