Livebook notebook links
Mix.install([{:kino, "~> 0.8.0"}])
About
- Create a link for a notebook
- https://livebook.dev/badge
Generate “Run in Livebook” button
default = "https://github.com/elixir-nx/bumblebee/blob/main/notebooks/examples.livemd"
livemd_src_url_input = Kino.Input.textarea("Notebook source URL", default: default)
select_options = ~w[blue black gray pink] |> Enum.map(&{&1, String.capitalize(&1)})
button_color_input = Kino.Input.select("Button color", select_options)
livemd_src_url = Kino.Input.read(livemd_src_url_input)
button_color = Kino.Input.read(button_color_input)
run_in_livebook_url = &("https://livebook.dev/run?url=" <> URI.encode_www_form(&1))
run_in_livebook_button = &"[](#{&1})"
livemd_src_url
|> run_in_livebook_url.()
|> run_in_livebook_button.(button_color)
|> dbg()
|> IO.puts()
Generate “Run notebook” URL
livebook_url_input = Kino.Input.textarea("Livebook URL")
livemd_src_url = Kino.Input.read(livemd_src_url_input)
livebook_url = Kino.Input.read(livebook_url_input)
[Path.join([livebook_url, "/import"]), "?", URI.encode_query(url: livemd_src_url)]
|> IO.puts()