X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/5bc73d7facbea81ae533777affaffbe3d7476c0f..c1e4bed9d6c57c6c8fd08712ba20f303980b1e69:/ikiwiki.in?ds=sidebyside

diff --git a/ikiwiki.in b/ikiwiki.in
index 7d13ab455..2aeaf94ec 100755
--- a/ikiwiki.in
+++ b/ikiwiki.in
@@ -10,7 +10,7 @@ use lib '.'; # For use in nonstandard directory, munged by Makefile.
 use IkiWiki;
 
 sub usage () { #{{{
-	die "usage: ikiwiki [options] source dest\n";
+	die gettext("usage: ikiwiki [options] source dest"), "\n";
 } #}}}
 
 sub getconfig () { #{{{
@@ -25,15 +25,14 @@ sub getconfig () { #{{{
 			"syslog!" => \$config{syslog},
 			"rebuild!" => \$config{rebuild},
 			"refresh!" => \$config{refresh},
+			"post-commit" => \$config{post_commit},
 			"render=s" => \$config{render},
 			"wrappers!" => \$config{wrappers},
+			"usedirs!" => \$config{usedirs},
 			"getctime" => \$config{getctime},
-			"wrappermode=i" => \$config{wrappermode},
+			"numbacklinks=i" => \$config{numbacklinks},
 			"rcs=s" => \$config{rcs},
 			"no-rcs" => sub { $config{rcs}="" },
-			"anonok!" => \$config{anonok},
-			"rss!" => \$config{rss},
-			"atom!" => \$config{atom},
 			"cgi!" => \$config{cgi},
 			"discussion!" => \$config{discussion},
 			"w3mmode!" => \$config{w3mmode},
@@ -48,8 +47,11 @@ sub getconfig () { #{{{
 			"timeformat=s" => \$config{timeformat},
 			"sslcookie!" => \$config{sslcookie},
 			"httpauth!" => \$config{httpauth},
+			"userdir=s" => \$config{userdir},
+			"htmlext=s" => \$config{htmlext},
+			"libdir=s" => \$config{libdir},
 			"exclude=s@" => sub {
-				$config{wiki_file_prune_regexp}=qr/$config{wiki_file_prune_regexp}|$_[1]/;
+				push @{$config{wiki_file_prune_regexps}}, $_[1];
 			},
 			"adminuser=s@" => sub {
 				push @{$config{adminuser}}, $_[1]
@@ -61,17 +63,27 @@ sub getconfig () { #{{{
 				$config{underlaydir}=possibly_foolish_untaint($_[1])
 			},
 			"wrapper:s" => sub {
-				$config{wrapper}=$_[1] ? $_[1] : "ikiwiki-wrap"
+				$config{wrapper}=$_[1] ? possibly_foolish_untaint($_[1]) : "ikiwiki-wrap"
+			},
+			"wrappermode=i" => sub {
+				$config{wrappermode}=possibly_foolish_untaint($_[1])
 			},
 			"plugin=s@" => sub {
 				push @{$config{plugin}}, $_[1];
 			},
 			"disable-plugin=s@" => sub {
-				$config{plugin}=[grep { $_ ne $_[1] } @{$config{plugin}}];
+				push @{$config{disable_plugins}}, $_[1];
 			},
 			"pingurl=s" => sub {
 				push @{$config{pingurl}}, $_[1];
 			},
+			"set=s" => sub {
+				my ($var, $val)=split('=', $_[1], 2);
+				if (! defined $var || ! defined $val) {
+					die gettext("usage: --set var=value"), "\n";
+				}
+				$config{$var}=$val;
+			},
 			"version" => sub {
 				print "ikiwiki version $IkiWiki::version\n";
 				exit;
@@ -101,12 +113,7 @@ sub getconfig () { #{{{
 sub main () { #{{{
 	getconfig();
 	
-	if ($config{cgi}) {
-		loadindex();
-		require IkiWiki::CGI;
-		cgi();
-	}
-	elsif ($config{setup}) {
+	if ($config{setup}) {
 		require IkiWiki::Setup;
 		setup();
 	}
@@ -115,10 +122,21 @@ sub main () { #{{{
 		require IkiWiki::Wrapper;
 		gen_wrapper();
 	}
+	elsif ($config{cgi}) {
+		loadindex();
+		require IkiWiki::CGI;
+		cgi();
+	}
 	elsif ($config{render}) {
 		require IkiWiki::Render;
 		commandline_render();
 	}
+	elsif ($config{post_commit} && ! commit_hook_enabled()) {
+		if ($config{notify}) {
+			loadindex();
+			rcs_notify();
+		}
+	}
 	else {
 		lockwiki();
 		loadindex();