The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Statocles::Page::List - A page presenting a list of other pages

VERSION

version 0.098

DESCRIPTION

A List page contains a set of other pages. These are frequently used for index pages.

ATTRIBUTES

pages

The pages that should be shown in this list.

next

The path to the next page in the pagination series.

prev

The path to the previous page in the pagination series.

date

Get the date of this list. By default, this is the latest date of the first page in the list of pages.

search_change_frequency

Override the default search_change_frequency to daily, because these pages aggregate other pages.

search_priority

Override the default search_priority to reduce the rank of list pages to 0.3.

It is more important for users to get to the full page than to get to this list page, which may contain truncated content, and whose relevant content may appear 3-4 items down the page.

METHODS

paginate

my @pages = Statocles::Page::List->paginate( %args );

Build a paginated list of Statocles::Page::List objects.

Takes a list of key-value pairs with the following keys:

path    - An sprintf format string to build the path, like '/page-%i.html'.
          Pages are indexed started at 1.
index   - The special, unique path for the first page. Optional.
pages   - The arrayref of Statocles::Page::Document objects to paginate.
after   - The number of items per page. Defaults to 5.

Return a list of Statocles::Page::List objects in numerical order, the index page first (if any).

vars

my %vars = $page->vars;

Get the template variables for this page.

my @links = $page->links( $key );

Get the given set of links for this page. See the links attribute for some commonly-used keys.

For List pages, stylesheet and script links are also collected from the inner pages, to ensure that content in those pages works correctly.

AUTHOR

Doug Bell <preaction@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Doug Bell.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.