1
0

5 Commits

11 changed files with 23 additions and 5075 deletions

3
app.js Executable file → Normal file
View File

@ -7,11 +7,10 @@ var debug = false; // todo move this to configfile
var handle = {} var handle = {}
handle["/"] = requestHandlers.sendInterface; handle["/"] = requestHandlers.sendInterface;
handle["/interface"] = requestHandlers.sendInterface; handle["/interface"] = requestHandlers.sendInterface;
handle["/sprite/emoji.css"] = requestHandlers.sendEmojiCss;
handle["/sprite/emoji.png"] = requestHandlers.sendEmojiPng;
handle["/js/jquery-1.12.1.min"] = requestHandlers.sendJquery; handle["/js/jquery-1.12.1.min"] = requestHandlers.sendJquery;
handle["/js/jquery-ui.js"] = requestHandlers.sendJqueryUI; handle["/js/jquery-ui.js"] = requestHandlers.sendJqueryUI;
handle["/css/bootstrap.min.css"] = requestHandlers.sendBootstrap; handle["/css/bootstrap.min.css"] = requestHandlers.sendBootstrap;
handle["/sprite/emoji.ttf"] = requestHandlers.sendEmojiTtf;
handle["/clear"] = requestHandlers.sendClear; handle["/clear"] = requestHandlers.sendClear;
if(server.demoMode()){ if(server.demoMode()){

View File

@ -13,10 +13,17 @@
<style> <style>
/* Sticky footer styles /* Sticky footer styles
-------------------------------------------------- */ -------------------------------------------------- */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans');
@font-face {
font-family: 'Emoji';
src: url('/sprite/emoji.ttf') format('truetype');
}
html, html,
body { body {
height: 100%; height: 100%;
font-family: 'Noto Sans', sans-serif;
/* The html and body elements cannot have any padding or margin. */ /* The html and body elements cannot have any padding or margin. */
} }
@ -37,6 +44,10 @@ body {
bottom: 0; bottom: 0;
width: 100%; width: 100%;
} }
h1 {
font-family: 'Emoji', 'Noto Sans', sans-serif;
}
</style> </style>

View File

@ -3,7 +3,6 @@
<html> <html>
<head> <head>
<title>Clear Board</title> <title>Clear Board</title>
<link rel='stylesheet' href='sprite/emoji.css' >
<link rel="stylesheet" href="/css/bootstrap.min.css" /> <link rel="stylesheet" href="/css/bootstrap.min.css" />
<script src="/js/jquery-1.12.1.min"></script> <script src="/js/jquery-1.12.1.min"></script>
<script src="/js/jquery-ui.js"></script> <script src="/js/jquery-ui.js"></script>

View File

@ -5,7 +5,6 @@
"main": "app.js", "main": "app.js",
"dependencies": { "dependencies": {
"async": "^2.0.0-rc.6", "async": "^2.0.0-rc.6",
"emojize": "^0.2.0",
"lowdb": "^0.12.5", "lowdb": "^0.12.5",
"serialport": "^4.0.5", "serialport": "^4.0.5",
"socket.io": "^1.4.8" "socket.io": "^1.4.8"

View File

@ -12,20 +12,6 @@ function sendInterface(response) {
response.end(html); response.end(html);
} }
function sendEmojiCss(response) {
console.log("Request handler 'Emojicss' was called.");
response.writeHead(200, {"Content-Type": "text/css"});
var html = fs.readFileSync(__dirname + "/served/emoji.css")
response.end(html);
}
function sendEmojiPng(response) {
console.log("Request handler 'Emojipng' was called.");
response.writeHead(200, {"Content-Type": "image/png"});
var html = fs.readFileSync(__dirname + "/served/emoji.png")
response.end(html);
}
function sendBootstrap(response) { function sendBootstrap(response) {
console.log("Request handler 'css' was called."); console.log("Request handler 'css' was called.");
response.writeHead(200, {"Content-Type": "text/css"}); response.writeHead(200, {"Content-Type": "text/css"});
@ -61,13 +47,19 @@ function sendDemo(response) {
response.end(html); response.end(html);
} }
function sendEmojiTtf(response) {
console.log("Request handler 'EmojiTtf' was called.");
response.writeHead(200, {"Content-Type": "font/ttf"});
var html = fs.readFileSync(__dirname + "/served/NotoColorEmoji.ttf")
response.end(html);
}
exports.sendClear = sendClear; exports.sendClear = sendClear;
exports.sendDemo = sendDemo; exports.sendDemo = sendDemo;
exports.sendEmojiTtf = sendEmojiTtf;
exports.sendBootstrap = sendBootstrap; exports.sendBootstrap = sendBootstrap;
exports.sendJqueryUI = sendJqueryUI; exports.sendJqueryUI = sendJqueryUI;
exports.sendJquery = sendJquery; exports.sendJquery = sendJquery;
exports.sendEmojiPng = sendEmojiPng;
exports.sendEmojiCss = sendEmojiCss;
exports.sendInterface = sendInterface; exports.sendInterface = sendInterface;

0
sample.config.json Executable file → Normal file
View File

BIN
served/NotoColorEmoji.ttf Normal file

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 MiB

7
server.js Executable file → Normal file
View File

@ -7,7 +7,6 @@ low = require('lowdb'),
storage = require('lowdb/file-async'), storage = require('lowdb/file-async'),
db = low('db.json', { storage }); db = low('db.json', { storage });
var convert = require('emojize').emojize;
var config = low('config.json', { storage }); var config = low('config.json', { storage });
var socketServer; var socketServer;
var port = config('mainConfig').chain().find({ param: 'port' }).value()['value']; var port = config('mainConfig').chain().find({ param: 'port' }).value()['value'];
@ -115,7 +114,7 @@ function initSocketIO(httpServer,debug)
var colors = db('messages').chain().takeRight(number).map('color').value(); var colors = db('messages').chain().takeRight(number).map('color').value();
for(var i = 0; i < messages.length; i++){ for(var i = 0; i < messages.length; i++){
socket.emit('newMessage',times[i],numbers[i],convert(messages[i]),colors[i]); socket.emit('newMessage',times[i],numbers[i],messages[i],colors[i]);
} }
}); });
@ -132,7 +131,7 @@ function initSocketIO(httpServer,debug)
var messageRecieved = escapeHtml(message); var messageRecieved = escapeHtml(message);
db('messages').push({ numberString: numberStringRecieved,number: numberRecieved, time: timeRecieved, message: messageRecieved,color: color }); db('messages').push({ numberString: numberStringRecieved,number: numberRecieved, time: timeRecieved, message: messageRecieved,color: color });
//add a new message to the board directly //add a new message to the board directly
socketServer.emit('newMessage', timeRecieved, numberRecieved, convert(messageRecieved),color); socketServer.emit('newMessage', timeRecieved, numberRecieved, messageRecieved,color);
numberStringRecieved = null; numberStringRecieved = null;
numberRecieved = null; numberRecieved = null;
timeRecieved = null; timeRecieved = null;
@ -187,7 +186,7 @@ function serialListener(debug)
var messageRecieved = escapeHtml(ucs2Parse(data)); var messageRecieved = escapeHtml(ucs2Parse(data));
db('messages').push({ numberString: numberStringRecieved,number: numberRecieved, time: timeRecieved, message: messageRecieved,color: color }); db('messages').push({ numberString: numberStringRecieved,number: numberRecieved, time: timeRecieved, message: messageRecieved,color: color });
//add a new message to the board directly //add a new message to the board directly
socketServer.emit('newMessage', timeRecieved, numberRecieved, convert(messageRecieved),color); socketServer.emit('newMessage', timeRecieved, numberRecieved, messageRecieved,color);
numberStringRecieved = null; numberStringRecieved = null;
numberRecieved = null; numberRecieved = null;
timeRecieved = null; timeRecieved = null;