]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/inline.pm
* Turn $config{wiki_file_prune_regexps} into an array that is easier to
[ikiwiki.git] / IkiWiki / Plugin / inline.pm
index c623df1c5755f995ae930c5288f03347c8b2c652..78a8813a3fe62903e20b4431544805bac16e135b 100644 (file)
@@ -9,6 +9,8 @@ use IkiWiki::Render; # for displaytime
 use URI;
 
 sub import { #{{{
+       hook(type => "getopt", id => "inline", call => \&getopt);
+       hook(type => "checkconfig", id => "inline", call => \&checkconfig);
        hook(type => "preprocess", id => "inline", 
                call => \&IkiWiki::preprocess_inline);
        hook(type => "pagetemplate", id => "inline",
@@ -20,6 +22,29 @@ sub import { #{{{
                call => \&IkiWiki::pingurl);
 } # }}}
 
+sub getopt () { #{{{
+       eval q{use Getopt::Long};
+       error($@) if $@;
+       Getopt::Long::Configure('pass_through');
+       GetOptions(
+               "rss!" => \$config{rss},
+               "atom!" => \$config{atom},
+       );
+}
+
+sub checkconfig () { #{{{
+       if (($config{rss} || $config{atom}) && ! length $config{url}) {
+               error("Must specify url to wiki with --url when using --rss or --atom");
+       }
+       if ($config{rss}) {
+               print STDERR "!!\n";
+               push @{$config{wiki_file_prune_regexps}}, qr/\.rss$/;
+       }
+       if ($config{atom}) {
+               push @{$config{wiki_file_prune_regexps}}, qr/\.atom$/;
+       }
+} #}}}
+
 # Back to ikiwiki namespace for the rest, this code is very much
 # internal to ikiwiki even though it's separated into a plugin.
 package IkiWiki;