From 992c13cd6beaad5d9d1de4618dfbd01b2dddd04b Mon Sep 17 00:00:00 2001 From: Yoshua Wuyts Date: Sat, 21 May 2016 15:32:16 +0900 Subject: [PATCH] site: add index files --- site/client.js | 22 ++++++++++++++++++++++ site/package.json | 20 ++++++++++++++++++++ site/server.js | 29 +++++++++++++++++++++++++++++ site/views/splash.js | 0 4 files changed, 71 insertions(+) create mode 100644 site/client.js create mode 100644 site/package.json create mode 100644 site/server.js create mode 100644 site/views/splash.js diff --git a/site/client.js b/site/client.js new file mode 100644 index 0000000..c72c38c --- /dev/null +++ b/site/client.js @@ -0,0 +1,22 @@ +const choo = require('../') +const sf = require('sheetify') + +sf('css-wipe/dest/bundle') +sf('tachyons') + +const app = choo() + +app.model('inbox', require('./models/inbox')) +app.model('spam', require('./models/spam')) +app.model('sent', require('./models/sent')) + +app.router((route) => [ + route('/', require('./views/empty')), + route('/:mailbox', [ + route('/', require('./views/mailbox')), + route('/:message', require('./views/email')) + ]) +]) + +const tree = app.start() +document.body.appendChild(tree) diff --git a/site/package.json b/site/package.json new file mode 100644 index 0000000..b54cd94 --- /dev/null +++ b/site/package.json @@ -0,0 +1,20 @@ +{ + "name": "http", + "version": "1.0.0", + "private": "true", + "main": "client.js", + "scripts": { + "start": "NODE_ENV=development node server.js" + }, + "browserify": { + "transform": [ + "sheetify/transform" + ] + }, + "author": "Yoshua Wuyts ", + "license": "ISC", + "dependencies": { + "css-wipe": "^4.2.1", + "dateformat": "^1.0.12" + } +} diff --git a/site/server.js b/site/server.js new file mode 100644 index 0000000..85d6517 --- /dev/null +++ b/site/server.js @@ -0,0 +1,29 @@ +const serverRouter = require('server-router') +const browserify = require('browserify') +const bankai = require('bankai') +const http = require('http') + +const PORT = 8080 + +const server = http.createServer(createRouter()) +server.listen(PORT, () => console.log(`listening on port ${PORT}`)) + +function createRouter () { + const router = serverRouter('/404') + + const html = bankai.html({ css: false }) + router.on('/', (req, res) => html(req, res).pipe(res)) + router.on('/:inbox', (req, res) => html(req, res).pipe(res)) + router.on('/:inbox/:message_id', (req, res) => html(req, res).pipe(res)) + + const js = bankai.js(browserify, require.resolve('./client.js')) + router.on('/bundle.js', (req, res) => js(req, res).pipe(res)) + + router.on('/hi', (req, res) => res.end('{ "message": "hi back!" }')) + router.on('/404', (req, res) => { + res.statusCode = 404 + res.end('{ "message": "the server is confused" }') + }) + + return router +} diff --git a/site/views/splash.js b/site/views/splash.js new file mode 100644 index 0000000..e69de29