diff options
author | Alex S <alex.strizhakov@gmail.com> | 2019-08-30 13:22:21 +0300 |
---|---|---|
committer | Alex S <alex.strizhakov@gmail.com> | 2019-09-11 09:25:33 +0300 |
commit | 511d93fa5486a58b63576ce1b8af551bbafe703f (patch) | |
tree | 37221fd1974d6436a4897e9e9e6efdf3731d682f | |
parent | 67e430093187c50f307810e88ed0e73afe825b75 (diff) | |
download | pleroma-511d93fa5486a58b63576ce1b8af551bbafe703f.tar.gz |
mix docs generates config.md
-rw-r--r-- | lib/mix/tasks/pleroma/docs.ex | 40 | ||||
-rw-r--r-- | mix.exs | 3 |
2 files changed, 42 insertions, 1 deletions
diff --git a/lib/mix/tasks/pleroma/docs.ex b/lib/mix/tasks/pleroma/docs.ex new file mode 100644 index 000000000..5ae3b8716 --- /dev/null +++ b/lib/mix/tasks/pleroma/docs.ex @@ -0,0 +1,40 @@ +defmodule Mix.Tasks.Pleroma.Docs do + use Mix.Task + import Mix.Pleroma + + @shortdoc "Generates docs from descriptions.exs" + @moduledoc """ + Generates docs from `descriptions.exs`. + + Supports two formats: `markdown` and `json`. + + ## Generate markdown docs + + `mix pleroma.docs` + + ## Generate json docs + + `mix pleroma.docs json`s + """ + + def run(["json"]) do + do_run(Pleroma.Docs.JSON) + end + + def run(_) do + do_run(Pleroma.Docs.Markdown) + end + + defp do_run(implementation) do + start_pleroma() + descriptions = Config.Reader.read!("config/description.exs") + + {:ok, file_path} = + Pleroma.Docs.Formatter.process( + implementation, + descriptions[:pleroma][:config_description] + ) + + Mix.shell().info([:green, "Markdown docs successfully generated to #{file_path}."]) + end +end @@ -172,7 +172,8 @@ defmodule Pleroma.Mixfile do "ecto.rollback": ["pleroma.ecto.rollback"], "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"], "ecto.reset": ["ecto.drop", "ecto.setup"], - test: ["ecto.create --quiet", "ecto.migrate", "test"] + test: ["ecto.create --quiet", "ecto.migrate", "test"], + docs: ["pleroma.docs", "docs"] ] end |