rajgoel / reveal.js-plugins

Plugins for reveal.js
MIT License
739 stars 248 forks source link

The seminar plugin's documentation has no information how to actually use it #160

Closed piiskop closed 1 year ago

piiskop commented 1 year ago

i want to use the seminar plugin with Quarto presentations. So i created a subfolder called seminar inside the folder where i have the presentation QMD-file. i downloaded plugin.js into that folder. i created the file plugin.yml with the following content:

name: RevealSeminar
script: [plugin.js]

In the presentation file's metadata block, i added:

revealjs-plugins:
  - seminar

And i clicked the button for rendering. A message box appeared telling me:

Seminar server not specified!

The manual of this plugin does not state how to create and run my own server so that i can specify it. Please describe how to do that. The presentation file is open but i have no idea of how to remote control it from my smartphone. i see no additional buttons and there is no separate file for speaker notes as in multiplex. Please feed some instructions into me.

piiskop commented 1 year ago

So i went into the requirements section, followed the link to the server folder, cloned it and now the server is running.

So i went into the configuration section and figured out that the necessary parameters are server, room, hash, and autoJoin.

So i went into the plugins section and followed the instructions by creating the subfolder seminar into the subfolder of my presentation, cloned all the plugin files into that created folder, and put the parameters with values into plugin.yml:

name: RevealSeminar
script: [plugin.js]
config:
  seminar:
    server: 'http://manual-for-rstudio.tennis24.ee:4433/'
    room: 'Some room name'
    hash: '$2a$05$kTSzbyI478NMZV8uN1NrV.LoLukWSL7Qwd6w6PPnIU3ZMXjWHsi4a'
    autoJoin: true 

Now, rendering the presentation is successful however i have no idea how to use it. The display itself now has only working menu elements and even the speaker view cannot connect. If seminar works like multiplex then there should be another file for the speaker but there is not. Instead, there is that room. What room? How can i access the presentation as a host, how can i access it as a non-host? i am only interested in getting it to work with quarto as i am managing my presentations with RStudio Server.

markNZed commented 1 year ago

It might be best to get the seminar demo working first and then get your own implementation working. The demo is at https://github.com/rajgoel/reveal.js-demos I am not familiar with Reveal or Node and I agree the documentation is not very helpful. I got to a point where it needs the socket.io server but the demo server no longer exists.

rajgoel commented 1 year ago

Duplicate of #127

markNZed commented 1 year ago

@rajgoel I'm unsure if this is only a documentation issue. For example, the seminar-demo.html file is referring to relative links in a parent directory but if reveal is running in the same directory as seminar-demo.html the server will not allow access to those files. No doubt I'm misunderstanding something, but not sure what. I did get the seminar demo running, it is a very cool feature (I plan on using this in a class next Tuesday, still need to do some testing)

PS. I guess you are aware that the demo socket server is no longer online

rajgoel commented 1 year ago

The seminar-plugin is on my todo list for some while. I want to update to a newer version of socket.io before I can dedicate time into documentation and other issues related. The demo is no longer working because I haven't found a free hosting service, should you have any suggestion I will consider this when I finally manage to dedicate time to this. Thanks for your feedback and patience.

markNZed commented 1 year ago

Maybe https://pusher.com/websockets which has a free level (100 concurrent, 200k requests/day)

piiskop commented 1 year ago

Do you have instructions on using seminar instead of multiplex in Quarto?

markNZed commented 1 year ago

@piiskop who are you talking to? I do not know Quarto but I assume you are using the Quarto Revel plugin. As I mentioned above I think you should first get the basic Seminar demo working then worry about Quarto - at least that is the approach I am taking.

@rajgoel I started to formalise what I did to get things working in a Dockerfile. I do not understand how reveal.js-plugins is meant to be used with reveal.js-demos The demos assume there are plugin directories in the root of the server and to get it working I did cp -rf node_modules/reveal.js-plugins/* . which destroys the reveal.js package.json file (so I copy that back afterwards). Can you please explain how the demos should be combined with a reveal.js directory? At the moment I do this from the root of the Reveal.js directory:

RUN curl -L -o reveal.js-demos.zip https://github.com/rajgoel/reveal.js-demos/archive/refs/heads/master.zip
RUN unzip -o reveal.js-demos.zip
RUN mv reveal.js-demos-master/* .

But this requires changing paths in seminar-demo.html to get things working.

piiskop commented 1 year ago

@piiskop who are you talking to? I do not know Quarto but I assume you are using the Quarto Revel plugin. As I mentioned above I think you should first get the basic Seminar demo working then worry about Quarto - at least that is the approach I am taking.

To the author(s).

Yes, i am using a plugin for Quarto which is called multiplex.

How has it worked out for you to get the basic demo working?

markNZed commented 1 year ago

It is working, I've moved to HTTPS with basic-auth. Added some salt to the password for the socket server so the password is server specific. Integrated speaker notes plugin which works but I see some errors in the javascript console.

rajgoel commented 1 year ago

New demo can be used as a reference setup