-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy pathconfig.json
executable file
·124 lines (124 loc) · 3.83 KB
/
config.json
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
//
// soundcite configuration
//
// All file/directory paths are relative to the project directory.
//
// Regular expressions must be specified in python regular expression format,
// but backslashes must be escaped for JSON. When used to match files,
// matching will take place against the the file/directory path relative to
// the project directory.
//
{
"name": "soundcite",
"author": "Tyler J. Fisher and Northwestern University Knight Lab",
//
// build
// These commands will be run the exact order in which they appear.
//
"build": {
//
// copy files
// input: list of objects specifying inputs and outputs
// @src: source file/directory
// @dst: destination file/directory
// @regex: regular expression to match files (if @src is directory)
//
"copy": [
{
"src": "soundcite",
"dst": "build"
}
],
//
// compile less files
// input: list of objects specifying inputs and output
// @src: source file/directory
// @dst: destination file/directory
// @regex: regular expression to match files (if @src is directory)
//
"lessc": [ ],
//
// process codekit style imports on files
// input: list of objects specifying inputs and output
// @src: source file
// @dst: destination file
//
"process": [ ],
//
// concatenate files
// input: list of objects specifying inputs and output
// @src: list of source files
// @dst: destination file
//
"concat": [ ],
//
// minify files using uglifyjs
// input list of objects specifying inputs and output
// @src: source file/directory
// @dst: destination file/directory
// @opt: options to pass to uglifyjs
// @ext: extension to prepend to destination file name (optional, default = none)
//
"minify": [
{
"src": "build/js/soundcite.js",
"dst": "build/js/soundcite.min.js"
}
],
//
// process usermin style build blocks on html files
// input: list of files/directorys to process in-place
//
"usemin": [ ],
//
// banner-ize files
// input: list of file/directory paths
//
"banner": [
{
"src": "build",
"regex": "(js|css)/.*\\.(js|css)$"
}
]
},
//
// stage
// copy files a versioned directory in local cdn repository
// input: list of objects specifying inputs and outputs
// @src: source file/directory
// @regex: regular expression to match files (if @src is directory)
"stage": [
{
"src": "build",
"regex": "(css|js|vendor)/.*"
}
],
//
// deploy the website to S3
// - render website/templates >> build/website
// - copy website/static >> build/website/static
// - run usemin on all html in build/website
// - sync build/website with bucket
"deploy": {
"stg": {
"bucket": "soundcite.knilab.com",
"usemin_context": {"cdn": "dev"},
"copy": [
{
"src": "website/media",
"dst": "build/website/media"
}
]
},
"prd": {
"bucket": "soundcite.knightlab.com",
"usemin_context": {"cdn": "latest"},
"copy": [
{
"src": "website/media",
"dst": "build/website/media"
}
]
}
}
}