jupyter-book / myst-theme

Packages for creating MyST websites themes using React and Remix
https://jupyter-book.github.io/myst-theme/?path=/docs/components-introduction--docs
MIT License
17 stars 15 forks source link

🚀 MVP launch buttons for JupyterHub & MyBinder #503

Open agoose77 opened 5 days ago

agoose77 commented 5 days ago

To close jupyter-book/mystmd#1643 and jupyter-book/mystmd#1644, this PR prototypes a launch UI. We will want to move things around in time, but this PR is designed to start design conversations.

There are some deeper conversations around environment provisioning, and execution strategies. They should be ignored for the purpose of this MVP.

Open questions

Zero-mystmd-changes MVP

Kitchen-sink solution

changeset-bot[bot] commented 5 days ago

⚠️ No Changeset found

Latest commit: e2f97b837516c114bd589c22d6da185619977a5d

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

agoose77 commented 5 days ago

The first commit adds a basic launch popover from the frontmatter header icons: image

I think this is a good spot for a launch button, as it's "per-document", and not too obtrusive. However, it's not necessarily a "frontmatter" feature, and perhaps is too unobtrusive.

In the long run, I'd like us to expose more features, like JupyterHub vs MyBinder, Deepnote, Colab, etc. These will probably be tabs within the popover. We should aim to support these kinds of options, but reducing the amount of input that the reader needs to handle.

For now, though, the goal of this prototype is to explore the MVP for a UX in order to identify changes in MyST-MD / MyST theme that will be necessary.

image

choldgraf commented 5 days ago

Quick thoughts from me:

Overall - the UX you describe above seems like a good first step for an MVP - it roughly mimics the behavior of Jupyter Book and would let users get started if they were already relying on that feature.

agoose77 commented 1 day ago

I've added support for basic validation using Radix Form:

screen

I think this is good to go for a WIP. I'm keen to ship this in time for AGU, so I'm not exporting it intentionally. We can also disable it by default if that provides less concern for @stevejpurves et al. to ship.

Any review welcome.