eta-dev / eta

Embedded JS template engine for Node, Deno, and the browser. Lighweight, fast, and pluggable. Written in TypeScript
https://eta.js.org
MIT License
1.42k stars 65 forks source link

Configuration Option "views": support multiple directories with fallbacks #288

Open recrof opened 5 months ago

recrof commented 5 months ago

Is your feature request related to a problem? Please describe.

I have multiple directories that contain templates with same file name:

templates/more-specific-dir/header.eta
templates/more-specific-dir/footer.eta
templates/header.eta
templates/footer.eta
templates/body.eta

I would like to be able to use template from templates/more-specific-dir/ if it exists, but fallback to templates/ if eta can't find it in first directory(like body.eta).

Describe the solution you'd like

Configuration option views could support array as value. example: ['templates/primary-directory', 'templates/first-fallback', 'templates/second-fallback', ...]

Describe alternatives you've considered

ejs supports multiple directories for views, however I like Eta better.

multivoltage commented 5 months ago

It seems a cool feature