Packages

Yet another static website generator written in Elixir with MD parser (forked from serum)

Current section

Files

Jump to
serum_md lib serum dev_server command_handler impl.ex
Raw

lib/serum/dev_server/command_handler/impl.ex

defmodule Serum.DevServer.CommandHandler.Impl do
@moduledoc false
_moduledocp = """
An implementation of `Serum.DevServer.CommandHandler` behaviour.
"""
alias Serum.DevServer.CommandHandler
@behaviour CommandHandler
@impl CommandHandler
@spec open_url(url :: binary()) :: :ok | :error
def open_url(url) do
{open_command, args} =
case :os.type() do
{:unix, :darwin} -> {"open", []}
{:unix, _} -> {"xdg-open", []}
{:win32, _} -> {"rundll32", ["url.dll,FileProtocolHandler"]}
end
case System.find_executable(open_command) do
nil ->
:error
_ ->
try do
System.cmd(open_command, args ++ [url])
:ok
rescue
_ -> :error
end
end
end
end