diff --git a/lib/mix/tasks/notebook.ex b/lib/mix/tasks/notebook.ex new file mode 100644 index 00000000..1770b976 --- /dev/null +++ b/lib/mix/tasks/notebook.ex @@ -0,0 +1,27 @@ +defmodule Mix.Tasks.Notebook do + @shortdoc "Start Phoenix + Livebook at localhost:8081/notebooks/algorithm_analysis.livemd" + @moduledoc false + use Mix.Task + + @impl Mix.Task + def run(_args) do + hostname = :inet.gethostname() |> elem(1) |> List.to_string() + cookie = "microwaveprop_notebook" + node = "prop@#{hostname}" + + IO.puts(""" + Start Phoenix with a node name first: + + iex --sname prop --cookie #{cookie} -S mix phx.server + + Then in another terminal: + + LIVEBOOK_NODE=#{node} LIVEBOOK_COOKIE=#{cookie} livebook server \\ + --port 8081 \\ + --default-runtime attached:#{node}:#{cookie} \\ + --open notebooks/algorithm_analysis.livemd + + Livebook will be at http://localhost:8081 + """) + end +end