From fd1ed67bf65cd9f2c440becf06bc9e213b911e04 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 31 Jan 2017 03:52:06 +0100 Subject: npm init --- index.js | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 index.js (limited to 'index.js') diff --git a/index.js b/index.js new file mode 100644 index 0000000..c03550a --- /dev/null +++ b/index.js @@ -0,0 +1,153 @@ +var okcms = require('..'); + +var isProduction = process.env.OK_PRODUCTION === 'true' +var port = process.env.PORT || 1337; +var path = require('path') + +var app = okcms.createApp({ + + root: 'public', + + debug: !isProduction, + production: isProduction, + + admin: { + theme: 'okadmin', +// dashboard: { +// resources: { +// card: { +// groupBy: 'stack', +// descending: true +// } +// } +// }, + dashboard: { + resources: { + flour: { + display: 'image', + } + } + } + }, + + schemas: { + page: { + id: {type: 'string'}, + title: {type: 'string'}, + body: {type: 'text'}, + links: {type: 'link-list', textLabel: "A", linkLabel: "B"}, + }, + bread: { + type: {type: 'string', id: true}, + title: {type: 'string'}, + description: {type: 'text'}, + color: {type: 'enum', options: ["red","blue","green"]}, + rating: {type: 'enum', options: { + "e": "Everyone", + "ec": "Early Childhood", + "e10": "Everyone 10+", + "t": "Teen", + "m": "Mature", + "ao": "Adults Only", + "rp": "Rating Pending", + }}, + video: {type: 'video'}, + images: {type: 'gallery'} + }, + test: { + id: {type: 'string', hidden: true}, + title: {type: 'string'}, + flagged: {type: 'flag'}, + media: {type: 'media'}, + }, + flour: { + id: {type: 'string', hidden: true}, + title: {type: 'string'}, + image: {type: 'image'}, + images: {type: 'triple-captioned-image-list'}, + }, + }, + + resources: [ + { type: 'page', static: {id: 'about'}}, + { type: 'page', static: {id: 'contact'}}, + { type: 'bread' }, + { type: 'test' }, + { type: 'flour' }, + ], + + services: { + s3: { + key: process.env.S3_KEY, + secret: process.env.S3_SECRET, + bucket: process.env.S3_BUCKET, + dirname: "okcms-example", + image: { allowed: true, preserveFilename: false, maxbytes: 2*1024*1024 }, + video: { allowed: true, preserveFilename: true, maxbytes: 200*1024*1024 }, + audio: { allowed: true, preserveFilename: true, maxbytes: 100*1024*1024 }, + }, + + webhook: { + active: false, + secret: 'test', + command: '/path/to/build.sh', + }, + + example: { + lib: require("./lib/okexample"), + stuff: "things", + }, + + dumpfm: { + lib: require("./lib/okdumpfm"), + }, + +/* + push: { + lib: require("./lib/okpush"), + mongodbUrl: "mongodb://localhost/okpush_example", + apn: { + cert: path.join(__dirname, "./lib/okpush/test_certs/overlayer_dev_cert.pem"), + key: path.join(__dirname, "./lib/okpush/test_certs/overlayer_dev_key.pem"), + connection: { + gateway: "gateway.sandbox.push.apple.com", + } + }, + bundleId: "us.okfoc.overlayer", + notifications: { + // expiry (in seconds) + // badge (int) + // alert (message) + // payload (raw json) + hub: { + alert: "The hub has been updated.", + }, + store: { + alert: "The store is now open.", + }, + } + }, +*/ + }, + + 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(port) + +console.log('Server listening at port %d...', port); -- cgit v1.2.3-70-g09d2