diff options
author | Marvin Borner | 2019-04-01 20:16:24 +0200 |
---|---|---|
committer | Marvin Borner | 2019-04-01 20:16:24 +0200 |
commit | 83b56d1270cdb179b64a1be51f8c1e7fe586c35e (patch) | |
tree | ae40a84def05eb42c53305e0caa8c2a2440fce71 /plugin/multiplex | |
parent | 0b3e7839ebf4ed8b6c180aca0abafa28c67aee6d (diff) |
Added content
Diffstat (limited to 'plugin/multiplex')
-rw-r--r-- | plugin/multiplex/client.js | 22 | ||||
-rw-r--r-- | plugin/multiplex/index.js | 84 | ||||
-rw-r--r-- | plugin/multiplex/master.js | 49 |
3 files changed, 79 insertions, 76 deletions
diff --git a/plugin/multiplex/client.js b/plugin/multiplex/client.js index 3ffd1e0..9003234 100644 --- a/plugin/multiplex/client.js +++ b/plugin/multiplex/client.js @@ -1,13 +1,15 @@ -(function() { - var multiplex = Reveal.getConfig().multiplex; - var socketId = multiplex.id; - var socket = io.connect(multiplex.url); +(function () { + var multiplex = Reveal.getConfig().multiplex; + var socketId = multiplex.id; + var socket = io.connect(multiplex.url); - socket.on(multiplex.id, function(data) { - // ignore data from sockets that aren't ours - if (data.socketId !== socketId) { return; } - if( window.location.host === 'localhost:1947' ) return; + socket.on(multiplex.id, function (data) { + // ignore data from sockets that aren't ours + if (data.socketId !== socketId) { + return; + } + if (window.location.host === 'localhost:1947') return; - Reveal.setState(data.state); - }); + Reveal.setState(data.state); + }); }()); diff --git a/plugin/multiplex/index.js b/plugin/multiplex/index.js index 8195f04..e42aba4 100644 --- a/plugin/multiplex/index.js +++ b/plugin/multiplex/index.js @@ -1,64 +1,64 @@ -var http = require('http'); -var express = require('express'); -var fs = require('fs'); -var io = require('socket.io'); -var crypto = require('crypto'); +var http = require('http'); +var express = require('express'); +var fs = require('fs'); +var io = require('socket.io'); +var crypto = require('crypto'); -var app = express(); -var staticDir = express.static; -var server = http.createServer(app); +var app = express(); +var staticDir = express.static; +var server = http.createServer(app); io = io(server); var opts = { - port: process.env.PORT || 1948, - baseDir : __dirname + '/../../' + port: process.env.PORT || 1948, + baseDir: __dirname + '/../../' }; -io.on( 'connection', function( socket ) { - socket.on('multiplex-statechanged', function(data) { - if (typeof data.secret == 'undefined' || data.secret == null || data.secret === '') return; - if (createHash(data.secret) === data.socketId) { - data.secret = null; - socket.broadcast.emit(data.socketId, data); - }; - }); +io.on('connection', function (socket) { + socket.on('multiplex-statechanged', function (data) { + if (typeof data.secret == 'undefined' || data.secret == null || data.secret === '') return; + if (createHash(data.secret) === data.socketId) { + data.secret = null; + socket.broadcast.emit(data.socketId, data); + } + }); }); -[ 'css', 'js', 'plugin', 'lib' ].forEach(function(dir) { - app.use('/' + dir, staticDir(opts.baseDir + dir)); +['css', 'js', 'plugin', 'lib'].forEach(function (dir) { + app.use('/' + dir, staticDir(opts.baseDir + dir)); }); -app.get("/", function(req, res) { - res.writeHead(200, {'Content-Type': 'text/html'}); +app.get("/", function (req, res) { + res.writeHead(200, {'Content-Type': 'text/html'}); - var stream = fs.createReadStream(opts.baseDir + '/index.html'); - stream.on('error', function( error ) { - res.write('<style>body{font-family: sans-serif;}</style><h2>reveal.js multiplex server.</h2><a href="/token">Generate token</a>'); - res.end(); - }); - stream.on('readable', function() { - stream.pipe(res); - }); + var stream = fs.createReadStream(opts.baseDir + '/index.html'); + stream.on('error', function (error) { + res.write('<style>body{font-family: sans-serif;}</style><h2>reveal.js multiplex server.</h2><a href="/token">Generate token</a>'); + res.end(); + }); + stream.on('readable', function () { + stream.pipe(res); + }); }); -app.get("/token", function(req,res) { - var ts = new Date().getTime(); - var rand = Math.floor(Math.random()*9999999); - var secret = ts.toString() + rand.toString(); - res.send({secret: secret, socketId: createHash(secret)}); +app.get("/token", function (req, res) { + var ts = new Date().getTime(); + var rand = Math.floor(Math.random() * 9999999); + var secret = ts.toString() + rand.toString(); + res.send({secret: secret, socketId: createHash(secret)}); }); -var createHash = function(secret) { - var cipher = crypto.createCipher('blowfish', secret); - return(cipher.final('hex')); +var createHash = function (secret) { + var cipher = crypto.createCipher('blowfish', secret); + return (cipher.final('hex')); }; // Actually listen -server.listen( opts.port || null ); +server.listen(opts.port || null); var brown = '\033[33m', - green = '\033[32m', - reset = '\033[0m'; + green = '\033[32m', + reset = '\033[0m'; -console.log( brown + "reveal.js:" + reset + " Multiplex running on port " + green + opts.port + reset );
\ No newline at end of file +console.log(brown + "reveal.js:" + reset + " Multiplex running on port " + green + opts.port + reset); diff --git a/plugin/multiplex/master.js b/plugin/multiplex/master.js index 7f4bf45..53a2867 100644 --- a/plugin/multiplex/master.js +++ b/plugin/multiplex/master.js @@ -1,34 +1,35 @@ -(function() { +(function () { - // Don't emit events from inside of notes windows - if ( window.location.search.match( /receiver/gi ) ) { return; } + // Don't emit events from inside of notes windows + if (window.location.search.match(/receiver/gi)) { + return; + } - var multiplex = Reveal.getConfig().multiplex; + var multiplex = Reveal.getConfig().multiplex; - var socket = io.connect( multiplex.url ); + var socket = io.connect(multiplex.url); - function post() { + function post() { - var messageData = { - state: Reveal.getState(), - secret: multiplex.secret, - socketId: multiplex.id - }; + var messageData = { + state: Reveal.getState(), + secret: multiplex.secret, + socketId: multiplex.id + }; - socket.emit( 'multiplex-statechanged', messageData ); + socket.emit('multiplex-statechanged', messageData); - }; + } + // post once the page is loaded, so the client follows also on "open URL". + window.addEventListener('load', post); - // post once the page is loaded, so the client follows also on "open URL". - window.addEventListener( 'load', post ); - - // Monitor events that trigger a change in state - Reveal.addEventListener( 'slidechanged', post ); - Reveal.addEventListener( 'fragmentshown', post ); - Reveal.addEventListener( 'fragmenthidden', post ); - Reveal.addEventListener( 'overviewhidden', post ); - Reveal.addEventListener( 'overviewshown', post ); - Reveal.addEventListener( 'paused', post ); - Reveal.addEventListener( 'resumed', post ); + // Monitor events that trigger a change in state + Reveal.addEventListener('slidechanged', post); + Reveal.addEventListener('fragmentshown', post); + Reveal.addEventListener('fragmenthidden', post); + Reveal.addEventListener('overviewhidden', post); + Reveal.addEventListener('overviewshown', post); + Reveal.addEventListener('paused', post); + Reveal.addEventListener('resumed', post); }()); |