+listen_port = 8333
+sys = require 'sys'
+fs = require 'fs'
+http = require 'http'
+url = require 'url'
+less = require 'less'
+coffee = require 'coffee-script'
+
+css_handler = (args, out, request, url_parts) ->
+ fs.readFile 'style.less', 'utf8', (err, data) ->
+ if err
+ return out.end 'Server failed to read style.less'
+ less.render data, (err, css) ->
+ if err
+ return out.end "Server failed to make css: #{err}"
+ out.end css
+
+js_handler = (args, out, request, url_parts) ->
+ fs.readFile 'client.coffee', 'utf8', (err, data) ->
+ if err
+ return out.end 'Server failed to read client.coffee'
+ out.end coffee.compile data
+
+html_handler = (args, out, request, url_parts) ->
+ fs.readFile 'index.html', 'utf8', (err, data) ->
+ if err
+ return out.end 'Server failed to read index.html'
+ out.end data
+
+
+http_server = http.createServer (req, res) ->
+ url_parts = url.parse req.url, true
+ if url_parts.query is undefined
+ url_parts.query = {}
+
+ rel_path = url_parts.pathname.substr 1
+
+ if rel_path.substr(rel_path.length - 4) is '.css'
+ res.writeHead 200, 'Content-Type': 'text/css'
+ return css_handler url_parts.query, res, req, url_parts
+ else if rel_path.substr rel_path.length - 3 is '.js'
+ res.writeHead 200, 'Content-Type': 'text/javascript'
+ return js_handler url_parts.query, res, req, url_parts
+
+ return html_handler url_parts.query, res, req, url_parts
+
+http_server.listen listen_port, "127.0.0.1"
+console.log "Server running at http://127.0.0.1:#{listen_port}/"