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
|
var okcms = require('..');
var app = okcms.createApp({
root: 'public',
debug: true,
schemas: {
page: {
id: {type: 'string'},
title: {type: 'string'},
body: {type: 'text'},
links: {type: 'link-list'},
},
bread: {
type: {type: 'string', id: true},
title: {type: 'string'},
description: {type: 'text'},
color: {type: 'enum', options: ["red","blue","green"]},
video: {type: 'video'},
images: {type: 'captioned-image-list'}
},
test: {
id: {type: 'string', hidden: true},
title: {type: 'string'},
media: {type: 'media-list'},
}
},
resources: [
{ type: 'page', static: {id: 'about'}},
{ type: 'page', static: {id: 'contact'}},
{ type: 'bread' },
{ type: 'test' },
],
services: {
s3: {
key: process.env.S3_KEY,
secret: process.env.S3_SECRET,
bucket: process.env.S3_BUCKET,
dirname: "okcms-example",
// TODO: maxbytes stuff isn't working, need to change underlying module
image: { preserveFilename: false, maxbytes: 20000 },
video: { preserveFilename: true, maxbytes: 0 },
audio: { preserveFilename: true, maxbytes: 150000000 },
}
},
views: {
'/': {
data: [
{type: 'bread', query: '*'},
{type: 'page', query: '*'}
]
},
'/about': {
data: {type: 'page', query: 'about'}
},
'/contact': {
data: {type: 'page', query: 'contact'}
},
'/:id': {
data: {type: 'bread', query: ':id'}
}
}
}).listen(1337);
console.log('Server listening at port 1337...');
|