@@ -11,9 +11,14 @@ 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+
1419 all_files =
15- generate_nav ( config , modules , tasks , extras ) ++
16- generate_api_reference ( config , modules , tasks ) ++
20+ generate_nav ( config , groups ) ++
21+ generate_api_reference ( config , groups ) ++
1722 generate_extras ( extras , config ) ++
1823 generate_list ( config , modules ) ++
1924 generate_list ( config , tasks )
@@ -28,34 +33,37 @@ defmodule ExDoc.Formatter.MARKDOWN do
2833 |> String . replace ( ~r/ \n {3,}/ , "\n \n " )
2934 end
3035
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-
36+ defp generate_nav ( config , % { modules: modules , mix_tasks: mix_tasks , extras: extras } ) do
3637 content =
37- Templates . llms_txt_template ( config , modules , mix_tasks , extras )
38+ config
39+ |> Templates . llms_txt_template ( modules , mix_tasks , extras )
3840 |> normalize_output ( )
3941
4042 filename = "llms.txt"
41- File . write ( Path . join ( config . output , filename ) , content )
43+
44+ config . output
45+ |> Path . join ( filename )
46+ |> File . write ( content )
47+
4248 [ filename ]
4349 end
4450
45- defp generate_api_reference ( % { api_reference: false } , _modules , _tasks ) do
51+ defp generate_api_reference ( % { api_reference: false } , _groups ) do
4652 [ ]
4753 end
4854
49- defp generate_api_reference ( config , modules , tasks ) do
50- modules = group_by_group ( modules )
51- mix_tasks = group_by_group ( tasks )
52-
55+ defp generate_api_reference ( config , % { modules: modules , mix_tasks: mix_tasks } ) do
5356 content =
54- Templates . api_reference_template ( config , modules , mix_tasks )
57+ config
58+ |> Templates . api_reference_template ( modules , mix_tasks )
5559 |> normalize_output ( )
5660
5761 filename = "api-reference.md"
58- File . write ( Path . join ( config . output , filename ) , content )
62+
63+ config . output
64+ |> Path . join ( filename )
65+ |> File . write ( content )
66+
5967 [ filename ]
6068 end
6169
0 commit comments