]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki.pm
major optimisation idea
[git.ikiwiki.info.git] / IkiWiki.pm
index c497dd38f5b160af6c536dc9038bf31da585debb..87ddb1b5643dc279a5a5ea037b9c7ce398d69ba2 100644 (file)
@@ -22,7 +22,7 @@ our @EXPORT = qw(hook debug error htmlpage template template_depends
        htmllink readfile writefile pagetype srcfile pagename
        displaytime strftime_utf8 will_render gettext ngettext urlto targetpage
        add_underlay pagetitle titlepage linkpage newpagefile
        htmllink readfile writefile pagetype srcfile pagename
        displaytime strftime_utf8 will_render gettext ngettext urlto targetpage
        add_underlay pagetitle titlepage linkpage newpagefile
-       inject add_link add_autofile
+       inject add_link add_autofile useragent
        %config %links %pagestate %wikistate %renderedfiles
        %pagesources %destsources %typedlinks);
 our $VERSION = 3.00; # plugin interface version, next is ikiwiki version
        %config %links %pagestate %wikistate %renderedfiles
        %pagesources %destsources %typedlinks);
 our $VERSION = 3.00; # plugin interface version, next is ikiwiki version
@@ -513,6 +513,13 @@ sub getsetup () {
                safe => 0,
                rebuild => 0,
        },
                safe => 0,
                rebuild => 0,
        },
+       cookiejar => {
+               type => "string",
+               default => { file => "$ENV{HOME}/.ikiwiki/cookies" },
+               description => "cookie control",
+               safe => 0, # hooks into perl module internals
+               rebuild => 0,
+       },
 }
 
 sub defaultconfig () {
 }
 
 sub defaultconfig () {
@@ -2274,6 +2281,13 @@ sub add_autofile ($$$) {
        $autofiles{$file}{generator}=$generator;
 }
 
        $autofiles{$file}{generator}=$generator;
 }
 
+sub useragent () {
+       return LWP::UserAgent->new(
+               cookie_jar => $config{cookiejar},
+               env_proxy => 1,         # respect proxy env vars
+       );
+}
+
 sub sortspec_translate ($$) {
        my $spec = shift;
        my $reverse = shift;
 sub sortspec_translate ($$) {
        my $spec = shift;
        my $reverse = shift;