Just trying to wrap my head around this. I want to flag specific content from a /Work section of my hugo site, to display on the homepage in a specific order.
For context, I’m making a photography portfolio, and /Work will have multiple sections with content. The index.html/homepage would be a feed of selected singles/posts and I’d like to be able to control the order they are displayed/rendered.
Any suggestions on how to best tackle that are much appreciated. Or ideas to do it differently. I could always just make the homepage custom/html. But I’d love to have some sort of control over making changes as content is added.
Thanks.
1 Like
In the front matter of the pages you wish to display on the home page:
+++
title = "Foo"
date = 2020-07-06T11:26:53-04:00
draft = false
home_page_weight = 10
+++
Then, in layouts/index.html:
{{ range where (.Site.RegularPages.ByParam "home_page_weight") "Params.home_page_weight" "ne" nil }}
Notes:
- If
home_page_weight
is not set, the page will not be listed.
- The
home_page_weight
can be any number (positive, negative, or zero). Lighter values will float to the top of the list, while heavier numbers will sink to the bottom.
- The example front matter is TOML.
1 Like
Interesting. Originally I was looking for a way to order by weight in the front matter but came up short in google/docs.
Will give that a whirl!
Thanks.