Skip to content

Commit fbbc4e5

Browse files
authored
don't copy unrelated assets when preview (#99)
1 parent f59d068 commit fbbc4e5

File tree

6 files changed

+27
-4
lines changed

6 files changed

+27
-4
lines changed

src/preview.jl

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,18 @@ function copy_assets_and_configs(src_page_dir, dst_build_dir=pwd())
185185
for assets in assets_dirs
186186
src_assets = abspath(root, assets)
187187
dst_assets_path = abspath(dst_build_dir, relpath(src_assets, dirname(src_page_dir)))
188-
mkpath(dirname(dst_assets_path))
189-
ispath(dst_assets_path) || cp(src_assets, dst_assets_path; force=true)
188+
dst_sec_dir = dirname(dst_assets_path)
189+
190+
# only copy assets when there are section or card entries
191+
if isdir(dst_sec_dir)
192+
entry_names = filter(readdir(dst_sec_dir)) do x
193+
x = joinpath(root, x)
194+
is_democard(x) || is_demosection(x)
195+
end
196+
if !isempty(entry_names)
197+
ispath(dst_assets_path) || cp(src_assets, dst_assets_path; force=true)
198+
end
199+
end
190200
end
191201
end
192202

test/assets/preview/assets/placeholder

Whitespace-only changes.

test/assets/preview/other_scripts/assets/placeholder

Whitespace-only changes.

test/assets/preview/other_scripts/nested/assets/placeholder

Whitespace-only changes.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
x, y = 1, 2
2+
z = x + y

test/preview.jl

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
md_index = joinpath(page_dir, "index.md")
2323
@test_reference joinpath("references", "preview", "index_sec_nopage.md") read(md_index, String) by=ignore_CR
2424

25-
@test readdir(page_dir) == ["covers", "index.md", "scripts"]
25+
@test readdir(page_dir) == ["assets", "covers", "index.md", "scripts"]
2626
@test readdir(joinpath(page_dir, "covers")) == ["demo2.svg", "democards_logo.svg"]
2727
@test readdir(joinpath(page_dir, "scripts")) == ["assets", "demo1.ipynb", "demo1.jl", "demo1.md", "demo2.md"]
2828
end
@@ -45,7 +45,7 @@
4545
md_index = joinpath(page_dir, "index.md")
4646
@test_reference joinpath("references", "preview", "index_file.md") read(md_index, String) by=ignore_CR
4747

48-
@test readdir(page_dir) == ["covers", "index.md", "scripts"]
48+
@test readdir(page_dir) == ["assets", "covers", "index.md", "scripts"]
4949
@test readdir(joinpath(page_dir, "covers")) == ["demo2.svg"]
5050
@test readdir(joinpath(page_dir, "scripts")) == ["assets", "demo2.md"]
5151
@test readdir(joinpath(page_dir, "scripts", "assets")) == ["logo.svg"]
@@ -77,4 +77,15 @@
7777
@test isfile(index_page)
7878
index_page = @suppress_err preview_demos(joinpath(abs_root, "preview"), require_html=true)
7979
@test isfile(index_page)
80+
81+
@testset "don't copy unrelated assets" begin
82+
src_page_dir = joinpath(abs_root, "preview")
83+
@test readdir(src_page_dir) == ["assets", "other_scripts", "scripts"]
84+
page_dir = @suppress_err preview_demos(joinpath(src_page_dir, "other_scripts", "nested", "demo3.jl"), theme="grid", require_html=false)
85+
86+
# `assets` is copied, but `scripts` is not
87+
@test readdir(page_dir) == ["assets", "covers", "index.md", "other_scripts"]
88+
@test readdir(joinpath(page_dir, "other_scripts")) == ["assets", "nested"]
89+
@test readdir(joinpath(page_dir, "other_scripts", "nested")) == ["assets", "demo3.ipynb", "demo3.jl", "demo3.md"]
90+
end
8091
end

0 commit comments

Comments
 (0)