UNPKG

sveltekit-notion-blog

Version:

A plug and play library for setting up blogs in subdirectory or main directory in Sveltekit projects using Notion as CMS.

85 lines (84 loc) 2.13 kB
import type { ServerLoadEvent } from "@sveltejs/kit"; import BlogPost from "./components/BlogPost.svelte"; import PostsList from "./components/PostsList.svelte"; type Tokens = { notionToken: string; databaseId: string; vercelByPassToken?: string; }; type BlogSettings = { blogTitle?: string; blogDescription?: string; }; type BlogSEO = { siteUrl: string; siteName: string; siteSlogan?: string; twitterHandle?: string; logo: string; ogImage: string; }; type InitConfig = { tokens: Tokens; settings: BlogSettings; seo: BlogSEO; }; export type BlogClient = { config: Tokens; settings: BlogSettings; seo: BlogSEO; }; export declare const initNotionBlog: (config: InitConfig) => BlogClient | null; export declare const getAllPosts: () => Promise<{ error: { code: number; message: string; }; pages?: undefined; settings?: undefined; seo?: undefined; } | { pages: import("./types").PageObjectResponse[]; settings: BlogSettings; seo: BlogSEO; error?: undefined; } | undefined>; export declare const getBlogPageBySlug: (event: ServerLoadEvent) => Promise<{ error: { code: number; message: string; }; blocks?: undefined; title?: undefined; description?: undefined; cover?: undefined; slug?: undefined; published?: undefined; author?: undefined; faqs?: undefined; settings?: undefined; seo?: undefined; } | { blocks: import("./notion/api").CustomBlockObjectResponse[]; title: string | undefined; description: string | undefined; cover: string | undefined; slug: string; published: string | undefined; author: import("./types").PersonUserObjectResponse | undefined; faqs: import("./types").FAQ[] | null; settings: BlogSettings; seo: BlogSEO; error?: undefined; } | undefined>; export declare const getAllBlogSlugs: () => Promise<{ error: { code: number; message: string; }; slugs?: undefined; } | { slugs: string[]; error?: undefined; } | undefined>; export { BlogPost, PostsList };