summaryrefslogtreecommitdiff
path: root/site/index.js
blob: b81b3abd204bfd3166c05427a6364dbcb4e1f660 (plain)
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
var okcms = require('..');

var projectSchema = {
  id: {type: 'string', id: true, hidden: true},
  title: {type: 'string'},
  menu: {type: 'string'},
  description: {type: 'text'},
  media: {type: 'media-list'},
  thumbnail: {type: 'image'},
}

var app  = okcms.createApp({

  meta: {
    project: 'TwoHustlers'
  },

  root: 'public',

  debug: false,
  production: true,

  schemas: {
    page: {
      id: {type: 'string', hidden: true},
      title: {type: 'string'},
      body: {type: 'text'},
      collabs: {type: 'text'},
      contact: {type: 'text'},
      image: {type: 'string'}
    },
    advertising: projectSchema,
    content: projectSchema,
    experiential: projectSchema,
    shape: {
      id: {type: 'string', id: true, hidden: true},
      title: {type: 'string'},    
      images: {type: 'double-captioned-image-list'},
    }
  },

  resources: [
    { type: 'page', static: {id: 'about'}},
    { type: 'page', static: {id: 'contact'}},
    { type: 'shape', static: {id: 'shape-images'}},
    { type: 'shape', static: {id: 'about-images'}},
    { type: 'advertising' },
    { type: 'content' },
    { type: 'experiential' },
  ],

  services: {
    s3: {
      key: process.env.S3_KEY,
      secret: process.env.S3_SECRET,
      bucket: process.env.S3_BUCKET,
      dirname: "twohustlers",
      maxbytes: 1024*1024*2,
    }
  },

  views: {
    '/': {
      data: [
        {type: 'page', query: 'contact'},
//         {type: 'shape', query: 'about-images'},
        {type: 'shape', query: 'shape-images'},
//         {type: 'retail', query: '*'},
        {type: 'advertising', query: '*'},
        {type: 'experiential', query: '*'},
        {type: 'content', query: '*'},
      ]
    },
    '/about': {
      data: [
        {type: 'page', query: 'about'},
        {type: 'shape', query: 'about-images'},
      ],
      template: 'about'
    },
    '/contact': {
      data: {type: 'page', query: 'contact'}
    },
    '/all': {
      data: [
//         {type: 'retail', query: '*'},
        {type: 'advertising', query: '*'},
        {type: 'experiential', query: '*'},
        {type: 'content', query: '*'},
        {type: 'page', query: 'about'}
      ],
      template: 'all'
    },
//     '/retail/:id': {
//       data: {
//         type: 'retail',
//         as: 'project',
//         query: {
//           id: ':id'
//         }
//       },
//       template: 'project'
//     },
    '/advertising/:id': {
      data: {
        type: 'advertising',
        as: 'project',
        query: {
          id: ':id'
        }
      },
      template: 'project'
    },
    '/experiential/:id': {
      data: {
        type: 'experiential',
        as: 'project',
        query: {
          id: ':id'
        }
      },
      template: 'project'
    },
    '/content/:id': {
      data: {
        type: 'content',
        as: 'project',
        query: {
          id: ':id'
        }
      },
      template: 'project'
    }
  }

}).listen(process.env.PORT || 1337);

console.log('Server listening at port ' + (process.env.PORT || 1337) + '...');