diff --git a/lib/mix/tasks/mobilizon/site_map.ex b/lib/mix/tasks/mobilizon/site_map.ex new file mode 100644 index 000000000..ef4162892 --- /dev/null +++ b/lib/mix/tasks/mobilizon/site_map.ex @@ -0,0 +1,21 @@ +defmodule Mix.Tasks.Mobilizon.SiteMap do + @moduledoc """ + Task to generate a new Sitemap + """ + use Mix.Task + + alias Mix.Tasks.Mobilizon.Common + alias Mobilizon.Service.SiteMap + alias Mobilizon.Web.Endpoint + + @preferred_cli_env "prod" + + @shortdoc "Generates a new Sitemap" + def run(["generate"]) do + Common.start_mobilizon() + + with {:ok, :ok} <- SiteMap.generate_sitemap() do + Mix.shell().info("Sitemap saved to #{Endpoint.url()}/sitemap.xml") + end + end +end