#!perl
our $DATE = '2015-12-18'; # DATE
our $VERSION = '0.11'; # VERSION
use 5.010001;
use strict;
use warnings;
#use Log::Any '$log';
use App::CalId;
use DateTime;
use Getopt::Long qw(:config auto_help auto_version);
my %args = (months => 1);
GetOptions(
'h' => sub { $args{highlight_today} = 0 },
'noshow-holiday-list|L' => sub { $args{show_holiday_list} = 0 },
'1' => sub { $args{months} = 1 },
'3' => sub { $args{months} = 3 },
'y' => sub { $args{months} = 12 },
'show-joint-leave' => sub { $args{show_joint_leave} = 1 },
);
my $dt = DateTime->now;
if (@ARGV == 1) {
$args{year} = $ARGV[0];
$args{months} = 12;
} elsif (@ARGV == 2) {
$args{month} = $ARGV[0];
$args{year} = $ARGV[1];
} else {
$args{month} = $dt->month;
$args{year} = $dt->year;
}
if ($args{months} == 3) {
$dt = DateTime->new(year=>$args{year}, month=>$args{month}//1, day=>1);
$dt->subtract(months=>1);
$args{month} = $dt->month;
$args{year} = $dt->year;
}
my $res = App::CalId::gen_calendar(%args);
die $res->[1] unless $res->[0] == 200;
say $res->[2];
1;
# ABSTRACT: Display Indonesian calendar on the command-line
# PODNAME: cal-id
__END__
=pod
=encoding UTF-8
=head1 NAME
cal-id - Display Indonesian calendar on the command-line
=head1 VERSION
This document describes version 0.11 of cal-id (from Perl distribution App-CalId), released on 2015-12-18.
=head1 SYNOPSIS
# show calendar for the current month
% cal-id
# show calendar for the whole year
% cal-id 2013
# show calendar for a certain month and year
% cal-id 12 2013
=head1 DESCRIPTION
This command provides a subset of B<cal> functionality for displaying Indonesian
calendar. It starts the week at Monday and highlights (and lists) Indonesian
holidays.
Background: I needed a quick and easy way to see monthly (and sometimes yearly)
calendar, since I haven't got a desk calendar on my desk for years (decades,
even).
=head1 OPTIONS
% cal-id [opts] [[month] year]
Most options follow B<cal>. Not all options from B<cal> are
supported/recognized. Some options are specific to B<cal-id>.
=head2 -1
Show a single month of calendar (the default).
=head2 -3
Show three months of calendar (previous, current, next).
=head2 -h
Turn off highlighting of today.
=head2 -y
Show one year (12 months) of calendar (the default if only year is specified).
=head2 --noshow-holiday-list (-L)
Turn off showing list of holidays.
=head2 --show-joint-leave
Turn on showing list of joint leaves (cuti bersama). By default it is turned
off.
=head1 SEE ALSO
L<Calendar::Indonesia::Holiday>
=head1 HOMEPAGE
Please visit the project's homepage at L<https://metacpan.org/release/App-CalId>.
=head1 SOURCE
Source repository is at L<https://github.com/perlancar/perl-App-CalId>.
=head1 BUGS
Please report any bugs or feature requests on the bugtracker website L<https://rt.cpan.org/Public/Dist/Display.html?Name=App-CalId>
When submitting a bug or request, please include a test-file or a
patch to an existing test-file that illustrates the bug or desired
feature.
=head1 AUTHOR
perlancar <perlancar@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2015 by perlancar@cpan.org.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut