use 5.010;
use Shiar_Sheet::Colour '1.04';
use List::Util qw( min max );
+use POSIX qw( ceil );
my $palettes = do 'termcol.inc.pl';
die "Cannot open palette data: $_\n" for $@ || $! || ();
$colours = [ map { $colours->[$_] =~ s/:|$/:$_/r } @{$reorder} ];
}
+ my $rows = 8;
+ my $columns = ceil(@{$colours} / $rows);
+
print '<table class=color>', "\n";
printf "<caption>%s</caption>\n", $caption;
- for my $num (0 .. $#{$colours}) {
- my ($rgb, $name) = split /:/, $colours->[$num], 3;
- $name ||= $num;
- $name = [ $name, [] ] if $term =~ /^msx/ and !$num;
- $name = [ $name, ['#333'] ] if $term eq 'xkcd';
- print '<tr>', colcell($name, $rgb);
+ for my $row (0 .. $rows - 1) {
+ print '<tr>';
+ for my $col (0 .. $columns - 1) {
+ my $num = $row + $col * $rows;
+ my ($rgb, $name) = split /:/, $colours->[$num], 3;
+ $name //= $rgb && $num;
+ $name = [ $name, [] ] if $term =~ /^msx/ and !$num;
+ $name = [ $name, ['#333'] ] if $term eq 'xkcd';
+ print colcell($name, $rgb);
+ }
}
- print '<tr><td>', img_egapal(\@{$colours}, @{$_}) for @draw;
+ print "<tr><td colspan=$columns>", img_egapal(\@{$colours}, @{$_}) for @draw;
print "</table>\n\n";
}
}