I would like to be able to list all the pages of the parent sub-section on a single layout
Here is the structure of our guides:
/guide/
/guide/performance/
/guide/performance/optimize-css/
/guide/performance/optimize-js/
/guide/performance/optimize-images/
/guide/mobile/
/guide/mobile/strategy/
/guide/mobile/user-experience/
So when I am on the /guide/performance/optimize-css/
page, how can I get a list of all the pages within the /guide/performance/
sub-section?
The HUGO docs don’t detail how to get only a sub-section.
Here is what I have tried:
I am able to get the full tree of the top-most section — /guide/
— by doing this:
{{ range where .Site.Pages "Section" "guide" }}
<li><a href="{{ .Permalink | relURL }}" title="{{ .Title }}">{{ .Title }}</a></li>
{{ end }}
or this:
{{ range where .Site.Pages "Section" .Section }}
<li><a href="{{ .Permalink | relURL }}" title="{{ .Title }}">{{ .Title }}</a></li>
{{ end }}
But I would assume that I’d be able to use .Parent
to define which section I want to range through,
{{ range where .Site.Pages "Section" .Parent }}
Or at least put in a string:
{{ range where .Site.Pages "Section" "guide/performance" }}
Here you go, this is what I am using here: https://brunoamaral.eu/stories/crypto/
{{range (.Paginate ( where .Data.Pages "Type" "stories") 9).Pages}}
{{ .Render "summary"}}
{{ end }}
1 Like
Oh I get it. Thanks @brunoamaral 
You have to range through pages with a consistent bit of front-matter, like type.
I just added guide: performance
to all the /guide/performance/
sub-pages, and now I am ranging through them with:
{{ range where .Site.Pages ".Params.guide" .Params.guide }}
<li class=""><a href="{{ .Permalink | relURL }}" title="{{ .Title }}">{{ .Title }}</a></li>
{{ end }}
Thanks for the assist!
1 Like
In my case I just have everything under stories
content
|_stories
|_ post 1
|_ post 2