Web Dev Solutions

Catalin Mititiuc

aboutsummaryrefslogtreecommitdiff
path: root/lib/mix
diff options
context:
space:
mode:
authorCatalin Mititiuc <webdevcat@proton.me>2024-12-11 16:59:15 -0800
committerCatalin Mititiuc <webdevcat@proton.me>2024-12-11 16:59:15 -0800
commit9e8392a939825a8920004922d51b123b1a92b6b9 (patch)
tree5ac4028d1838275ae1b917d72852e8f5e5fd7842 /lib/mix
parent9d9a9bb13e99332a1fbe65d807b83bd1824eda5f (diff)
Get path from config in mix task
Diffstat (limited to 'lib/mix')
-rw-r--r--lib/mix/tasks/pandoc.ex18
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/mix/tasks/pandoc.ex b/lib/mix/tasks/pandoc.ex
index 4da8bf1..94d7dd5 100644
--- a/lib/mix/tasks/pandoc.ex
+++ b/lib/mix/tasks/pandoc.ex
@@ -1,6 +1,8 @@
defmodule Mix.Tasks.Pandoc do
use Mix.Task
+ @ext ".md"
+
@impl true
def run(args) do
switches = [runtime_config: :boolean]
@@ -17,15 +19,17 @@ defmodule Mix.Tasks.Pandoc do
install_and_run(remaining_args)
end
- defp install_and_run([profile | args] = _all) do
- IO.puts("mix task args #{inspect(args)}")
+ defp install_and_run([profile | _args] = all) do
+ IO.puts("Converting markdown...")
- "documents"
- |> File.ls!()
- |> Enum.each(fn path ->
- all = [profile, path]
+ profile = String.to_atom(profile)
+ config = Application.get_env(:pandoc, profile)
- case Pandoc.run(String.to_atom(profile), [path]) do
+ (config[:cd] || File.cwd!())
+ |> Path.join("*#{@ext}")
+ |> Path.wildcard()
+ |> Enum.each(fn path ->
+ case Pandoc.run(profile, Path.basename(path)) do
0 -> :ok
status -> Mix.raise("`mix pandoc #{Enum.join(all, " ")}` exited with #{status}")
end