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
|
var okcms = require('okcms')
var isProduction = process.env.OK_PRODUCTION === 'true'
var viewConfig = {
template: 'index',
data: [
{type: 'home', query: '*'},
{type: 'press', query: '*'},
{type: 'bio', query: '*'},
{type: 'festival', query: '*'},
{type: 'lecture', query: '*'},
]
}
var app = okcms.createApp({
project: 'New Reality Co.',
debug: !isProduction,
production: isProduction,
schemas: {
home: {
id: {type: 'string', hidden: true},
title: {type: 'string'},
about: {type: 'string'},
},
press: {
id: {type: 'string', hidden: true},
title: {type: 'string'},
source: {type: 'string'},
link: {type: 'string'},
body: {type: 'text'},
image: {type: 'image'},
},
bio: {
id: {type: 'string', hidden: true},
title: {type: 'string'},
body: {type: 'text'},
image: {type: 'image'},
link: {type: 'string'},
type: {type: 'enum', options: ['featured','cast','production'],
},
festival: {
id: {type: 'string', hidden: true},
title: {type: 'string'},
link: {type: 'string'},
date: {type: 'text'},
image: {type: 'image'},
},
lecture: {
id: {type: 'string', hidden: true},
title: {type: 'string'},
link: {type: 'string'},
date: {type: 'text'},
image: {type: 'image'},
},
},
resources: [
{ type: 'home' },
{ type: 'press' },
{ type: 'bio' },
{ type: 'festival' },
{ type: 'lecture' },
],
views: {
'/': viewConfig,
'/home': viewConfig,
'/press': viewConfig,
'/team': viewConfig,
'/festivals': viewConfig,
'/lectures': viewConfig,
},
services: {
s3: {
key: process.env.S3_KEY,
secret: process.env.S3_SECRET,
bucket: process.env.S3_BUCKET,
maxbytes: 1024*1024*2,
},
}
}).listen(process.env.PORT || 1337)
console.log('Server listening at port ' + (process.env.PORT || 1337) + '...');
|