X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/50c7f7ab04bbc1e28eecb4cc6253c117718d5e07..472dabbb6002219d324ae8480df57d02b6f0ca94:/IkiWiki/Plugin/inline.pm diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index fd7a59ab3..78a8813a3 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -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; @@ -271,6 +296,8 @@ sub genfeed ($$$$@) { #{{{ my $lasttime = 0; foreach my $p (@pages) { my $u=URI->new(encode_utf8($config{url}."/".htmlpage($p))); + + my $pcontent = absolute_urls(get_inline_content($p, $page), $url); $itemtemplate->param( title => pagetitle(basename($p)), @@ -280,7 +307,6 @@ sub genfeed ($$$$@) { #{{{ date_3339 => date_3339($pagectime{$p}), ); - my $pcontent = absolute_urls(get_inline_content($p, $page), $url); if ($itemtemplate->query(name => "enclosure")) { my $file=$pagesources{$p}; my $type=pagetype($file);