deathbeds / jupyterlab-deck

Lightweight presentations for JupyterLab

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Offer per-slide layout and deck-level defaults

bollwyvl opened this issue · comments

Elevator Pitch

A notebook-based deck should be able to be customized and then overridden on a per-cell basis.

Motivation

  • CSS grid offers a lot of options for in-plane layout
  • even wilder things are possible without actually changing the ordering/nesting of the DOM elements
  • CSS variables can be overridden in style, including jupyterlab defaults like fine-grained font size choices, and would have very high specificity

Design Ideas

  • Allow a notebook to have juptyerlab-deck.slideStyle.
  • Allow slide and subslide cells to set jupyterlab-deck.slideStyle, overriding the style.
    • These would be applied to the .jp-Notebook's style, rather than the cell's.
    • These would be "sticky" until the next (sub)slide changes them, such as signaling a reversion to the default flexbox model.
  • Offer a number of pre-built patterns with wee icons, which can then be updated by e.g. settings, other (theme) extensions, or copy/pasted from metadata.
    • Specifically for grid, individual cells could override the template behavior with additional metadata in jupyterlab-deck.style, though this might create illogical navigation patterns and exciting failure modes when adding too many cells for a layout, but caveat emptor once you start messing with style directly.
  • Presumably #15's position: fixed elements would not affect custom layouts.