mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-26 22:04:32 +02:00
Merge commit '8b9803425e63e1b1801f8d5d676e96368d706722'
This commit is contained in:
@@ -34,25 +34,9 @@ The idea of a list page comes from the [hierarchical mental model of the web][me
|
||||
|
||||
[](site-hierarchy.svg)
|
||||
|
||||
## List defaults
|
||||
|
||||
### Default templates
|
||||
|
||||
Since section lists and taxonomy lists (N.B., *not* [taxonomy terms lists][taxterms]) are both *lists* with regards to their templates, both have the same terminating default of `_default/list.html` or `themes/<THEME>/layouts/_default/list.html` in their lookup order. In addition, both [section lists][sectiontemps] and [taxonomy lists][taxlists] have their own default list templates in `_default`.
|
||||
|
||||
See [Template Lookup Order](/templates/lookup-order/) for the complete reference.
|
||||
|
||||
## Add content and front matter to list pages
|
||||
|
||||
Since v0.18, [everything in Hugo is a `Page`][bepsays]. This means list pages and the homepage can have associated content files (i.e. `_index.md`) that contain page metadata (i.e., front matter) and content.
|
||||
|
||||
This new model allows you to include list-specific front matter via `.Params` and also means that list templates (e.g., `layouts/_default/list.html`) have access to all [page variables][pagevars].
|
||||
|
||||
{{% note %}}
|
||||
It is important to note that all `_index.md` content files will render according to a *list* template and not according to a [single page template](/templates/single-page-templates/).
|
||||
{{% /note %}}
|
||||
|
||||
### Example project directory
|
||||
Add content and front matter to list pages by creating an _index.md file for `home`, `section`, `taxonomy`, and `term` pages.
|
||||
|
||||
The following is an example of a typical Hugo project directory's content:
|
||||
|
||||
@@ -93,7 +77,7 @@ You can now access this `_index.md`'s' content in your list template:
|
||||
<header>
|
||||
<h1>{{ .Title }}</h1>
|
||||
</header>
|
||||
<!-- "{{ .Content }}" pulls from the markdown content of the corresponding _index.md -->
|
||||
<!-- "{{ .Content }}" pulls from the Markdown content of the corresponding _index.md -->
|
||||
{{ .Content }}
|
||||
</article>
|
||||
<ul>
|
||||
@@ -152,7 +136,13 @@ Using this same `layouts/_default/list.html` template and applying it to the `qu
|
||||
{{< /code >}}
|
||||
|
||||
{{% note %}}
|
||||
The default behavior of Hugo is to pluralize list titles; hence the inflection of the `quote` section to "Quotes" when called with the `.Title` [page variable](/variables/page/). You can change this via the `pluralizeListTitles` directive in your [site configuration](/getting-started/configuration/).
|
||||
By default, Hugo capitalizes and pluralizes automatic list titles including section, taxonomy, and term pages. You can disable these transformations by setting [`capitalizeListTitles`] and [`pluralizeListTitles`] in your site configuration.
|
||||
|
||||
You can change the capitalization style in your site configuration to one of `ap`, `chicago`, `go`, `firstupper`, or `none`. See [details].
|
||||
|
||||
[`capitalizeListTitles`]: /getting-started/configuration/#capitalizelisttitles
|
||||
[`pluralizeListTitles`]: /getting-started/configuration/#pluralizelisttitles
|
||||
[details]: /getting-started/configuration/#configure-title-case
|
||||
{{% /note %}}
|
||||
|
||||
## Example list templates
|
||||
@@ -203,10 +193,10 @@ By default, Hugo sorts page collections by:
|
||||
3. Page [linkTitle], falling back to page [title]
|
||||
4. Page file path if the page is backed by a file
|
||||
|
||||
[date]: /methods/page/date
|
||||
[weight]: /methods/page/weight
|
||||
[linkTitle]: /methods/page/linktitle
|
||||
[title]: /methods/page/title
|
||||
[date]: /methods/page/date/
|
||||
[weight]: /methods/page/weight/
|
||||
[linkTitle]: /methods/page/linktitle/
|
||||
[title]: /methods/page/title/
|
||||
|
||||
Change the sort order using any of the methods below.
|
||||
|
||||
@@ -235,18 +225,16 @@ See the documentation on [`where`] and
|
||||
[getpage]: /methods/page/getpage/
|
||||
[homepage]: /templates/homepage/
|
||||
[mentalmodel]: https://webstyleguide.com/wsg3/3-information-architecture/3-site-structure.html
|
||||
[pagevars]: /variables/page/
|
||||
[partials]: /templates/partials/
|
||||
[RSS 2.0]: https://cyber.harvard.edu/rss/rss.html
|
||||
[rss]: /templates/rss/
|
||||
[sections]: /content-management/sections/
|
||||
[sectiontemps]: /templates/section-templates/
|
||||
[sitevars]: /variables/site/
|
||||
[taxlists]: /templates/taxonomy-templates/#taxonomy-list-templates
|
||||
[taxterms]: /templates/taxonomy-templates/#taxonomy-terms-templates
|
||||
[taxvars]: /variables/taxonomy/
|
||||
[taxlists]: /templates/taxonomy-templates/#taxonomy-templates
|
||||
[taxterms]: /templates/taxonomy-templates/#term-templates
|
||||
[taxvars]: /methods/taxonomy/
|
||||
[views]: /templates/views/
|
||||
[`where`]: /functions/collections/where
|
||||
[`where`]: /functions/collections/where/
|
||||
[`first`]: /functions/collections/first/
|
||||
[main sections]: /methods/site/mainsections
|
||||
[`time.Format`]: /functions/time/format
|
||||
[main sections]: /methods/site/mainsections/
|
||||
[`time.Format`]: /functions/time/format/
|
||||
|
Reference in New Issue
Block a user