X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/2c05a34be17c805d929f0ad563acf857eba1d46b..3ce00b118e9a5f895a295f2a8382959b194e80bf:/IkiWiki/Render.pm

diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm
index 8a79119cd..90058199c 100644
--- a/IkiWiki/Render.pm
+++ b/IkiWiki/Render.pm
@@ -117,6 +117,10 @@ sub genpage ($$) { #{{{
 	});
 	
 	$content=$template->output;
+	
+	run_hooks(postscan => sub {
+		shift->(page => $page, content => $content);
+	});
 
 	run_hooks(format => sub {
 		$content=shift->(
@@ -241,11 +245,11 @@ sub prune ($) { #{{{
 } #}}}
 
 sub refresh () { #{{{
-	# security check, avoid following symlinks in the srcdir path
+	# security check, avoid following symlinks in the srcdir path by default
 	my $test=$config{srcdir};
 	while (length $test) {
-		if (-l $test) {
-			error("symlink found in srcdir path ($test)");
+		if (-l $test && ! $config{allow_symlinks_before_srcdir}) {
+			error("symlink found in srcdir path ($test) -- set allow_symlinks_before_srcdir to allow this");
 		}
 		unless ($test=~s/\/+$//) {
 			$test=dirname($test);
@@ -315,6 +319,10 @@ sub refresh () { #{{{
 	# check for added or removed pages
 	foreach my $file (@files) {
 		my $page=pagename($file);
+		if (exists $pagesources{$page} && $pagesources{$page} ne $file) {
+			# the page has changed its type
+			$forcerebuild{$page}=1;
+		}
 		$pagesources{$page}=$file;
 		if (! $pagemtime{$page}) {
 			if (isinternal($page)) {