mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-10-07 20:16:31 +08:00
Add @home CLI argument for opening homepage (#1868)
This commit is contained in:
parent
74c3294556
commit
c03420798f
1 changed files with 15 additions and 9 deletions
|
@ -20,14 +20,17 @@ defmodule LivebookCLI.Server do
|
||||||
An optional open-command can be given as argument. It will open
|
An optional open-command can be given as argument. It will open
|
||||||
up a browser window according these rules:
|
up a browser window according these rules:
|
||||||
|
|
||||||
* If the open-command is "new", the browser window will point
|
* If the open-command is "@home", the browser window will point
|
||||||
|
to the home page
|
||||||
|
|
||||||
|
* If the open-command is "@new", the browser window will point
|
||||||
to a new notebook
|
to a new notebook
|
||||||
|
|
||||||
* If the open-command is a URL, the notebook at the given URL
|
* If the open-command is a URL, the notebook at the given URL
|
||||||
will be imported
|
will be imported
|
||||||
|
|
||||||
* If the open-command is a directory, the browser window will point
|
* If the open-command is a directory, the browser window will point
|
||||||
to the home page with the directory selected
|
to the open page with the directory selected
|
||||||
|
|
||||||
* If the open-command is a notebook file, the browser window will point
|
* If the open-command is a notebook file, the browser window will point
|
||||||
to the opened notebook
|
to the opened notebook
|
||||||
|
@ -39,7 +42,6 @@ defmodule LivebookCLI.Server do
|
||||||
## Available options
|
## Available options
|
||||||
|
|
||||||
--cookie Sets a cookie for the app distributed node
|
--cookie Sets a cookie for the app distributed node
|
||||||
--home The home path for the Livebook instance
|
|
||||||
--ip The ip address to start the web application on, defaults to 127.0.0.1
|
--ip The ip address to start the web application on, defaults to 127.0.0.1
|
||||||
Must be a valid IPv4 or IPv6 address
|
Must be a valid IPv4 or IPv6 address
|
||||||
--name Sets a name for the app distributed node
|
--name Sets a name for the app distributed node
|
||||||
|
@ -149,12 +151,21 @@ defmodule LivebookCLI.Server do
|
||||||
:ok
|
:ok
|
||||||
end
|
end
|
||||||
|
|
||||||
defp open_from_args(base_url, ["new"]) do
|
defp open_from_args(base_url, ["@home"]) do
|
||||||
|
Livebook.Utils.browser_open(base_url)
|
||||||
|
end
|
||||||
|
|
||||||
|
defp open_from_args(base_url, ["@new"]) do
|
||||||
base_url
|
base_url
|
||||||
|> set_path("/learn/notebooks/new")
|
|> set_path("/learn/notebooks/new")
|
||||||
|> Livebook.Utils.browser_open()
|
|> Livebook.Utils.browser_open()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp open_from_args(base_url, ["new"]) do
|
||||||
|
IO.warn(~s/passing "new" as an argument is deprecated, use "@new" instead/, [])
|
||||||
|
open_from_args(base_url, ["@new"])
|
||||||
|
end
|
||||||
|
|
||||||
defp open_from_args(base_url, [url_or_file_or_dir]) do
|
defp open_from_args(base_url, [url_or_file_or_dir]) do
|
||||||
url = URI.parse(url_or_file_or_dir)
|
url = URI.parse(url_or_file_or_dir)
|
||||||
path = Path.expand(url_or_file_or_dir)
|
path = Path.expand(url_or_file_or_dir)
|
||||||
|
@ -221,11 +232,6 @@ defmodule LivebookCLI.Server do
|
||||||
])
|
])
|
||||||
end
|
end
|
||||||
|
|
||||||
defp opts_to_config([{:home, home} | opts], config) do
|
|
||||||
home = Livebook.Config.writable_dir!("--home", home)
|
|
||||||
opts_to_config(opts, [{:livebook, :home, home} | config])
|
|
||||||
end
|
|
||||||
|
|
||||||
defp opts_to_config([{:sname, sname} | opts], config) do
|
defp opts_to_config([{:sname, sname} | opts], config) do
|
||||||
sname = String.to_atom(sname)
|
sname = String.to_atom(sname)
|
||||||
opts_to_config(opts, [{:livebook, :node, {:shortnames, sname}} | config])
|
opts_to_config(opts, [{:livebook, :node, {:shortnames, sname}} | config])
|
||||||
|
|
Loading…
Add table
Reference in a new issue