Adzz
Announcing GitHub - Adzz/livebook_helpers: Generates livebooks from module docs · GitHub
This is a library that generates a livebook from a module’s docs. It turns the module, type and function docs into a livebook, turning any doctests and elixir snippets into elixir cells and setting the doc itself as markdown.
This is helpful for boostrapping livebooks and having interactive versions of the Hexdoccs. You can for example set up a pipeline on hex publish that generates the livebook as part of it.
I’ve experimented with generating a livebook for all the core Elixir modules, for example here is the livebook for the Collectable protocol. Here is a livebook from the Time module.
Feedback welcome ![]()
Trending in Announcing
WebAuthnLiveComponent WebAuthnComponents
See this post about renaming the package.
Passwordless authentication for Phoenix LiveView app...
New
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
I released Doggo, a collection of unstyled Phoenix components.
https://github.com/woylie/doggo
Features
Unstyled Phoenix components....
New
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
Hi everyone,
I’ve been working on this protobuf library for 3 years. We use it in the company I work for, EasyMile, to communicate with ...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
I’ll shortly be launching Text, a nascent text analysis library.
Current functionality
In this early version (not ready for prime time) ...
New
Other Trending Topics
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
Hey folks,
I just published a post about Hologram’s funding and where the project goes next - the short version:
Curiosum as Main Spons...
New
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with.
But I don’t use it anymore.
Serverless was the promis...
New
Latest Livebook Threads
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ai
- #ecto-query
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #metaprogramming
- #hex










Showing Posts 1 to 4- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
Adzz
Here is a blog post introducing what you can do with it:
Rich_Morin
This is a very cool hack, but using it still involves a lot of friction. So, I wonder how hard it would be to move the hack into full scale production. For example:
A daemon could automagically run livebook_helpers on everything in https://hexdocs.pm, etc. The results would be stored somewhere in the cloud.
A dynamic compendium of livebooks would be distributed, allowing users to import and access the generated livebooks, on demand.
For extra credit, the compendium might provide an easy way for users to submit feedback to the authors of the hexdocs documents.
-r
Adzz
I think this nicely sums up most of my programming career to date
.
Some nice ideas. I think if we were to go that route it could be good to build it into hexdocs itself.
I did try to host for free all the core Elixir module docs on Fly.io but one problem I ran into is there is a bit of a limit on the size of livebook that you can reasonably run.
For example you can’t open or run a livebook created in this manner for the Enum module in Elixir - it’s simply too large.
There isn’t really a workaround for this yet either - each Elixir cell is an instance of the monaco editor so if you have a lot of them the page gets very heavy. See this issue for more.
Rich_Morin
Someone clueful will no doubt solve the loading latency and resource usage issues. However, to me the more interesting question is: “How should a communal project Livebook for Elixir developers be structured and implemented?”
Since I’ve come up with a bit of a wishlist, here is a speculative description of what this resource might look like. Comments and suggestions welcome… (ducking
)
-r
Like @Adzz, I really like the notion of having Hexdocs-based Livebooks (and assorted other resources) made available as a “starting point” for my Livebook project notebooks. Here’s a possible use case:
Starting a new project, I instantiate a new project notebook, based on a specified Git branch. This branch might be a group or individual effort; either way it represents someone’s idea of a useful collection.
The notebook would typically have sections containing example code, library documentation, tools, etc. Some of these would be turned on by default; others would be included and described, but commented out.
Most of these items would be well known and popular, but others’ inclusion might be based on personal preferences. In any case, collectively they would make a well-tuned starting point for projects of a particular nature.
After downloading a canonical starting point, I would start it up. At this point, the Livebook would access and fold in preferences set in local control files. At this point, I would have a “live” notebook, ready for customization for a project.
Of course, this is merely the starting point; some of the gnarlier problems deal with how to handle continuing divergence of local notebooks from current practice, etc. I submit that these sorts of issues are already dealt with in various ways (eg, diffs and patch files). That said, I’ll be as interested as anyone to see what might be done in practice.