qmd-lab / closeread

https://closeread.dev
MIT License
130 stars 5 forks source link

Presentation Mode #49

Closed andrewpbray closed 3 months ago

andrewpbray commented 4 months ago

As I stare down the barrel of my presentation at JSM and posit::conf, I've realized it'd be quite a bit prettier if I transitioned my nascent keynote presentation into a revealjs presentation. And as I start thinking about my revealjs presentation, I start thinking, geesh, why don't I just write a closeread story.

So: what do you think about (at some point) adding a presentation-mode: true yaml option. It could:

  1. strip all content (but not structure) out of the narrative col
  2. apply a layout that collapses the width of the narrative down to nil or near-nil.

The effect would be that the sticky-col would take up the whole width of the screen and the speaker would more or less be speaking the narrative paragraphs instead of displaying them.

If nothing else, it seems like it'd be useful exercise in carefully crafting one of these things: the stickies much be compelling enough to be able to speak over with no text on the screen. It could also be useful if someone spends a ton of time crafting a beautiful closeread story and they're asked to present it live.

andrewpbray commented 4 months ago

In a related vein, we could provide a filter that converts a closeread story to a revealjs doc by collecting each sticky (and any effects) and dropping each into a separate slide.

jimjam-slam commented 4 months ago

Makes sense to me! How about we do it as layout option alongside overlay and sidebar — the narrative col gets display: none and the sticky col gets the full width?

I'll see if I can get moving on the layouts this morning!

andrewpbray commented 4 months ago

Yep, that sounds like the way to do it!

andrewpbray commented 4 months ago

Another idea for how to do it:

format:
  closeread-html:
    presentation-mode: {false, true, toggle-on, toggle-off}

Where toggle-on would be in presentation mode but present a small icon, kinda in the same vein of code-folding, that would allow the viewer of the HTML to toggle it off.