-
Notifications
You must be signed in to change notification settings - Fork 43
/
global-types.ts
executable file
·89 lines (76 loc) · 1.59 KB
/
global-types.ts
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
export type ServeConfig = {
key: string;
config: string;
};
export type BuildConfig = {
key: string;
config: string;
};
export type PublisherConfig<P> = {
type: string;
} & P;
export type SitePublishConfig<P> = {
config: PublisherConfig<P>;
key: string;
};
export type SiteSource<S> = {
type: string;
} & S;
export type RawSiteConfig = {
key: string;
name: string;
source: SiteSource<any>;
// transform: Array<SiteTransformConfig<*>>,
publish: Array<SitePublishConfig<any>>;
};
export type SiteConfig = RawSiteConfig & {
configPath: string;
canCreateWorkspaces: boolean;
canSync: boolean;
};
export type WorkspaceConfigRaw = {
hugover: string;
serve: Array<ServeConfig>;
build: Array<BuildConfig>;
singles: Array<SingleConfig>;
collections: Array<CollectionConfig>;
};
export type WorkspaceConfig = WorkspaceConfigRaw & {
key: string;
path: string;
};
export type WorkspaceHeader = {
key: string;
path: string;
state: "mounted" | "unmounted";
};
export type SingleConfig = {
key: string;
title: string;
file: string;
dataformat: string;
fields: Array<any>;
};
export type CollectionConfig = {
key: string;
title: string;
itemtitle: string;
fields: Array<any>;
folder: string;
extension: string;
dataformat: string;
};
export type EmptyConfigurations = {
type: "EmptyConfigurations";
empty: true;
fileSearchPatterns: Array<string>;
};
export type Configurations = {
type: "Configurations";
sites: Array<SiteConfig>;
global: {
siteManagementEnabled: boolean;
debugEnabled: boolean;
cookbookEnabled: boolean;
};
};