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
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
e00eff Tucker McKnight
b8a3bb Tucker McKnight
237651 Tucker McKnight
237651 Tucker McKnight
b8a3bb Tucker McKnight
237651 Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
e00eff Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
237651 Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
237651 Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
e00eff Tucker McKnight
e00eff Tucker McKnight
e00eff Tucker McKnight
e00eff Tucker McKnight
e00eff Tucker McKnight
e00eff Tucker McKnight
e00eff Tucker McKnight
b8a3bb Tucker McKnight
e00eff Tucker McKnight
e00eff Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
b8a3bb Tucker McKnight
005a06 Tucker McKnight
005a06 Tucker McKnight
005a06 Tucker McKnight
005a06 Tucker McKnight
005a06 Tucker McKnight
005a06 Tucker McKnight
b8a3bb Tucker McKnight
/**
* The ReposConfiguration object contains information about your local repositories,
* like their name and location on your local filesystem. Add repositories to this
* configuration object to make a static site for them.
*
* You will also need to set the {@link ReposConfiguration.baseUrl} to the URL of your
* live website.
* @example
* const config: ReposConfiguration = {
* baseUrl: "https://repos.tuckerm.us",
* repos: {
* "My Git Project": {
* _type: "git",
* defaultBranch: 'main',
* branches: ['main', 'develop']
* },
* },
* }
*/
export type ReposConfiguration = {
repos: {
/** An object containing the configuration for your repositories.
* Each key in this object is a repository name, and the value has several
* config options for that repository. The required config options describe
* the path to the repository and which branches should be pulled. See the specific
* definition of {@link GitConfig} for more details
* about what goes in these configuration objects.
*/
[repoName: string]: GitConfig
},
/**
* The root URL where this website will be. E.g.: https://blog.example.com/repos.
* This URL will be used when a clone or pull command is being shown on your site.
* @example baseUrl: "https://repos.tuckerm.us"
*/
baseUrl: string,
/**
* The path to put the generated site in. All generated files will be put in this
* directory, repos for cloning will be put in this directory, and it will be
* added to the end of all URLs used by the default virtual template.
* @example path: "/repos"
*/
path?: string,
}
export type GitConfig = {
_type: "git",
/* The absolute path to the repository.
* @example location: "/home/alice/projects/git_repo"
*/
location: string,
description?: string,
defaultBranch: string,
branchesToPull: Array<string>,
languageExtensions?: {
[fileExtension: string]: string
},
artifactSteps?: {
command: string,
copyFrom: string,
copyTo: string,
}[]
}