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
|
import type { configConst } from 'config';
export type LogoType = (typeof configConst.logos)[number];
export interface ProjectDownload {
url: string,
platform?: "windows" | "mac" | "linux" | "universal",
architecture?: "x86" | "x64" | "arm" | "arm64" | "universal",
}
export interface Project {
name: string
description: string,
logo?: LogoType
tag?: string
downloads?: ProjectDownload[]
descriptionLong?: string,
hasPage?: boolean,
}
export interface NavbarDropdown {
name: string
description: string
path?: string
logo?: LogoType
tag?: string,
}
export interface NavbarElement {
text?: string
logo?: [string, number]
path?: string
alt?: string
dropdown?: NavbarDropdown[]
}
export interface FooterColumn {
header: string
links: {
text: string,
url: string,
}[]
}
export interface Config {
projects: Project[],
logos: string[],
socials: {
youtube: string,
// twitter: string,
discord: string,
github: string,
modrinth: {
type: "user" | "organization",
id: string,
},
skyclient: string,
},
navbar: {
left: NavbarElement[],
right: NavbarElement[],
},
footer: FooterColumn[],
}
|