App-calx
view release on metacpan or search on metacpan
lib/App/calx.pm view on Meta::CPAN
push @lines, _center(21, sprintf("%s", $month_names->[$m-1]));
}
push @lines, "Mo Tu We Th Fr Sa Su"; # XXX use locale, option to start on Sunday
my $dow = $dt->day_of_week;
$dt->subtract(days => $dow-1);
for my $i (1..$dow-1) {
push @lines, "" if $i == 1;
if ($args{show_prev_month_days} // 1) {
$lines[-1] .= sprintf("%s%2d \e[0m", ansifg("404040"), $dt->day);
} else {
$lines[-1] .= " ";
}
$dt->add(days => 1);
}
for (1..$dtl->day) {
if ($dt->day_of_week == 1) {
push @lines, "";
}
my $col = "808080";
lib/App/calx.pm view on Meta::CPAN
$reverse++ if $args{dates};
}
}
}
$lines[-1] .= sprintf("%s%s%2d \e[0m", $reverse ? "\e[7m" : "", ansifg($col), $dt->day);
$dt->add(days => 1);
}
if ($args{show_next_month_days} // 1) {
$dow = $dt->day_of_week - 1; $dow = 7 if $dow == 0;
for my $i ($dow+1..7) {
$lines[-1] .= sprintf("%s%2d \e[0m", ansifg("404040"), $dt->day);
$dt->add(days => 1);
}
}
return [\@lines, $hol];
}
$SPEC{gen_calendar} = {
v => 1.1,
summary => 'Generate one or more monthly calendars in 3-column format',
( run in 2.885 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )