deathbeds / jupyterlab-deck

Lightweight presentations for JupyterLab

Home Page:https://jupyterlab-deck.rtfd.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Allow for a visual indicator of slides / sub-slides / fragments

choldgraf opened this issue · comments

Elevator Pitch

It is helpful to get a quick bird-eye view of the slides structure of a notebook, so that you can quickly predict the behavior during the slides themselves. This could be possible by having a toggle that would trigger a "glanceable" visual representation of whether a cell is a "slide", "sub-slide", or "fragment". This could be as simple as vertical bars to the left or right, with a nesting and color that indicated their role.

Motivation

This would let you quickly see the structure of your slide deck via your notebook cells, which could help you know how you need to rearrange / tag things.

Design Ideas

something like this shows the structure of one slide, with two sub-slides, and two fragments in the second sub-slide

image

Are you imagining this in the main notebook editing UI, or in the design mode? Trying to stay out of the DOM when not actually presenting.

The Design Mode overlay (first icon in the ... menu shown when presenting) already shows some of this with large label numbers (even of things that aren't on the screen yet).

Ooh design mode is cool - i hadn't seen that.

I did mean showing these indicators when you're viewing the full notebook. Basically something like "visual mode" but when you're editing the notebook rather than presenting. Or maybe it is just as easy to edit notebook metadata while presenting? I think having the rapid feedback about how changing metadata will change the result is helpful.

But I understand if you don't wanna fiddle with the notebook UX too much. I wish there were better ways of quickly browsing and editing metadata throughout a notebook (I have the same need in jupyter book) and maybe that is really the issue. Feel free to close this one if you like, just wanted to share the idea.

I've put forward this treatment: basically making a toggle-able column of extensible metadata controls next to all cells. There are limits to this approach, as the smallest cell (an empty, rendered Markdown cell) is very small, so would need a lot of work to be effective, but putting more "always on" stuff in the main UI helps exactly nobody.

The above would be a fairly major change, and something fairly out-of-scope to add in extension, as the Cell.contentFactory is kind of winner-takes-all, and can't be composed: it should be more like a contentAssemblyLine, probably. Things were "easier" in the bad old days of jquery, perhaps, but those didn't compose very well either, at scale.

a toggle-able column of metadata would probably be fine enough here - what's tedious is the "click every cell in succession to figure out what kind of slide it is" action. (and this is the same problem in Jupyter Book - there is no easy way to quickly answer "what cells have a hide-input tag?" and "ok now what cells have a hide-output tag?" without manually clicking through each one).

Feel free to close this if it isn't actionable in this repo.