Simplify to 1 column per colour with more flexible sample styling, at the
cost of difficulty matching line height.
border: 1px solid #555;
font-weight: normal;
border: 1px solid #555;
font-weight: normal;
-table.color th ~ td {
- font-family: monospace;
+table.color td samp {
+ margin: 0 -8px 0 8px;
+ font-family: inherit;
+ float: right;
+}
+table.color td samp ~ samp {
+}
+table.color td samp small {
+ font: 100% monospace;
+ padding: 0 .5ex;
die "Cannot open palette data: $_\n" for $@ || $! || ();
sub colcell {
die "Cannot open palette data: $_\n" for $@ || $! || ();
sub colcell {
- my $name = shift // return "<td colspan=3>\n";
+ my $name = shift // return "<td>\n";
my $col = Shiar_Sheet::Colour->new(@_);
my $minhex = $col->rgb24;
my $css = '#' . $col->rgb48;
my $col = Shiar_Sheet::Colour->new(@_);
my $minhex = $col->rgb24;
my $css = '#' . $col->rgb48;
my $sample = [ qw(#000 #FFF) ];
($name, $sample) = @$name if ref $name eq 'ARRAY';
my $sample = [ qw(#000 #FFF) ];
($name, $sample) = @$name if ref $name eq 'ARRAY';
- my $out = sprintf('<th title="%s" style="%s">%s',
+ my $out = sprintf('<td title="%s" style="%s">%s',
join(',', map { int } @$col),
"background:$css; color:$inverse",
$name,
);
join(',', map { int } @$col),
"background:$css; color:$inverse",
$name,
);
- $out .= sprintf '<td style="%s">%s', "background:$_; color:$css", $minhex
- for @$sample;
+ $out .= sprintf('<samp style="%s"><small>%s</small></samp>',
+ "background:$_; color:$css", $minhex
+ ) for @$sample;
- $out .= sprintf '<colgroup span=%d>', 3 * @{$_} for @colmap;
+ $out .= sprintf '<colgroup span=%d>', scalar @{$_} for @colmap;
my $huerow = $colmap[0][0]; # first {$_} map { @{$_} } @colmap;
for my $h (grep { $huerow->[$_] } 0 .. $#{$huerow}) {
$out .= '<tr>';
my $huerow = $colmap[0][0]; # first {$_} map { @{$_} } @colmap;
for my $h (grep { $huerow->[$_] } 0 .. $#{$huerow}) {
$out .= '<tr>';