aboutsummaryrefslogtreecommitdiff
path: root/src/lib/types.ts
blob: bce6b3669d036cecff53a8ed99c3fa75231f7f97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { GetStaticPathsResult } from 'next';

/* Collection of methods to fetch data & metadata from CDN */
export interface Adapter {
  getStaticMarkdownPaths: (cdn: string) => Promise<GetStaticPathsResult['paths']>;
  getMarkdownSource: (cdn: string, path: string[]) => Promise<string>;
  getEmojiFileNames: (cdn: string, emojiRootPath: string) => Promise<string[]>;
}

export interface BenzinConfig {
  CDN: string;
  adapter: Adapter;
  title: string;

  paths: {
    favicon: string;
    logo: string;
    emojiRoot: string;
    css: string;
  }

  hooks: {
    preRender: (path: string[], data: string, adapter: Adapter, cdn: string) => Promise<string>;
  }
}