Album
view release on metacpan or search on metacpan
script/album view on Meta::CPAN
}
my $tt2 = $tt;
if ( $dir eq "medium" && $el->annotation ) {
my @a = UNIVERSAL::isa($el->annotation, "ARRAY")
? @{$el->annotation} : ($el->annotation);
my $t = "";
foreach ( reverse(@{$el->annotation}) ) {
next unless $_;
my $x = $_; # copy
$x = html($x) unless $x =~ /^</;
$t .= "<p>\n" if $t;
$t .= $x;
}
$tt2 = "<a href='#' class='info'>" . $tt .
"<span>" .
"<table border='1' width='100%'>\n" .
"<tr><td>$t</td></tr>" .
"</table>\n" .
"</span></a>" if $t;
}
update_if_needed(d_dest($dir, $htmllist[$i]),
process_fmt($dir eq "medium" ?
$fmt_medium_page :
$fmt_large_page,
title => $it,
dir => $dir,
ltop => $it2,
rtop => $tt2,
hbuttons => join("", @b),
vbuttons => join("$br\n", @b),
jscript => jscript(%nav),
image => $imglink,
lbot => $auxleft,
rbot => $auxright,
));
}
################ Index Pages ################
sub write_index_pages {
print STDERR ("Creating ", $num_indexes, " index page",
$num_indexes == 1 ? "" : "s", "\n") if $verbose > 1;
my $mod = 0;
for my $i ( 0 .. $num_indexes-1 ) {
write_index_page($i) && $mod++;
}
uptodate("index", $mod) if $verbose > 1;
# Cleanup excess indices.
for (my $i = $num_indexes ; ; $i++ ) {
unlink(d_dest("index$i.html")) or last;
}
}
sub write_index_page {
my ($x) = @_;
my $tt = $album_title.": Index"; # left title
my $t = ""; # right (index select)
my @b; # buttons
my %nav;
# Construct buttons and index selector.
if ( $num_indexes > 1 ) {
$nav{next} = ixname($x+1) if $x < $num_indexes-1;
$nav{prev} = ixname($x-1) if $x > 0;
$nav{up} = join("/",$lib_common,"index.html") if $lib_common ne "";
push(@b, button("up", join("/",$lib_common,"index.html"), 0, 1))
unless $lib_common eq "";
push(@b,
button("first", ixname(0), 0, $x > 0 ),
button("prev", ixname($x-1), 0, $x > 0 ),
button("next", ixname($x+1), 0, $x < $num_indexes-1),
button("last", ixname($num_indexes-1), 0, $x < $num_indexes-1));
$tt .= " " . ($x+1) . " of $num_indexes";
my @ixlist = ( 0..$num_indexes-1 );
if ( @ixlist > IXLIST ) {
@ixlist = ( $x );
while ( @ixlist < IXLIST ) {
push(@ixlist, $ixlist[-1]+1)
if $ixlist[-1]+1 < $num_indexes;
unshift(@ixlist, $ixlist[0]-1)
if @ixlist < IXLIST && $ixlist[0] > 0;
}
}
$t .= "...\n" if $ixlist[0];
foreach ( @ixlist ) {
if ( $_ == $x ) {
$t .= ($x+1) . "\n";
}
else {
my $el = $filelist->byseq(($_ * $index_rows * $index_columns) + 1);
$t .= "<a";
if ( my $tag = $el->tag ) {
$t .= " title=\"$tag\"";
}
$t .= " href='" . ixname($_) . "'>" . ($_+1) . "</a>\n";
}
}
$t .= "...\n" if $ixlist[-1] < $num_indexes-1;
}
elsif ( $lib_common ) {
push(@b, button("up", join("/",$lib_common,"index.html"), 0, 1));
$nav{up} = join("/",$lib_common,"index.html");
}
my $first_in_row = $x * $entries_per_page;
if ( $journal && exists $jnltags{$filelist->byseq($first_in_row+1)->tag} ) {
my $page = "journal/jnl". $jnltags{$filelist->byseq($first_in_row+1)->tag} .
".html#img" . sprintf("%04d", $first_in_row+1);
push(@b, button("journal", $page, 0, 1));
$nav{jnl} = $page;
}
# Construct the actual index part.
my $cc = "<table class='outer'>\n";
for ( my $i = 0; $i < $index_rows; $i++, $first_in_row += $index_columns ) {
if ( $first_in_row < $num_entries ) {
$cc .= " <tr>\n";
for ( my $j = 0; $j < $index_columns; $j++ ) {
( run in 1.804 second using v1.01-cache-2.11-cpan-39bf76dae61 )