shower-server
is a node.js-based server allowing multiple clients to view Shower slides in sync with presenter.
At the moment three steps are required to start showing presentation
It is assumed, that machine you're installing shower-server
on is called example.com
and
you have node
and npm
installed.
-
install
shower-server
by running$> git clone git://github.com/cy6erskunk/shower-server.git && cd shower-server && npm install
-
copy your Shower presentation to
presentation
folder (presentation file along with theme stuff) -
start
shower-server
by running./bin/shower-server
and remember masterKey it shows in the console:Presentation "presentation/index.html" is served at / with masterKey=403926033d001b5279df37cbbe5287b7c7c267fa
You can now open your presentation in browser (default port is 8080
, remember to add master
parameter to the url
with masterKey
value from the step 3 to let shower-server
know that you're presenter, not a viever, e.g.:
http://example.com:8080/?master=403926033d001b5279df37cbbe5287b7c7c267fa
Viewers can simply open the presentation URL (in the example earlier it would be http://example.com:8080/
)
and have slides changing after the presenter.
Filename: config.json
Sample config:
```json
{
"host" : "",
"port" : 8080,
"presentations" : [
{
"folder" : "presentation",
"master" : "lol"
},
{
"folder" : "presentations/presentation1",
"url" : "ololo",
"master" : "lol"
},
{
"folder" : "presentations/presentation2",
"url" : "lol"
},
{
"folder" : "presentation",
"url" : "nyan",
"master" : "lol",
"file" : "index.html"
}
]
}
```
Type: String
Default: ''
Hostname. Default means to accept connections directed to any IPv4 address
Type: Number
Default: 8080
Type: Array
Optional. When absent, it's assumed that presentation is server at /
from ./presentation/index.html
with auto-generated master-key
(so-called singleMode
).
This mode is enabled when there's no presentations
array or there's only one object in it.
presentation.url
is ignored and server serves presentation at /
. Other options perform in usual way.
Type: Object
Description of presentation: folder, file, url, masterKey
Type: String
Default (in singleMode
): 'presentation'
Optional in singleMode
.
Path to folder containing presentation, relative to shower-server folder.
Type: String
Optional. String to pass as GET
parameter to indicate presenter connection.
In case of absence is auto-generated and its value is shown in console when server starts.
Type: String
Default: '/'
in singleMode
, '/' + presentation.folder + '/'
otherwise
Optional.
Type: String
Default: 'index.html'
Optional.
- stops master from emitting page changes when disconnected
- send additional update when master connects back
- unsubscribe from updates when disconnected
- try to get current page when connecting back
- 'disconnect' button added
- single/multi presentation modes
- no manual editing of presentaion html file to include scripts
- config file required
Multiple-presentations dirty proof of concept
Proof of concept
For the full copyright and license information, please view the LICENSE
file
that was distributed with this source code.