An Unofficial Observable Notebook Atom Package

Hey all! :wave:

I made an (unofficial) Atom package for Observable notebooks! You can run and develop local notebooks, import notebooks from observablehq.com - all inside of Atom!

Download here: atom-observable

Once downloaded, while you are editing a “notebook” JS file, you can just press Ctrl+Alt+O, and a new pane will appear with the rendered notebook. More usage can be found on the project repo

The main engine behind this package is an unofficial compiler for Observable syntax. That compiler can be found here - but, an explanatory notebook that goes more in-depth is here: An Unofficial ObservableHQ Compiler 💻 / Alex Garcia / Observable

Using this compiler, more people can use it to build VS Code extensions, web apps that use Observable syntax and the runtime, or even node.js powered notebooks in the terminal!

Let me know if you have any feedback/find bugs in the Atom package or unofficial compiler - and feel free to browse the Github repos and contribute!

11 Likes

This is so cool! Thanks for sharing!

2 Likes

I just gave it a quick try, Alex. Very cool!

(One tiny incompatibility I noticed was this being defined for cells, even before they’ve been run for the first time.)

2 Likes

Hey asg017, I love Observable and today you made it a much greater product.

Finally, I can use git for my observable notebooks, I can work on them with the text editor I want and I can keep my data privately. My hope is that in the future I will be able to push my notebooks on HQ for sharing them, keeping a public log and doing collab editing.

You made a tool that the community asked several times (my thread here and others). I hope the HQ team gets to see and play with this and embrace this type of tooling. Kudos to the HQ team which open sourced the runtime to foster an ecosystem of tools like this one.

Although it might seem experimental at first, this is one of the most exciting updates (even if unofficial) that I have seen on Observable. This is probably one of the greatest ways to spread the Observable programming model and to create a large open source community around this product.

I hope you keep on working on this and that the community and the HQ team will support you.

3 Likes