#!/usr/bin/perl use warnings; use strict; use CGI qw/:standard/; use CGI::Carp qw/fatalsToBrowser/; use File::Slurp; use YAML; use Search::Estraier; use Data::Page; use Data::Dump qw/dump/; my $range_around = 5; my $entries_per_page = 30; my $debug = param('debug'); print header; sub dump_yaml { my $name = shift; print qq|
# $name\n|, YAML::Dump( @_ ), qq|| if $debug; } sub show_pager { my ($pager) = @_; my @show_pages; my $after_current = 0; if ( $pager->current_page <= $range_around + 2 ) { @show_pages = ( $pager->first_page .. $pager->current_page ); $after_current = $range_around - $pager->current_page; } else { @show_pages = ( $pager->first_page, '', $pager->current_page - $range_around .. $pager->current_page ); } if ( $pager->current_page + $after_current + $range_around + 1 >= $pager->last_page ) { push @show_pages, ( $pager->current_page + 1 .. $pager->last_page ); } else { push @show_pages, ( $pager->current_page + 1 .. $pager->current_page + $after_current + $range_around, '', $pager->last_page ); } # dump_yaml( 'show_pages', \@show_pages ); return '' unless $#show_pages; my ( $prev, $next ) = ( '<<', '>>' ); sub li_a_href { my ( $page, $label, $attr ) = @_; param( 'current_page', $page ); my $url = self_url( -query => 1 ); $attr ||= ''; $label ||= $page; qq|