mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-27 06:00:25 +03:00
resources: Create a common ResourceFinder interface
And make both .Resources and resources implement it. This gets us 2 new methods/functions, so you can now also do: * .Resources.Get * resources.ByType Note that GetRemote is not covered by this interface, as that is only available as a global template function. Fixes #8653
This commit is contained in:
parent
20162518c4
commit
e58a540895
7 changed files with 148 additions and 36 deletions
|
@ -696,6 +696,8 @@ func TestResourcesMatch(t *testing.T) {
|
|||
b.WithContent("page.md", "")
|
||||
|
||||
b.WithSourceFile(
|
||||
"assets/images/img1.png", "png",
|
||||
"assets/images/img2.jpg", "jpg",
|
||||
"assets/jsons/data1.json", "json1 content",
|
||||
"assets/jsons/data2.json", "json2 content",
|
||||
"assets/jsons/data3.xml", "xml content",
|
||||
|
@ -704,7 +706,9 @@ func TestResourcesMatch(t *testing.T) {
|
|||
b.WithTemplates("index.html", `
|
||||
{{ $jsons := (resources.Match "jsons/*.json") }}
|
||||
{{ $json := (resources.GetMatch "jsons/*.json") }}
|
||||
{{ printf "JSONS: %d" (len $jsons) }}
|
||||
{{ printf "jsonsMatch: %d" (len $jsons) }}
|
||||
{{ printf "imagesByType: %d" (len (resources.ByType "image") ) }}
|
||||
{{ printf "applicationByType: %d" (len (resources.ByType "application") ) }}
|
||||
JSON: {{ $json.RelPermalink }}: {{ $json.Content }}
|
||||
{{ range $jsons }}
|
||||
{{- .RelPermalink }}: {{ .Content }}
|
||||
|
@ -715,7 +719,10 @@ JSON: {{ $json.RelPermalink }}: {{ $json.Content }}
|
|||
|
||||
b.AssertFileContent("public/index.html",
|
||||
"JSON: /jsons/data1.json: json1 content",
|
||||
"JSONS: 2", "/jsons/data1.json: json1 content")
|
||||
"jsonsMatch: 2",
|
||||
"imagesByType: 2",
|
||||
"applicationByType: 3",
|
||||
"/jsons/data1.json: json1 content")
|
||||
}
|
||||
|
||||
func TestResourceMinifyDisabled(t *testing.T) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue