Skip to content

Archive

Archives are a BasePage object used to display a list of Page objects in a Collection.

Archive objects create a customizable page that can be controlled via its parent Collection.

Bases: BasePage

The Archive is a Page object used by the collection that focuses on presenting the Collection's pages.

Parameters:

Name Type Description Default
pages list[BasePage] The list of pages to include in the archive required
title str The title of the archive required
template str | Template The template to use for the archive "archive.html"
routes list[str | Path] The routes for where the archive page should be generated required
archive_index int The index of the page in the series of archive pages 0
num_of_pages The total number of pages in the series of archive pages required

Warning

The Archive object is not meant to be used directly. It is used by the Collection object. Attributes can be used to customize.

Collection.archives yields a generator of Archive objects. Each Archive object will have a pages attribute that is a list of Page objects referenced in that Archive Page. The number of pages is determined by the Collection.items_per_page attribute.

Enabling Archive Pages

By default render engine will only create the archive page if either of the following conditions are met:

  • The Collection.items_per_page attribute is set to a value greater than 0.
  • The Collection.has_archive attribute is set to True.

Archive Page Numbers

Archive pages are numbered starting at 0. The first page is always a list containing all the items.

If items_per_page is greater than 0, the remaining will contain the items in the collection, split into groups of items_per_page.

You can get the total number of Archive pages by grabbing the Archive.num_archive_pages attribute.