1 var fs = require('fs');
2 var path = require('path');
3 var express = require('express');
4 var tinylr = require('../..');
5 var debug = require('debug')('tinylr:server');
7 process.env.DEBUG = process.env.DEBUG || 'tinylr*';
9 var app = module.exports = express();
11 function logger(fmt) {
12 fmt = fmt || '%s - %s';
14 return function logger(req, res, next) {
15 debug(fmt, req.method, req.url);
20 function throttle(delay, fn) {
24 var from = Date.now();
25 var interval = from - now;
26 if (interval < delay) return;
28 fn.apply(this, arguments);
32 var watch = (function watch(em) {
33 em = em || new (require('events').EventEmitter)();
35 em.on('rename', function(file) {
39 fs.watch(path.join(__dirname, 'styles/site.css'), throttle(200, function(ev, filename) {
40 em.emit(ev, filename);
48 .use('/', express.static(path.join(__dirname)))
49 .use(tinylr.middleware({ app: app }));