From bea3136078efedeb224af882a6401214c6a56bec Mon Sep 17 00:00:00 2001 From: Mattias Erming Date: Thu, 24 Apr 2014 22:34:40 +0200 Subject: [PATCH] Added theme support. Close #2 --- client/index.html | 1 + client/themes/default.css | 0 config.js | 1 + lib/server.js | 27 +++++++++++++++++++++++---- 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 client/themes/default.css diff --git a/client/index.html b/client/index.html index 60e67b1..ea27c0b 100644 --- a/client/index.html +++ b/client/index.html @@ -8,6 +8,7 @@ + "> diff --git a/client/themes/default.css b/client/themes/default.css new file mode 100644 index 0000000..e69de29 diff --git a/config.js b/config.js index e46aea3..e3d409b 100644 --- a/config.js +++ b/config.js @@ -1,4 +1,5 @@ module.exports = { + theme: "/themes/default.css", defaults: { nick: "shout_user", realname: "http://github.com/erming/shout", diff --git a/lib/server.js b/lib/server.js index 9fdd0fe..342a9db 100644 --- a/lib/server.js +++ b/lib/server.js @@ -1,9 +1,10 @@ -var config = require("../config"); +var _ = require("lodash"); +var config = require("../config") || {}; +var fs = require("fs"); var http = require("connect"); var io = require("socket.io"); var irc = require("slate-irc"); var net = require("net"); -var _ = require("lodash"); // Models @@ -37,6 +38,7 @@ module.exports = listen; function listen() { var app = http() + .use(index) .use(http.static("client")) .listen(9000); @@ -48,14 +50,31 @@ function listen() { }); }); - config.networks.forEach(function(n) { + (config.networks || []).forEach(function(n) { connect(n); }); } +function index(req, res, next) { + if (req.url == "/" || req.url == "/index.html") { + var data = _.extend( + require("../package.json"), + config + ); + fs.readFile( + "client/index.html", + function(e, file) { + res.end(_.template(file, data)); + } + ); + } else { + next(); + } +} + function connect(params) { params = _.extend( - config.defaults, + config.defaults || {}, params );