BonitoBook
BonitoBook is a Julia-native interactive notebook system built on
Bonito.jl that seamlessly combines multi-language execution, AI integration, and modern web-based editing in one powerful platform.
Getting started
This starts a server that hosts the notebook under the route "/notebook-name" and automatically opens it in your browser. You can also display the notebook directly in other environments like VSCode's plot pane:
Both methods run in the same Julia process as the parent, allowing you to edit and re-evaluate any file seamlessly.
Motivation
As the author of
Makie.jl, I've faced challenges integrating its advanced features—like offline export, widgets, and interactions—across different notebook platforms in a stable and efficient way.
Over the years, as Bonito.jl (the Julia framework for creating HTML/JavaScript in Julia) has matured, I decided to build a completely Julia-native notebook system with a sharp focus on plotting and dashboards.
Bonito.jl brings significant advantages: all widgets are reusable, and notebooks can be easily rearranged into different formats, making the transition from notebook to polished dashboard effortless.
Runs everywhere
Thanks to Bonito.jl's universal design, BonitoBook can be viewed across multiple platforms:
-
VSCode Plot Pane
-
Browser
-
Electron applications
-
Static Site (e.g. this site via Bonito.jl, or Documenter).
-
Server deployments
-
HTML displays (Pluto, Jupyter, etc...)
-
JuliaHub
-
Google Colab
Interactive Plotting Showcase
BonitoBook provides seamless integration with Makie.jl, supporting all WGLMakie features including interactive widgets, observables, and JavaScript integration. Here's a live example of an interactive 3D galaxy visualization, with the animation done in Javascript so it stays interactive without running Julia. The other plots shown in this notebook are not interactive in that way, and can only be interacted with when actually running the notebook with Julia.