]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki.pm
Avoid escaping / characters in filenames when building the cgiurl, as this confuses...
[git.ikiwiki.info.git] / IkiWiki.pm
index 3a4cfd5e730cd7fc04a14a94d8a3fbd71f053fc5..9de25a4b31dc46dd450b2a6ab60261f44e9f0401 100644 (file)
@@ -810,17 +810,23 @@ sub srcfile ($;$) {
        return (srcfile_stat(@_))[0];
 }
 
-sub add_underlay ($) {
+sub add_literal_underlay ($) {
        my $dir=shift;
 
-       if ($dir !~ /^\//) {
-               $dir="$config{underlaydirbase}/$dir";
-       }
-
        if (! grep { $_ eq $dir } @{$config{underlaydirs}}) {
                unshift @{$config{underlaydirs}}, $dir;
        }
+}
+
+sub add_underlay ($) {
+       my $dir = shift;
 
+       if ($dir !~ /^\//) {
+               $dir="$config{underlaydirbase}/$dir";
+       }
+
+       add_literal_underlay($dir);
+       # why does it return 1? we just don't know
        return 1;
 }
 
@@ -1068,6 +1074,16 @@ sub baseurl (;$) {
        return $page;
 }
 
+sub urlabs ($$) {
+       my $url=shift;
+       my $urlbase=shift;
+
+       return $url unless defined $urlbase && length $urlbase;
+
+       eval q{use URI};
+       URI->new_abs($url, $urlbase)->as_string;
+}
+
 sub abs2rel ($$) {
        # Work around very innefficient behavior in File::Spec if abs2rel
        # is passed two relative paths. It's much faster if paths are
@@ -1152,7 +1168,7 @@ sub urlto ($;$$) {
        }
 
        if (! defined $from) {
-               my $u = $local_url;
+               my $u = $local_url || '';
                $u =~ s{/$}{};
                return $u.beautify_urlpath("/".$to);
        }
@@ -1906,39 +1922,6 @@ sub template ($;@) {
        template_depends(shift, undef, @_);
 }
 
-sub misctemplate ($$;@) {
-       my $title=shift;
-       my $content=shift;
-       my %params=@_;
-       
-       my $template=template("page.tmpl");
-
-       my $page="";
-       if (exists $params{page}) {
-               $page=delete $params{page};
-       }
-       run_hooks(pagetemplate => sub {
-               shift->(
-                       page => $page,
-                       destpage => $page,
-                       template => $template,
-               );
-       });
-       templateactions($template, "");
-
-       $template->param(
-               dynamic => 1,
-               title => $title,
-               wikiname => $config{wikiname},
-               content => $content,
-               baseurl => $config{url},
-               html5 => $config{html5},
-               %params,
-       );
-       
-       return $template->output;
-}
-
 sub templateactions ($$) {
        my $template=shift;
        my $page=shift;