Restore globbed path behavior in front matter defaults (#9762)
Restore existing behavior in v4.3.x wherein a scope with path `_*/**/index.md` matches `_label/index.md` as well instead of just `_label/dir/index.md`.
This commit is contained in:
parent
33e8a84a00
commit
c5cd1fb04f
|
@ -109,7 +109,7 @@ module Jekyll
|
|||
sanitized_path = sanitize_path(path)
|
||||
|
||||
if rel_scope_path.include?("*")
|
||||
File.fnmatch?(strip_collections_dir(rel_scope_path), sanitized_path)
|
||||
glob_scope(sanitized_path, rel_scope_path)
|
||||
else
|
||||
path_is_subpath?(sanitized_path, strip_collections_dir(rel_scope_path))
|
||||
end
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
<svg></svg>
|
Before Width: | Height: | Size: 13 B |
|
@ -1,3 +0,0 @@
|
|||
---
|
||||
speciality: Ruby
|
||||
---
|
|
@ -1 +0,0 @@
|
|||
<svg></svg>
|
Before Width: | Height: | Size: 13 B |
|
@ -1,3 +0,0 @@
|
|||
---
|
||||
speciality: JS Frameworks
|
||||
---
|
|
@ -25,6 +25,10 @@ class TestFrontMatterDefaults < JekyllUnitTest
|
|||
assert_equal "val", @affected.data["key"]
|
||||
assert_nil @not_affected.data["key"]
|
||||
end
|
||||
|
||||
should "not call Dir.glob block" do
|
||||
refute_includes @output, "Globbed Scope Path:"
|
||||
end
|
||||
end
|
||||
|
||||
context "A site with full front matter defaults (glob)" do
|
||||
|
@ -49,38 +53,9 @@ class TestFrontMatterDefaults < JekyllUnitTest
|
|||
assert_equal "val", @affected.data["key"]
|
||||
assert_nil @not_affected.data["key"]
|
||||
end
|
||||
end
|
||||
|
||||
context "A site with collections and front matter defaults with glob patterns" do
|
||||
setup do
|
||||
site = fixture_site(
|
||||
"collections_dir" => "gathering",
|
||||
"collections" => { "staff" => { "output" => true } },
|
||||
"defaults" => [
|
||||
{
|
||||
"scope" => { "path" => "_staff/**/*.md", "type" => "staff" },
|
||||
"values" => { "layout" => "simple" },
|
||||
},
|
||||
{
|
||||
"scope" => { "path" => "_staff/**/*.svg" },
|
||||
"values" => { "css_class" => "epilson" },
|
||||
},
|
||||
]
|
||||
)
|
||||
site.read
|
||||
@staff = site.collections["staff"]
|
||||
end
|
||||
|
||||
should "affect the appropriate items only" do
|
||||
@staff.docs.each do |item|
|
||||
assert_equal "simple", item.data["layout"]
|
||||
assert_nil item.data["css_class"]
|
||||
end
|
||||
|
||||
@staff.files.each do |item|
|
||||
assert_equal "epilson", item.data["css_class"]
|
||||
assert_nil item.data["layout"]
|
||||
end
|
||||
should "call Dir.glob block" do
|
||||
assert_includes @output, "Globbed Scope Path:"
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue