X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/ecd4f0ee553cc3e11491f236763d6cc7cd6dd8a1..e156758766e6b729a3314db503c2e2bb334c31a3:/IkiWiki.pm diff --git a/IkiWiki.pm b/IkiWiki.pm index 5e21e7090..2ad2f792d 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -277,13 +277,20 @@ sub getsetup () { #{{{ }, umask => { type => "integer", - description => "", example => "022", description => "force ikiwiki to use a particular umask", advanced => 1, safe => 0, # paranoia rebuild => 0, }, + wrappergroup => { + type => "string", + example => "ikiwiki", + description => "group for wrappers to run in", + advanced => 1, + safe => 0, # paranoia + rebuild => 0, + }, libdir => { type => "string", default => "", @@ -721,6 +728,10 @@ sub readfile ($;$$) { #{{{ binmode($in) if ($binary); return \*$in if $wantfd; my $ret=<$in>; + # check for invalid utf-8, and toss it back to avoid crashes + if (! utf8::valid($ret)) { + $ret=encode_utf8($ret); + } close $in || error("failed to read $file: $!"); return $ret; } #}}} @@ -938,9 +949,9 @@ sub beautify_urlpath ($) { #{{{ $url =~ s!/index.$config{htmlext}$!/!; } - # Ensure url is not an empty link, and - # if it's relative, make that explicit to avoid colon confusion. - if ($url !~ /^\//) { + # Ensure url is not an empty link, and if necessary, + # add ./ to avoid colon confusion. + if ($url !~ /^\// && $url !~ /^\.\.\//) { $url="./$url"; }