ParseGlob: What is the pattern to parse all templates recursively within a directory?
Asked Answered
D

2

5
Template.ParseGlob("*.html") //fetches all html files from current directory.
Template.ParseGlob("**/*.html") //Seems to only fetch at one level depth

Im not looking for a "Walk" solution. Just want to know if this is possible. I don't quite understand what "pattern" this expects. if i can get an explanation about the pattern used by ParseGlob that would be great too.

Debbiedebbra answered 9/9, 2014 at 13:19 Comment(0)
P
6

The code text/template/helper.go mentions

 // The pattern is processed by filepath.Glob and must match at least one file.

filepath.Glob() says that "the syntax of patterns is the same as in Match"

Match returns true if name matches the shell file name pattern.

The implementation of Match() doesn't seem to treat '**' differently, and only consider '*' as matching any sequence of non-Separator characters.
That would mean '**' is equivalent to '*', which in turn would explain why the match works at one level depth only.

Poundage answered 9/9, 2014 at 13:37 Comment(0)
F
2

So, since the ParseGlob can't load templates recursively we have to use path/filepath.Walk function. But this way gives more opportunities.

https://gist.github.com/logrusorgru/abd846adb521a6fb39c7405f32fec0cf

Floorer answered 4/8, 2018 at 4:5 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.