jtpio / p5-notebook

A Jupyter Notebook environment for p5.js kernels running in the browser, powered by JupyterLite πŸ’‘

Home Page:https://p5nb.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

p5-icon p5-notebook p5-icon

Github Actions Status

A minimal Jupyter Notebook UI for p5.js kernels.

p5-screencast-1.webm

Usage

✨ Try it in your browser! ✨

Features 🎁

Opens with Jupyter Notebook by default πŸ“’

By default, the p5 notebook opens with the simpler notebook interface.

p5-screencast-1.webm

JupyterLab interface πŸ§ͺ

The JupyterLab interface is still accessible via the View > Open in JupyterLab menu entry:

p5-screencast-2.webm

Live preview of HTML-based sketches ⚑

With the JupyterLab interface, .html files can be edited and rendered live with the built-in HTML viewer:

p5-screencast-3.webm

Support for themes 🌈

The p5 notebook includes the default JupyterLab Light and Dark themes, as well as p5.js branded light and dark themes:

p5-screencast-4.webm

Support for additional display languages 🌐

Just like with JupyterLab, the p5 notebook also supports additional display languages like French and Simplified Chinese:

p5-screencast-5.webm

JupyterLab and Notebook features 🎨

Most of the JupyterLab and Jupyter Notebook features are also available, such as switching to the Simple Interface and opening the command palette:

p5-screencast-6.webm

Real Time Collaboration

Coming soon!

Dev install

This repo includes a couple of additional plugins to tweak the Jupyter UI. To setup a local environment and be able to iterate on them, make sure Node.js is installed, then:

# install dependencies
pixi install

# Install package in development mode
pixi run develop

# Rebuild the extension Typescript source after making changes
pixi run build

Related projects

About

A Jupyter Notebook environment for p5.js kernels running in the browser, powered by JupyterLite πŸ’‘

https://p5nb.vercel.app

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:CSS 84.9%Language:TypeScript 9.1%Language:JavaScript 3.6%Language:Python 1.4%Language:Shell 1.2%