HUGO Docs

  • News
  • About
    • In this section
    • Introduction
    • Features
    • Privacy
    • Security
    • License
  • Installation
    • In this section
    • macOS
    • Linux
    • Windows
    • BSD
  • Getting started
    • In this section
    • Quick start
    • Basic usage
    • Directory structure
    • Configuration
    • Configure markup
    • Glossary of terms
    • External learning resources
  • Quick reference
    • In this section
    • Emojis
    • Functions
    • Methods
    • Page collections
  • Content management
    • In this section
    • Organization
    • Page bundles
    • Content formats
    • Front matter
    • Build options
    • Page resources
    • Image processing
    • Shortcodes
    • Related content
    • Sections
    • Content types
    • Archetypes
    • Taxonomies
    • Summaries
    • Links and cross references
    • URL management
    • Menus
    • Comments
    • Multilingual
    • Markdown attributes
    • Syntax highlighting
    • Diagrams
    • Mathematics
    • Data sources
    • Content adapters
  • Templates
    • In this section
    • Introduction
    • Template types
    • Lookup order
    • Base templates
    • Home templates
    • Single templates
    • Section templates
    • Taxonomy templates
    • Term templates
    • Partial templates
    • Content view templates
    • Shortcode templates
    • Sitemap templates
    • RSS templates
    • 404 templates
    • robots.txt templates
    • Menus
    • Pagination
    • Embedded templates
    • Custom output formats
  • Functions
    • In this section
    • cast
    • collections
    • compare
    • crypto
    • css
    • data
    • debug
    • diagrams
    • encoding
    • fmt
    • global
    • go template
    • hugo
    • images
    • inflect
    • js
    • lang
    • math
    • openapi3
    • os
    • partials
    • path
    • reflect
    • resources
    • safe
    • strings
    • templates
    • time
    • transform
    • urls
  • Methods
    • In this section
    • Duration
    • Menu
    • Menu entry
    • Page
    • Pager
    • Pages
    • Resource
    • Shortcode
    • Site
    • Taxonomy
    • Time
  • Render hooks
    • In this section
    • Introduction
    • Code blocks
    • Headings
    • Images
    • Links
  • Hugo Modules
    • In this section
    • Configure Hugo modules
    • Use Hugo Modules
    • Theme components
  • Hugo Pipes
    • In this section
    • Introduction
    • Transpile Sass to CSS
    • PostCSS
    • PostProcess
    • JavaScript building
    • Babel
    • Asset minification
    • Concatenating assets
    • Fingerprinting and SRI hashing
    • Resource from string
    • Resource from template
  • CLI
  • Troubleshooting
    • In this section
    • Audit
    • Logging
    • Inspection
    • Deprecation
    • Performance
    • FAQs
  • Developer tools
    • In this section
    • Editor plugins
    • Front-ends
    • Search
    • Migrations
    • Other projects
  • Hosting and deployment
    • In this section
    • Hugo Deploy
    • Deploy with Rclone
    • Deploy with Rsync
    • Host on 21YunBox
    • Host on AWS Amplify
    • Host on Azure Static Web Apps
    • Host on Cloudflare Pages
    • Host on Firebase
    • Host on GitHub Pages
    • Host on GitLab Pages
    • Host on KeyCDN
    • Host on Netlify
    • Host on Render
  • Contribute
    • In this section
    • Development
    • Documentation
    • Themes
  • Maintenance
METHODS PAGES METHODS

Next

Returns the next page in a local page collection, relative to the given page.

Syntax

PAGES.Next PAGE

Returns

page.Page

The behavior of the Prev and Next methods on a Pages objects is probably the reverse of what you expect.

With this content structure and the page collection sorted by weight in ascending order:

content/
├── pages/
│   ├── _index.md
│   ├── page-1.md   <-- front matter: weight = 10
│   ├── page-2.md   <-- front matter: weight = 20
│   └── page-3.md   <-- front matter: weight = 30
└── _index.md

When you visit page-2:

  • The Prev method points to page-3
  • The Next method points to page-1

Use the opposite label in your navigation links as shown in the example below.

{{ $pages := where .Site.RegularPages.ByWeight "Section" "pages" }}

{{ with $pages.Next . }}
  <a href="{{ .RelPermalink }}">Previous</a>
{{ end }}

{{ with $pages.Prev . }}
  <a href="{{ .RelPermalink }}">Next</a>
{{ end }}

Compare to Page methods

The Next and Prev methods on a Pages object are more flexible than the Next and Prev methods on a Page object.

Page collection Custom sort order
PAGES.Next and PAGES.Prev locally defined ✔️
PAGE.Next and PAGE.Prev globally defined ❌
locally defined
Build the page collection every time you call PAGES.Next and PAGES.Prev. Navigation between pages is relative to the current page’s position within the local collection, independent of the global collection.

With a local collection, the navigation sort order is the same as the collection sort order.

globally defined
Build the page collection once, on a list page. Navigation between pages is relative to the current page’s position within the global collection.

With a global collection, the navigation sort order is fixed, using Hugo’s default sort order. In order of precedence:

  1. Page weight
  2. Page date (descending)
  3. Page linkTitle, falling back to page title
  4. Page file path if the page is backed by a file

For example, with a global collection sorted by title, the navigation sort order will use Hugo’s default sort order. This is probably not what you want or expect. For this reason, the Next and Prev methods on a Pages object are generally a better choice.

See also

  • Prev
  • Next
  • NextInSection
  • Prev
  • PrevInSection

On this page

  • Compare to Page methods

In this section

  • ByDate
  • ByExpiryDate
  • ByLanguage
  • ByLastmod
  • ByLength
  • ByLinkTitle
  • ByParam
  • ByPublishDate
  • ByTitle
  • ByWeight
  • GroupBy
  • GroupByDate
  • GroupByExpiryDate
  • GroupByLastmod
  • GroupByParam
  • GroupByParamDate
  • GroupByPublishDate
  • Len
  • Limit
  • Next
  • Prev
  • Related
  • Reverse
Last updated: July 5, 2024: hugo doc (a0ca0ab)
Improve this page
 

The Hugo logos are copyright © Steve Francia 2013–2024.

The Hugo Gopher is based on an original work by Renée French.

  • News
  • About
  • Installation
  • Getting started
  • Quick reference
  • Content management
  • Templates
  • Functions
  • Methods
  • Render hooks
  • Hugo Modules
  • Hugo Pipes
  • CLI
  • Troubleshooting
  • Developer tools
  • Hosting and deployment
  • Contribute
  • Maintenance