Concept of presentation mode #11
Replies: 3 comments 1 reply
-
Glad to see you asking about this! Here's my take. On my pages, I generally use h2 for the main sections of a page and h3 for subsections. Given that Starlight already has pagination and given that people seem to prefer short content, I like to keep my individual pages relatively short. The large-scale organization comes from division into pages and from division into page-groups within the sidebar. As a presenter, the most important thing for me is control. I'm a perfectionist, and I want my presentation to feel right - if that doesn't work, then I'll be tempted to use another product. In that spirit, one approach might be to allow us to decide where the slides are broken using Horizontal Rules. Several of the MD → slide show converters use this convention. In presentation mode (or even in regular mode) you could set display: none for the In addition to reveal.js, there is a product called reveal.md here on github, which uses reveal.js as an engine to transform markdown files into slides. My long-term plan is to find a clever way to feed the same source code to Starlight to make content pages and to reveal.md to create slides. I would present the slides with students and use the corresponding pages in Starlight as handouts. The PDFs from the reveal.md presentation would be available within Starlight in case students ever wanted to review the original form of what they saw in class. However, most of the time, when they were sitting down with their iPad or phone, they'd probably want to read through the Starlight version. That's likely pretty different from what you're thinking of, but I figured I'd share it with you in case it gave you any ideas. |
Beta Was this translation helpful? Give feedback.
-
For your specific question, my inclination is to take the unix philosophy of chaining together multiple products. Making a slideshow software is a huge commitment, so leveraging someone else's work is the way to go... (Go open source!) |
Beta Was this translation helpful? Give feedback.
-
I just through this link in here for finding it later again: https://chatgpt.com/share/67117971-e8ec-800b-8d42-1e7fec396aa0 The general idea is to hook into the Astro Build Process to generate the presentation mode pages ahead of time... |
Beta Was this translation helpful? Give feedback.
-
I'd like to discuss with you all how to implement a presentation mode.
What is a presentation mode?
The basic idea is to turn the Starlight docs into a presentation like PowerPoint. I would also like to reference Reveal JS for good ideas for this mode.
How does the plugin decide where to split the content?
Presentations consist of slides. Every slide must only contain content that fits on one screen at max.
My original idea was to dynamically split the content by Markdown headings, for example these rules:
This is kinda complex to implement for some reasons: I want to display the overall slide count on each slide, e.g.: 5/133. This means that the separation must be processed beforehand which could take a long time when activating the presentation mode. This could completely be avoided if the plugin could somehow hook into the building process of Starlight and create additional pages (a task that I'm nowhere near being able to implement if I'm honest)... Help! 🤣
How do we display the presentation?
Do you think it's a better idea to use some JS library - like Reveal.js (mentioned above) - which would mean less customisation (good libraries would have many options for customisation) - like e.g. I would not want the vertical slides which Reveal offers -
or do you think implementing the whole UI on our own is better because we have less dependencies and we can design it wherever we'd like.
Summary
Just throwing in some ideas of mine in here, let's start a nice discussion on the whole topic.
Beta Was this translation helpful? Give feedback.
All reactions