var okcms = require('..'); var app = okcms.createApp({ root: 'public', schemas: { page: { id: {type: 'string'}, title: {type: 'string'}, body: {type: 'text'}, image: {type: 'string'} }, project: { id: {type: 'string', id: true}, title: {type: 'string'}, shortname: {type: 'string'}, description: {type: 'text'}, video: {type: 'video'}, images: {type: 'captioned-image-list'}, category: {type: 'enum', options: [ 'retail', 'advertising', 'experiential', 'content'] } } }, resources: [ { type: 'page', static: {id: 'about'}}, { type: 'page', static: {id: 'contact'}}, { type: 'project' } ], services: { s3: { key: process.env.S3_KEY, secret: process.env.S3_SECRET, bucket: process.env.S3_BUCKET, } }, views: { '/': { data: [ {type: 'project', query: '*'}, ] }, '/about': { data: {type: 'page', query: 'about'} }, '/contact': { data: {type: 'page', query: 'contact'} }, '/all': { data: { type: 'project', query: '*' }, template: 'all' }, '/retail/:id': { data: { type: 'project', query: { category: 'retail', id: ':id' } }, template: 'project' }, '/advertising/:id': { data: { type: 'project', query: { category: 'advertising', id: ':id' } }, template: 'project' }, '/experiential/:id': { data: { type: 'project', query: { category: 'experiential', id: ':id' } }, template: 'project' }, '/content/:id': { data: { type: 'project', query: { category: 'content', id: ':id' } } } } }).listen(1337); console.log('Server listening at port 1337...');