Added theme support

This commit is contained in:
Mattias Erming 2014-07-17 06:38:41 -07:00
parent e2f47ccb97
commit 7165a2f385
5 changed files with 36 additions and 12 deletions

View File

@ -10,6 +10,7 @@
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/style.css">
<link id="theme" rel="stylesheet" href="<%= typeof theme !== "undefined" ? theme : "" %>">
<link rel="apple-touch-icon" sizes="144x144" href="/img/apple-icon-144x144.png" />
<link rel="shortcut icon" href="/img/favicon.png">

View File

@ -0,0 +1,7 @@
/**
* This is just an example theme and does not
* contain anything.
*/
body {
}

View File

@ -1,4 +1,5 @@
module.exports = {
port: 9000,
public: true
public: true,
theme: "themes/example.css"
};

View File

@ -1,6 +1,7 @@
var _ = require("lodash");
var Client = require("./client");
var config = require("../config") || {};
var fs = require("fs");
var http = require("connect");
var io = require("socket.io");
@ -25,7 +26,7 @@ var inputs = [
];
module.exports = function() {
sockets = io(http().use(http.static("client")).listen(config.port || 9000));
sockets = io(http().use(index).use(http.static("client")).listen(config.port || 9000));
sockets.on("connect", function(socket) {
if (config.public) {
auth.call(socket);
@ -35,6 +36,20 @@ module.exports = function() {
});
};
function index(req, res, next) {
if (req.url != "/") return next();
return fs.readFile("client/index.html", "utf-8", function(err, file) {
var data = _.merge(
require("../package.json"),
config
);
res.end(_.template(
file,
data
));
});
}
function init(socket, client) {
if (!client) {
socket.emit("auth");
@ -83,10 +98,10 @@ function input(client, data) {
if (text.charAt(0) !== "/") {
text = "/say " + text;
}
var args = text.split(" ");
var cmd = args.shift().replace("/", "").toLowerCase();
inputs.forEach(function(plugin) {
try {
var fn = require("./plugins/inputs/" + plugin);

View File

@ -16,14 +16,14 @@
"server"
],
"main": "http://localhost:9000/",
"node-main": "./index.js",
"single-instance": false,
"window": {
"title": "Shout",
"toolbar": false,
"height": 640,
"width": 1024
},
"node-main": "./index.js",
"single-instance": false,
"window": {
"title": "Shout",
"toolbar": false,
"height": 640,
"width": 1024
},
"scripts": {
"start": "node index.js"
},