File tree Expand file tree Collapse file tree 2 files changed +35
-1
lines changed
Expand file tree Collapse file tree 2 files changed +35
-1
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,15 @@ defmodule ExDoc.Formatter.MARKDOWN do
66 def run ( config , project_nodes , extras ) when is_map ( config ) do
77 File . mkdir_p! ( config . output )
88
9+ static_files =
10+ if Enum . all? ( config . assets , fn { _k , target_dir } ->
11+ config . output |> Path . join ( target_dir ) |> File . exists? ( )
12+ end ) do
13+ [ ]
14+ else
15+ ExDoc.Formatter . copy_assets ( config . assets , config . output )
16+ end
17+
918 { modules , tasks } =
1019 project_nodes
1120 |> Enum . filter ( & ( & 1 . source_format == "text/markdown" ) )
@@ -16,7 +25,8 @@ defmodule ExDoc.Formatter.MARKDOWN do
1625 generate_api_reference ( config , modules , tasks ) ++
1726 generate_extras ( config , extras ) ++
1827 generate_list ( config , modules ) ++
19- generate_list ( config , tasks )
28+ generate_list ( config , tasks ) ++
29+ static_files
2030
2131 entrypoint = config . output |> Path . join ( "llms.txt" ) |> Path . relative_to_cwd ( )
2232 % { entrypoint: entrypoint , build: List . flatten ( all_files ) }
Original file line number Diff line number Diff line change @@ -288,4 +288,28 @@ defmodule ExDoc.Formatter.MarkdownTest do
288288 "*Consult [api-reference.md](api-reference.md) for complete listing*"
289289 end
290290 end
291+
292+ describe "assets" do
293+ test "copies assets from source" , % { tmp_dir: tmp_dir } = context do
294+ dir_name = Path . join ( tmp_dir , "hello" )
295+ File . mkdir! ( dir_name )
296+ dir_name |> Path . join ( "world" ) |> File . touch! ( )
297+
298+ config = config ( context , assets: % { dir_name => "assets" } )
299+
300+ generate ( config )
301+
302+ assert File . regular? ( tmp_dir <> "/assets/world" )
303+ end
304+
305+ test "does not override previous work from other formatters" , % { tmp_dir: tmp_dir } = context do
306+ dir_name = Path . join ( tmp_dir , "assets" )
307+ File . mkdir! ( dir_name )
308+ info = File . stat! ( dir_name )
309+ config = config ( context , assets: % { "test/tmp/markdown_assets/hello" => "assets" } )
310+ generate ( config )
311+
312+ assert File . stat! ( dir_name ) == info
313+ end
314+ end
291315end
You can’t perform that action at this time.
0 commit comments