]> sipb.mit.edu Git - ikiwiki.git/blobdiff - ikiwiki
* Allow preprocessor directives to be expanded in inlined blog pages.
[ikiwiki.git] / ikiwiki
diff --git a/ikiwiki b/ikiwiki
index e6c2567baa42ce08e417b3fb2bd2c61b23172999..a10876a96ba10b6fb888c13742f32c34ddf97939 100755 (executable)
--- a/ikiwiki
+++ b/ikiwiki
@@ -15,6 +15,7 @@ sub getconfig () { #{{{
        if (! exists $ENV{WRAPPED_OPTIONS}) {
                %config=defaultconfig();
                eval q{use Getopt::Long};
+               Getopt::Long::Configure('pass_through');
                GetOptions(
                        "setup|s=s" => \$config{setup},
                        "wikiname=s" => \$config{wikiname},
@@ -29,6 +30,7 @@ sub getconfig () { #{{{
                        "rss!" => \$config{rss},
                        "cgi!" => \$config{cgi},
                        "discussion!" => \$config{discussion},
+                       "w3mmode!" => \$config{w3mmode},
                        "notify!" => \$config{notify},
                        "url=s" => \$config{url},
                        "cgiurl=s" => \$config{cgiurl},
@@ -57,11 +59,25 @@ sub getconfig () { #{{{
                                push @{$config{plugin}}, $_[1];
                        },
                        "disable-plugin=s@" => sub {
-                               $config{plugin}=[grep { $_ ne $_[1] } @{$config{plugin}} ];
+                               $config{plugin}=[grep { $_ ne $_[1] } @{$config{plugin}}];
                        },
+                       "pingurl" => sub {
+                               push @{$config{pingurl}}, $_[1];
+                       }
                ) || usage();
 
                if (! $config{setup}) {
+                       loadplugins();
+                       if (exists $hooks{getopt}) {
+                               foreach my $id (keys %{$hooks{getopt}}) {
+                                       $hooks{getopt}{$id}{call}->();
+                               }
+                       }
+                       if (grep /^-/, @ARGV) {
+                               print STDERR "Unknown option: $_\n"
+                                       foreach grep /^-/, @ARGV;
+                               usage();
+                       }
                        usage() unless @ARGV == 2;
                        $config{srcdir} = possibly_foolish_untaint(shift @ARGV);
                        $config{destdir} = possibly_foolish_untaint(shift @ARGV);
@@ -75,6 +91,7 @@ sub getconfig () { #{{{
                if ($@) {
                        error("WRAPPED_OPTIONS: $@");
                }
+               loadplugins();
                checkconfig();
        }
 } #}}}