gohugoio / hugo

The world’s fastest framework for building websites.
https://gohugo.io
Apache License 2.0
74.5k stars 7.44k forks source link

Default path resolution for partials when a directory is passed #11117

Open UtkarshVerma opened 1 year ago

UtkarshVerma commented 1 year ago

Hugo's partial resolution does not currently support directories as paths. Having them would be convenient as they would allow more modular and self contained Hugo modules. For example, I'm currently developing something like this:

layouts/partials/
-> identicon/
----> color.html
----> main.html
----> path.html

To use this module, I have to explicitly state that I want to include the main partial:

{{ partial "identicon/main" . }}

However, it makes more sense to call {{ partial "identicon" }} and have it resolve to identicon/main.html or identicon/index.html by default.

To attain this behaviour with the current release, I have to create another file partials/identicon.html which simply calls partials/identicon/main.

This leads to an extra file in the partial tree, which is unpreferable in terms of organization:

layouts/partials/
-> identicon/
----> color.html
----> main.html
----> path.html

-> identicon.html

I propose a path resolving mechanism be implemented in Hugo which resolves directory includes either main.html or index.html. It would make the file structure more organized and self contained.

github-actions[bot] commented 2 months ago

This issue has been automatically marked as stale because it has not had recent activity. The resources of the Hugo team are limited, and so we are asking for your help. If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open. If this is a feature request, and you feel that it is still relevant and valuable, please tell us why. This issue will automatically be closed in the near future if no further activity occurs. Thank you for all your contributions.