11ty / eleventy-plugin-template-languages

Official template syntax plugins for Eleventy
MIT License
2 stars 2 forks source link

Allow referencing Handlebars partials by filename instead of subdirectory #8

Open davegomez opened 1 year ago

davegomez commented 1 year ago

Operating system

macOS Ventura 13.2.1

Eleventy

2.0.0

Describe the bug

Partials inside subdirectories in _includes are not found.

Is there any configuration option or syntax that allows me to access partials inside subdirectories?

Reproduction steps

Having the following files:

src/views/index.hbs
src/_includes/navbar.hbs
src/_includes/ui/button.hbs

navbar.hbs uses {{> button }} but I'm getting the following error when trying to compile the view:

[11ty] 1. Having trouble rendering hbs template ./src/views/index.hbs (via TemplateContentRenderError)
[11ty] 2. The partial button could not be found (via Error)

If I move the file one level up to the _includes directory it will work, but our project has hundreds of partials and we need the directories to keep them organized.

Expected behavior

No response

Reproduction URL

No response

Screenshots

No response

davegomez commented 1 year ago

I found Eleventy is actually processing all the partials inside subdirectories, the problem is that I have to extend the route if I want to use them, so it would be {{> ui/button }} instead of {{> button }}.

I wonder if there is any way to avoid this and just use the name of the partial to avoid changing the hundreds of pages we already have in production?

zachleat commented 1 year ago

Is this a duplicate of 11ty/eleventy#2601?