add plugin safe/rebuild info (part 1 of 2)
authorJoey Hess <joey@kodama.kitenet.net>
Sun, 3 Aug 2008 20:40:12 +0000 (16:40 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Sun, 3 Aug 2008 20:40:12 +0000 (16:40 -0400)
too many plugins.. brain exploding..

43 files changed:
IkiWiki/Plugin/aggregate.pm
IkiWiki/Plugin/amazon_s3.pm
IkiWiki/Plugin/anonok.pm
IkiWiki/Plugin/attachment.pm
IkiWiki/Plugin/autoindex.pm
IkiWiki/Plugin/brokenlinks.pm
IkiWiki/Plugin/bzr.pm
IkiWiki/Plugin/calendar.pm
IkiWiki/Plugin/camelcase.pm
IkiWiki/Plugin/conditional.pm
IkiWiki/Plugin/creole.pm
IkiWiki/Plugin/cutpaste.pm
IkiWiki/Plugin/ddate.pm
IkiWiki/Plugin/editdiff.pm
IkiWiki/Plugin/edittemplate.pm
IkiWiki/Plugin/embed.pm
IkiWiki/Plugin/external.pm
IkiWiki/Plugin/favicon.pm
IkiWiki/Plugin/fortune.pm
IkiWiki/Plugin/git.pm
IkiWiki/Plugin/goodstuff.pm
IkiWiki/Plugin/googlecalendar.pm
IkiWiki/Plugin/graphviz.pm
IkiWiki/Plugin/haiku.pm
IkiWiki/Plugin/hnb.pm
IkiWiki/Plugin/html.pm
IkiWiki/Plugin/htmlscrubber.pm
IkiWiki/Plugin/htmltidy.pm
IkiWiki/Plugin/httpauth.pm
IkiWiki/Plugin/img.pm
IkiWiki/Plugin/inline.pm
IkiWiki/Plugin/link.pm
IkiWiki/Plugin/linkmap.pm
IkiWiki/Plugin/lockedit.pm
IkiWiki/Plugin/map.pm
IkiWiki/Plugin/mdwn.pm
IkiWiki/Plugin/mercurial.pm
IkiWiki/Plugin/meta.pm
IkiWiki/Plugin/mirrorlist.pm
IkiWiki/Plugin/monotone.pm
IkiWiki/Plugin/more.pm
IkiWiki/Plugin/norcs.pm
IkiWiki/Plugin/websetup.pm

index 673668c0ee02cf049740144dbe442d610a7068d2..85b398063007237eb478cfd6dbaf696372254441 100644 (file)
@@ -40,6 +40,10 @@ sub getopt () { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
                aggregateinternal => {
                        type => "boolean",
                        example => 0,
index e181a84da04c6c152b74397fcf5d304a46d1344c..597539c13b0f2c218955dc81da2f26dfb7aa6fb4 100644 (file)
@@ -42,7 +42,11 @@ sub getopt () { #{{{
 
 sub getsetup () { #{{{
        return
-                amazon_s3_key_id => {
+               plugin => {
+                       safe => 0,
+                       rebuild => 0,
+               },
+               amazon_s3_key_id => {
                        type => "string",
                        example => "XXXXXXXXXXXXXXXXXXXX",
                        description => "public access key id",
index ccc0d59b915dfaf748424eb18bf3727680c62c3a..521b07f40897abf8f1f0567f20a41af93100099b 100644 (file)
@@ -12,6 +12,10 @@ sub import { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 0,
+                       rebuild => 0,
+               },
                anonok_pagespec => {
                        type => "pagespec",
                        example => "*/discussion",
index 63f0b73c3b330760fd5342657fa691bc421fc155..404ca07fa4fca244c9a34d6d7af50750e62337de 100644 (file)
@@ -14,6 +14,10 @@ sub import { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 1,
+                       rebuild => 0,
+               },
                virus_checker => {
                        type => "string",
                        example => "clamdscan -",
@@ -23,7 +27,7 @@ sub getsetup () { #{{{
                },
                allowed_attachments => {
                        type => "pagespec",
-                       example => "mimetype(image/*) and maxsize(50kb)",
+                       example => "virusfree() and mimetype(image/*) and maxsize(50kb)",
                        description => "enhanced PageSpec specifying what attachments are allowed",
                        link => "ikiwiki/PageSpec/attachment",
                        safe => 1,
index 8179ee1e72a28ba5dac9dc6911cf35b2477ac7bf..ef22ec8a3e9a244d0a4fbd7cf2471827f6f55599 100644 (file)
@@ -7,9 +7,18 @@ use IkiWiki 2.00;
 use Encode;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "autoindex", call => \&getsetup);
        hook(type => "refresh", id => "autoindex", call => \&refresh);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 0,
+               },
+} #}}}
+
 sub genindex ($) { #{{{
        my $page=shift;
        my $file=$page.".".$config{default_pageext};
index 0295a8fe6b570d7b49503ba6587ae41a28f0cfa7..37752dd3ef9e9b4113bfcaa1a9b49bb0a4e06bab 100644 (file)
@@ -7,9 +7,18 @@ use strict;
 use IkiWiki 2.00;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "brokenlinks", call => \&getsetup);
        hook(type => "preprocess", id => "brokenlinks", call => \&preprocess);
 } # }}}
 
+sub getsetup { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub preprocess (@) { #{{{
        my %params=@_;
        $params{pages}="*" unless defined $params{pages};
index 0b50592924915b0040fa530095fd575985da08ea..101e91b930836126f9ef4a00b6a722af42cf5c50 100644 (file)
@@ -33,6 +33,10 @@ sub checkconfig () { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 0, # rcs plugin
+                       rebuild => undef,
+               },
                bzr_wrapper => {
                        type => "string",
                        #example => "", # FIXME add example
index 6f1f9bd0729d5ccc539fc83a8bd32cb58274a2c0..6d536a91bb63a6e0a32f399844115e52208d5bdf 100644 (file)
@@ -37,6 +37,10 @@ sub import { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
                archivebase => {
                        type => "string",
                        example => "archives",
index 0739bb01ae3c2d0498c58fa428451afb208fcfdf..3f17df4a3bb9a07a4e936f5a58c88b74841875ea 100644 (file)
@@ -23,10 +23,19 @@ my $link_regexp=qr{
 }x;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "camelcase", call => \&getsetup);
        hook(type => "linkify", id => "camelcase", call => \&linkify);
        hook(type => "scan", id => "camelcase", call => \&scan);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               };
+} #}}}
+
 sub linkify (@) { #{{{
        my %params=@_;
        my $page=$params{page};
index 6be52eaa6d43b6cc5052a657a0bf907a2d1c78f1..7716fce1b4be7a612a84d71386c11f92adff51b3 100644 (file)
@@ -7,9 +7,18 @@ use IkiWiki 2.00;
 use UNIVERSAL;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "conditional", call => \&getsetup);
        hook(type => "preprocess", id => "if", call => \&preprocess_if);
 } # }}}
 
+sub getsetup { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub preprocess_if (@) { #{{{
        my %params=@_;
 
index 0c857d125bd1bc544c5a52a44f94a385cec13e08..7c729300d9a7e964a72dd137e67a6e42e3fc9991 100644 (file)
@@ -8,9 +8,18 @@ use strict;
 use IkiWiki 2.00;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "creole", call => \&getsetup);
        hook(type => "htmlize", id => "creole", call => \&htmlize);
 } # }}}
 
+sub getsetup { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 1, # format plugin
+               },
+} #}}}
+
 sub htmlize (@) { #{{{
        my %params=@_;
        my $content = $params{content};
index b1161ba063c64ca8ecd8e08ec711d43682de64d5..24a05601df5ccd02e25a69ad1c254a4c6840871b 100644 (file)
@@ -9,11 +9,20 @@ use UNIVERSAL;
 my %savedtext;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "cutpaste", call => \&getsetup);
        hook(type => "preprocess", id => "cut", call => \&preprocess_cut, scan => 1);
        hook(type => "preprocess", id => "copy", call => \&preprocess_copy, scan => 1);
        hook(type => "preprocess", id => "paste", call => \&preprocess_paste);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub preprocess_cut (@) { #{{{
        my %params=@_;
 
index d081cb5094d56b5030ba54f7504d911785000643..2ec1228333c591baeb0288cd80f9972efc15b52d 100644 (file)
@@ -6,9 +6,18 @@ use IkiWiki 2.00;
 no warnings;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "ddate", call => \&getsetup);
        hook(type => "checkconfig", id => "ddate", call => \&checkconfig);
 } # }}}
 
+sub getsetup { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 1,
+               },
+} #}}}
+
 sub checkconfig () { #{{{
        if (! defined $config{timeformat} ||
            $config{timeformat} eq '%c') {
index 9872e9686c2a3255d638968002a5d6339c1d20e2..2b1fac55d18122e7a7dd335845b10b880277ff90 100644 (file)
@@ -9,10 +9,19 @@ use HTML::Entities;
 use IPC::Open2;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "editdiff", call => \&getsetup);
        hook(type => "formbuilder_setup", id => "editdiff",
                call => \&formbuilder_setup);
 } #}}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 0,
+               },
+} #}}}
+
 sub diff ($$) { #{{{
        my $orig=shift;
        my $content=shift;
index d1716a31564031813e7d9f273ab7ff3ca02f3f5c..cdcdd074f5ff63f64ed7190c6b84b221f5a697ca 100644 (file)
@@ -8,6 +8,8 @@ use HTML::Template;
 use Encode;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "edittemplate",
+               call => \&getsetup);
        hook(type => "needsbuild", id => "edittemplate",
                call => \&needsbuild);
        hook(type => "preprocess", id => "edittemplate",
@@ -16,6 +18,14 @@ sub import { #{{{
                call => \&formbuilder);
 } #}}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub needsbuild (@) { #{{{
        my $needsbuild=shift;
 
index 4fc91d978a5295473fac4135270c14027304ad2b..2a16373921436d78db16be6455fb59081149ecd2 100644 (file)
@@ -44,9 +44,18 @@ my $safehtml=qr{(
 my @embedded;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "embed", call => \&getsetup);
        hook(type => "filter", id => "embed", call => \&filter);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub embed ($) { #{{{
        hook(type => "format", id => "embed", call => \&format) unless @embedded;
        push @embedded, shift;
index 204442c1e0b731db6d985cef61181e0c7b0fc424..ff3b2d8ed97d06c53402cb04b8921b3761136673 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 # Support for external plugins written in other languages.
-# Communication via XML RPC a pipe.
+# Communication via XML RPC to a pipe.
 # See externaldemo for an example of a plugin that uses this.
 package IkiWiki::Plugin::external;
 
index 7169c58c342f9ef97defe60a1004aebab8f98555..e9204dea9fbf1841b386c87b107e33bf0bbfd603 100644 (file)
@@ -8,9 +8,18 @@ use strict;
 use IkiWiki 2.00;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "favicon", call => \&getsetup);
        hook(type => "pagetemplate", id => "favicon", call => \&pagetemplate);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 1,
+               },
+} #}}}
+
 sub pagetemplate (@) { #{{{
        my %params=@_;
 
index a78a73d5f1f4fa034777408896496971643d5f3b..456b63e9f341f215dba522603c20c8a005fec7a0 100644 (file)
@@ -7,9 +7,18 @@ use strict;
 use IkiWiki 2.00;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "fortune", call => \&getsetup);
        hook(type => "preprocess", id => "fortune", call => \&preprocess);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub preprocess (@) { #{{{
        $ENV{PATH}="$ENV{PATH}:/usr/games:/usr/local/games";
        my $f = `fortune 2>/dev/null`;
index b6ad43167eff6d77c3d06f5c8c0e5c548005b7b0..36674572b6ae3d83426d79b56d7b26394dd41462 100644 (file)
@@ -42,6 +42,10 @@ sub checkconfig () { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 0, # rcs plugin
+                       rebuild => undef,
+               },
                git_wrapper => {
                        type => "string",
                        example => "/git/wiki.git/hooks/post-update",
index effbc7de9ff14759409ba36bf9b18d8230fe2123..df928f2226d485aba2a582363e59da44db9d229c 100644 (file)
@@ -24,7 +24,16 @@ my @bundle=qw{
 };
 
 sub import { #{{{
+       hook(type => "getsetup", id => "goodstuff", call => \&getsetup);
        IkiWiki::loadplugin($_) foreach @bundle;
 } # }}}
 
+sub getsetup { #{{{
+       return 
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 1
index 7efa1daa377538fdb2174eada674fca300701086..81a3ad677fa9d1d2b7ab66d6b2792e3130f158f1 100644 (file)
@@ -6,12 +6,22 @@ use strict;
 use IkiWiki 2.00;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "googlecalendar",
+               call => \&getsetup);
        hook(type => "preprocess", id => "googlecalendar",
                call => \&preprocess);
        hook(type => "format", id => "googlecalendar",
                call => \&format);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub preprocess (@) { #{{{
        my %params=@_;
 
index 021aa6b230c2a61b0a2289d2bbccc4e83abe4ae6..999edd8ee6d23ce756e13a1a1cf862eec2a86753 100644 (file)
@@ -9,9 +9,18 @@ use IkiWiki 2.00;
 use IPC::Open2;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "graphviz", call => \&getsetup);
        hook(type => "preprocess", id => "graphviz", call => \&graph);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 my %graphviz_programs = (
        "dot" => 1, "neato" => 1, "fdp" => 1, "twopi" => 1, "circo" => 1
 );
index 5d5e8d5aaf93089fe84cc3774966f7a914aa516c..eb8b786e826d0071ff41b75f08673c781db0bea6 100644 (file)
@@ -7,9 +7,18 @@ use strict;
 use IkiWiki 2.00;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "haiku", call => \&getsetup);
        hook(type => "preprocess", id => "haiku", call => \&preprocess);
 } # }}}
 
+sub getsetup { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub preprocess (@) { #{{{
        my %params=@_;
 
index 846b0f2c9333f27c2356fecca9d679cba8159964..40e4f945255df2b4ae21b732cd55818b41dfc821 100644 (file)
@@ -13,11 +13,20 @@ use strict;
 use IkiWiki 2.00;
 use File::Temp qw(:mktemp);
 
-sub import {
+sub import { #{{{
+       hook(type => "getsetup", id => "hnb", call => \&getsetup);
        hook(type => "htmlize", id => "hnb", call => \&htmlize);
-}
+} #}}}
 
-sub htmlize (@) {
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 1, # format plugin
+               },
+} #}}}
+
+sub htmlize (@) { #{{{
        my %params = @_;
 
        # hnb outputs version number etc. every time to STDOUT, so
@@ -43,6 +52,6 @@ sub htmlize (@) {
        $ret =~ s/<body>.*//si;
 
        return $ret;
-}
+} #}}}
 
 1;
index 7623ba6a96accd71d67d8a7ac84c1422ed535224..b752075787801a2cc0a557ada55ba6989f67f97a 100644 (file)
@@ -7,6 +7,7 @@ use strict;
 use IkiWiki 2.00;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "html", call => \&getsetup);
        hook(type => "htmlize", id => "html", call => \&htmlize);
        hook(type => "htmlize", id => "htm", call => \&htmlize);
 
@@ -15,6 +16,14 @@ sub import { #{{{
        $config{wiki_file_prune_regexps} = [ grep { !m/\\\.x\?html\?\$/ } @{$config{wiki_file_prune_regexps}} ];
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 1, # format plugin
+               },
+} #}}}
+
 sub htmlize (@) { #{{{
        my %params=@_;
        return $params{content};
index 3bdaccea119ec0e1b289a0da2f6d90e2219b8d66..923907b047b8657e03857c91a500df5eb18911c5 100644 (file)
@@ -10,6 +10,7 @@ use IkiWiki 2.00;
 our $safe_url_regexp;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "htmlscrubber", call => \&getsetup);
        hook(type => "sanitize", id => "htmlscrubber", call => \&sanitize);
 
        # Only known uri schemes are allowed to avoid all the ways of
@@ -34,6 +35,14 @@ sub import { #{{{
        $safe_url_regexp=qr/^(?:(?:$uri_schemes):|data:image\/|[^:]+(?:$|\/))/i;
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub sanitize (@) { #{{{
        my %params=@_;
        return scrubber()->scrub($params{content});
index 9591fbe04b3d7a9ef5a0718fc3bc8ff36b1741a3..d9aaba4ca1f4e7c6d3ed631089584071df5a2b3f 100644 (file)
@@ -13,9 +13,18 @@ use IkiWiki 2.00;
 use IPC::Open2;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "tidy", call => \&getsetup);
        hook(type => "sanitize", id => "tidy", call => \&sanitize);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub sanitize (@) { #{{{
        my %params=@_;
 
index d28b6d2d0f033dcd107ceb7b9632b991c8da73a9..fc0cffb1e3fa3d529baccc812b0ee77818bd6a39 100644 (file)
@@ -7,9 +7,18 @@ use strict;
 use IkiWiki 2.00;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "httpauth", call => \&getsetup);
        hook(type => "auth", id => "httpauth", call => \&auth);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 0,
+               },
+} #}}}
+
 sub auth ($$) { #{{{
        my $cgi=shift;
        my $session=shift;
index 748d28aceae70a3494b8a9f587c0f2de0595db6c..66cc08530e685e8d10f6ae90646d7496a00401d2 100644 (file)
@@ -10,9 +10,18 @@ use IkiWiki 2.00;
 my %imgdefaults;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "img", call => \&getsetup);
        hook(type => "preprocess", id => "img", call => \&preprocess, scan => 1);
 } #}}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub preprocess (@) { #{{{
        my ($image) = $_[0] =~ /$config{wiki_file_regexp}/; # untaint
        my %params=@_;
index ed7a584083aeb1cc1b55c321851a094664acb608..9c336e7d7cb57c3ce98a8d9786e1b2fb96a0d71e 100644 (file)
@@ -47,6 +47,10 @@ sub getopt () { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
                rss => {
                        type => "boolean",
                        example => 0,
index 2ea6aa19eebbfdb17b0a1859eb79ca511ced8504..957355643d46badc05c2fd73d7f4b66b042669a1 100644 (file)
@@ -8,12 +8,21 @@ use IkiWiki 2.00;
 my $link_regexp;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "link", call => \&getsetup);
        hook(type => "checkconfig", id => "link", call => \&checkconfig);
        hook(type => "linkify", id => "link", call => \&linkify);
        hook(type => "scan", id => "link", call => \&scan);
        hook(type => "renamepage", id => "link", call => \&renamepage);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 1,
+               },
+} #}}}
+
 sub checkconfig () { #{{{
        if ($config{prefix_directives}) {
                $link_regexp = qr{
index ab199b7238511b74b36255363809d902ef773eb9..81ee665c8c5513cc5a1acdcf16a93028ad9bb141 100644 (file)
@@ -7,10 +7,19 @@ use IkiWiki 2.00;
 use IPC::Open2;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "linkmap", call => \&getsetup);
        hook(type => "preprocess", id => "linkmap", call => \&preprocess);
        hook(type => "format", id => "linkmap", call => \&format);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 my $mapnum=0;
 my %maps;
 
index 525fcb0e5d7fd0e074036421d74a3bc59b2dc33e..7462de41c73851346403e408eb9d53cbf861fe01 100644 (file)
@@ -14,6 +14,10 @@ sub import { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 1,
+                       rebuild => 0,
+               },
                locked_pages => {
                        type => "pagespec",
                        example => "!*/Discussion",
index 5b6a843e7ae2680d654317fc35368190c2d9d087..4a89fbc35ffc738ddf078c9bbc439a9251c31f3b 100644 (file)
@@ -12,9 +12,18 @@ use strict;
 use IkiWiki 2.00;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "map", call => \&getsetup);
        hook(type => "preprocess", id => "map", call => \&preprocess);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub preprocess (@) { #{{{
        my %params=@_;
        $params{pages}="*" unless defined $params{pages};
index 332325adc814134520381b088e7524b335342921..6c1d2ef3c3839ed95d73284292a59e1541995907 100644 (file)
@@ -13,6 +13,10 @@ sub import { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 1,
+                       rebuild => 1, # format plugin
+               },
                multimarkdown => {
                        type => "boolean",
                        example => 0,
index 23bebaaadfd5e09798718523f24d61b6fa1f79f6..7aceebcdb4821ba46929df6b3245e93fa4365fe6 100644 (file)
@@ -33,6 +33,10 @@ sub checkconfig () { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 0, # rcs plugin
+                       rebuild => undef,
+               },
                mercurial_wrapper => {
                        type => "string",
                        #example => # FIXME add example
index 4e0e9e8c72162d93e99cf874da29672ff1b11ab6..b2c85c892146f21f76639fc1f498a35b61007f1f 100644 (file)
@@ -9,11 +9,20 @@ use IkiWiki 2.00;
 my %metaheaders;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "meta", call => \&getsetup);
        hook(type => "needsbuild", id => "meta", call => \&needsbuild);
        hook(type => "preprocess", id => "meta", call => \&preprocess, scan => 1);
        hook(type => "pagetemplate", id => "meta", call => \&pagetemplate);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub needsbuild (@) { #{{{
        my $needsbuild=shift;
        foreach my $page (keys %pagestate) {
index f7c78fdee33769584278b131955b8eac28291716..7e53fe068546488518a79c13365d3c1ee21c45da 100644 (file)
@@ -12,6 +12,10 @@ sub import { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 1,
+                       rebuild => 1,
+               },
                mirrorlist => {
                        type => "string",
                        example => {},
index bdc6ee786e18bad7e4d9b2662df5938ebe2b7131..40a41c765b7142f5973c4ec63a956c6fd7569494 100644 (file)
@@ -65,6 +65,10 @@ sub checkconfig () { #{{{
 
 sub getsetup () { #{{{
        return
+               plugin => {
+                       safe => 0, # rcs plugin
+                       rebuild => undef,
+               },
                mtn_wrapper => {
                        type => "string",
                        example => "/srv/mtn/wiki/_MTN/ikiwiki-netsync-hook",
index 667cd64154803c37e6aad977932767cadba4f5a6..4484441c37e3fe9338cb5ab96512913da7201032 100644 (file)
@@ -8,9 +8,18 @@ use IkiWiki 2.00;
 my $linktext = gettext("more");
 
 sub import { #{{{
-       hook(type => "preprocess",  id => "more", call => \&preprocess);
+       hook(type => "getsetup", id => "more", call => \&getsetup);
+       hook(type => "preprocess", id => "more", call => \&preprocess);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+} #}}}
+
 sub preprocess (@) { #{{{
        my %params=@_;
 
index 72c66569c3651c98fd94ba922cafb75a9f30595b..58c26b63350b5ccc1540d7815ee78d0e8f2ab7cc 100644 (file)
@@ -7,6 +7,7 @@ use strict;
 use IkiWiki;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "norcs", call => \&getsetup);
        hook(type => "rcs", id => "rcs_update", call => \&rcs_update);
        hook(type => "rcs", id => "rcs_prepedit", call => \&rcs_prepedit);
        hook(type => "rcs", id => "rcs_commit", call => \&rcs_commit);
@@ -19,6 +20,15 @@ sub import { #{{{
        hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
 } #}}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 0, # rcs plugin
+                       rebuild => 0,
+               },
+} #}}}
+
+
 sub rcs_update () { #{{{
 } #}}}
 
index aed2ddf64e31b88f2c78a1277e6fce161ae44e21..4670d69c0ad8d96b993cbfd799faabb125bc9772 100644 (file)
@@ -85,8 +85,7 @@ sub showfields ($$$@) { #{{{
        my $plugin_forced=defined $plugin && (! $plugininfo{safe} ||
                (exists $config{websetup_force_plugins} && grep { $_ eq $plugin } @{$config{websetup_force_plugins}}));
        if ($plugin_forced && ! $enabled) {
-               # plugin is disabled and cannot be turned on,
-               # so skip its configuration
+               # plugin is forced disabled, so skip its configuration
                return;
        }