I have an Elixir library that I’d like to create interactive documentation for. I saw livebook and thought it would be a perfect fit. I am curious if its possible to write said documentation and then be able to create a sharable version of it that can be accessed by anyone.
I launched livebook via fly.io and did a little test page and then shared it. I opened it up on my phone and it asked me to authenticate.
Is my thinking off base to think that a livebook could be something like https://readme.com/ but with inline elixir code evaluation?
Afaik not. Not in a way that would make your Livebook secure. As code input is executed at the server, there is no way to prevent malicious code from running on it.
There are a few threads at this forum about sandboxing Elixir; there you’ll find explanations why it can’t be done (typing at mobile so hard to link)
Livebook seems to have its uses for sharing code snippets and working collaboratively on something, but be careful about opening it up to anyone as it exposes lots of security risks.
A Livebook notebook session is opening access to whatever server/computer the Livebook application is running on. When running in prod mode (highly recommended) anyone with a valid token authentication can use Elixir functions to inspect the filesystems, environment variables, run other programs, and create remote connections to other servers source
The idea currently would be, that you create a liveview page and that people having access to a (their own) livebook server execute and play with it in there.
Decentralized: Livebook is open-source and you can run it anywhere. The “Run in Livebook” badges makes it easy to import any Livebook into your preferred Livebook instance.