New Component: streamlit-reveal-slides, create reveal.js presentations in Streamlit

Hello everyone!

I am happy to share with you a new component called Streamlit Reveal Slides!

With this component, you can create reveal.js HTML presentations with markdown or markup. The generated presentation is then embedded into your Streamlit app for full-featured use. You can run the presentation right from inside your app in embedded mode or fullscreen mode. This component is bidirectional allowing you to control the presentation via your app but also allowing you to have the presentation control your app.

slides-demo

Version Component Demo

Installation:

pip install streamlit-reveal-slides

Source:

Extras:

6 Likes

Hi again,

I’ve improved a few things, the most important of which is that I added a display_only argument to slides function that kills the bidirectionality and prevents any communication from the slides to streamlit via Streamlit.setComponentValue. This is useful if you dont need presentation status information and you want to prevent unnecessary app reruns (every time the component sends info back to Streamlit, the app is rerun).

Also, the default configuration for presentations has been changed to fit more with regular Streamlit app layout. The hope is that, there is less of a need to have to mess around with many of the config parameters. You can get something usable with just:

import reveal_slides as rs

rs.slides(markdown)
1 Like

Hey everyone,

I am building a new custom component based on this component and in the process, I found the need to add some 3rd party extensions/plugins to it. I think right now is a good time to ask if any 3rd party plugins are of interest to anyone so I can add them alongside the ones I am already adding.

You can find a list of the plugins here: Plugins, Tools and Hardware · hakimel/reveal.js Wiki · GitHub

1 Like

Hi @bouzidanas

Aside from ChatGeoParty app, the streamlit-reveal-slides component is a really amazing tool for creating presentation slides. Recently, I created a simple presentation app that embeds a Google Slide via iframe and honestly the streamlit-reveal-slides component is more visually appealing, two thumbs up :+1::+1:

Best regards,
Chanin

1 Like

@dataprofessor

Wow, that presentation app shows a nice and clean way to embed externally created presentations! Reminds me of the popular method for displaying PDFs in Streamlit apps. I think your code is more immediately useful as people probably already have slides they created elsewhere like for work or academia and might want to include in their tutorial streamlit apps and such.

Great app and video!

Btw, I’ve watched some of your videos before. You are great at presenting and teaching!

1 Like

Thanks @bouzidanas for the kind words, much appreciated :slight_smile:

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.