0.1.2 • Published 3 months ago

@dlguswo333/reveal-multiplex v0.1.2

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

@dlguswo333/revealjs-multiplex

This package aims to serve revealjs multiplex feature in modern way. It's helpful when you want to control other browser tabs or devices.

Features

  • Support modern module systems: ESM and CJS.
  • Built upon up-to-date dependencies: fastify@^4.25.2
  • Serve your static files. All you need to do is point the static file path.

How to

Start your server on Node.js.

import {setupServer} from '@dlguswo333/reveal-multiplex/server'

setupServer({
    host: '192.168.0.2',
    port: 8080,
    secret: 'q1w2e3r4',
    staticDir: './public'
})

Import the client script and call setup functions. One feasible code example is the following.

import {setupMasterToken, setupMaster, setupClient} from '@dlguswo333/reveal-multiplex/client'

setupMasterToken()
if (getIsMaster()) {
    setupMaster(Reveal)
} else {
    setupClient(Reveal)
}

Open a browser tab and connect to your server with secret parameter. With the valid secret, the tab will the master which controls clients.

http://192.168.0.2:8080/?secret=q1w2e3r4

Access to the server on a browser tab without specifying secret parameter. Without the secret, the tab will be a client.

http://192.168.0.2:8080/

When the master slides, change the view, clients react to the events and do the same.

Configurations

ConfigDescriptionDefault
secretSecret key for master to possess. grant master token to every socket if undefined.undefined
hostNetwork host where the server is hosted.0.0.0.0 (for convenience)
portNetwork port where the server is hosted.80
staticDirFile path to static assets (e.g. index.html). Can be absolute or relative../public

Caveats

  • It does not support secure connections as of now. Please use it on secure network.
  • Every time the server restarts, you need to reconnect the master as it forgets the previous master token.
  • The package's typing systems are a little messy. Supporting dual package, conditional exports is tough one.
0.1.2

3 months ago

0.1.1

3 months ago

0.1.0

3 months ago