@@ -11,15 +11,10 @@ defmodule ExDoc.Formatter.MARKDOWN do
1111 |> Enum . filter ( & ( & 1 . source_format == "text/markdown" ) )
1212 |> Enum . split_with ( & ( & 1 . type != :task ) )
1313
14- groups =
15- Map . new ( [ modules: modules , mix_tasks: tasks , extras: extras ] , fn { k , v } ->
16- { k , group_by_group ( v ) }
17- end )
18-
1914 all_files =
20- generate_nav ( config , groups ) ++
21- generate_api_reference ( config , groups ) ++
22- generate_extras ( extras , config ) ++
15+ generate_nav ( config , modules , tasks , extras ) ++
16+ generate_api_reference ( config , modules , tasks ) ++
17+ generate_extras ( config , extras ) ++
2318 generate_list ( config , modules ) ++
2419 generate_list ( config , tasks )
2520
@@ -33,7 +28,11 @@ defmodule ExDoc.Formatter.MARKDOWN do
3328 |> String . replace ( ~r/ \n {3,}/ , "\n \n " )
3429 end
3530
36- defp generate_nav ( config , % { modules: modules , mix_tasks: mix_tasks , extras: extras } ) do
31+ defp generate_nav ( config , modules , tasks , extras ) do
32+ modules = group_by_group ( modules )
33+ mix_tasks = group_by_group ( tasks )
34+ extras = group_by_group ( extras )
35+
3736 content =
3837 config
3938 |> Templates . llms_txt_template ( modules , mix_tasks , extras )
@@ -46,11 +45,14 @@ defmodule ExDoc.Formatter.MARKDOWN do
4645 [ filename ]
4746 end
4847
49- defp generate_api_reference ( % { api_reference: false } , _groups ) do
48+ defp generate_api_reference ( % { api_reference: false } , _modules , _tasks ) do
5049 [ ]
5150 end
5251
53- defp generate_api_reference ( config , % { modules: modules , mix_tasks: mix_tasks } ) do
52+ defp generate_api_reference ( config , modules , tasks ) do
53+ modules = group_by_group ( modules )
54+ mix_tasks = group_by_group ( tasks )
55+
5456 content =
5557 config
5658 |> Templates . api_reference_template ( modules , mix_tasks )
@@ -69,7 +71,7 @@ defmodule ExDoc.Formatter.MARKDOWN do
6971 |> Enum . map ( & { hd ( & 1 ) . group , & 1 } )
7072 end
7173
72- defp generate_extras ( extras , config ) do
74+ defp generate_extras ( config , extras ) do
7375 for % ExDoc.ExtraNode { id: id , source_doc: content } <- extras do
7476 filename = "#{ id } .md"
7577
@@ -81,13 +83,13 @@ defmodule ExDoc.Formatter.MARKDOWN do
8183
8284 defp generate_list ( config , nodes ) do
8385 nodes
84- |> Task . async_stream ( & generate_module ( & 1 , config ) , timeout: :infinity )
86+ |> Task . async_stream ( & generate_module ( config , & 1 ) , timeout: :infinity )
8587 |> Enum . map ( & elem ( & 1 , 1 ) )
8688 end
8789
8890 ## Helpers
8991
90- defp generate_module ( module_node , config ) do
92+ defp generate_module ( config , module_node ) do
9193 content =
9294 config
9395 |> Templates . module_template ( module_node )
0 commit comments