🔭 The GitHub Notebook Explorer

Trying out and importing notebooks into Nextjournal is now easier than ever, thanks to our new GitHub Notebook Explorer! The Notebook Explorer enables you to navigate entire GitHub repositories, and subsequently run and edit the notebooks contained in these repositories on the fly, within the Nextjournal Editor. If you wish, you can also save them under your own Nextjournal profile (if you have one).

How does it work?

To use the Github explorer on our dedicated page, you need any of the following:

  1. a path to a GitHub profile, or

  2. a path to a (public) GitHub repository, or

  3. a path to any git tree pointing at a folder or notebook file

From GitHub to Nextjournal - with 2 chars

Alternatively, since we retain the same URL structure as GitHub, you can go directly from GitHub to Nextjournal by just adding nj after github to your URL in your browser address bar, like we do here:

That's it! The notebook will open inside Nextjournal, editable and runnable from the get-go.

Exploring repositories or profiles

If you choose to open a repository or a profile, you will be directed to a navigable view of it within Nextjournal. This is how exploring a repository in Nextjournal looks like (the Plotly Python repository):

Dependencies

Nextjournal sets the parent folder of the opened file as the working directory, making local files and scripts available at the expected path during execution. You can view this yourself if you open the runtimes's settings from the sidebar on your left.

How does that differ from MyBinder?

We're taking a different approach than MyBinder here. We focus on making notebooks immediately available via our existing Markdown and Jupyter notebooks import, and runnable out of the box by relying on nextjournal built-in runtimes. The parent repository of the notebook is cloned (a step that, admittedly, could take a while, depending on the repo size) and mounted only upon the first execution.

That said, we are not retrieving all of the notebook dependencies automatically, like MyBinder does, but we're working on a similar solution for that. Therefore at present, if a notebook uses libraries which are not present in our default environments, you'll have to setup dependencies by configuring and saving your own environment.

We hope you find this helpful, and have fun exploring. If you have feedback for us, don't hesitate to reach out!