]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - ikiwiki-calendar.in
No, this page is not C++ source code.
[git.ikiwiki.info.git] / ikiwiki-calendar.in
index 9738ea5f7195cef46bf6480fc5c515fd89438cbe..74e100be2e85223d7930b027f2db9c712d8a621e 100755 (executable)
@@ -7,7 +7,7 @@ use IkiWiki::Setup;
 use Getopt::Long;
 
 sub usage () {
-       die gettext("usage: ikiwiki-calendar [-f] your.setup [pagespec] [year]"), "\n";
+       die gettext("usage: ikiwiki-calendar [-f] your.setup [pagespec] [startyear [endyear]]"), "\n";
 }
 
 my $force=0;
@@ -15,7 +15,10 @@ GetOptions(
        "force" => \$force,
 ) || usage();
 my $setup=shift                || usage();
-my $pagespec=shift     || "*";
+my $pagespec;
+if (@ARGV && $ARGV[0] !~ /^\d+$/) {
+       $pagespec=shift;
+}
 my $startyear=shift    || 1900+(localtime(time))[5];
 my $endyear=shift      || $startyear;
 
@@ -27,6 +30,10 @@ IkiWiki::checkconfig();
 my $archivebase = 'archives';
 $archivebase = $config{archivebase} if defined $config{archivebase};
 
+if (! defined $pagespec) {
+       $pagespec=$config{archive_pagespec} || "*";
+}
+
 sub writearchive ($$;$) {
        my $template=template(shift);
        my $year=shift;
@@ -52,7 +59,8 @@ foreach my $y ($startyear..$endyear) {
        }
 }
 
-IkiWiki::rcs_commit_staged(gettext("calendar update"), undef, undef)
+IkiWiki::rcs_commit_staged(message => gettext("calendar update"))
        if $config{rcs};
 
-system("ikiwiki", "-setup", $setup, "-refresh");
+exec("ikiwiki", "--setup", $setup, "--refresh");
+die "failed to run ikiwiki --setup $setup --refresh\n";