]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/inline.pm
link to pagespec/attachment
[ikiwiki.git] / IkiWiki / Plugin / inline.pm
index 1b12144e8a15708d07975f72c3b40adc41af2434..344620ebe9ed3f0fc74f81d0bb94d2242aed4433 100644 (file)
@@ -11,6 +11,7 @@ use URI;
 my %knownfeeds;
 my %page_numfeeds;
 my @inline;
+my $nested=0;
 
 sub import { #{{{
        hook(type => "getopt", id => "inline", call => \&getopt);
@@ -102,7 +103,7 @@ sub preprocess_inline (@) { #{{{
        my %params=@_;
        
        if (! exists $params{pages}) {
-               return "";
+               return "[[inline ".gettext("missing pages parameter")."]]";
        }
        my $raw=yesno($params{raw});
        my $archive=yesno($params{archive});
@@ -329,7 +330,7 @@ sub preprocess_inline (@) { #{{{
                }
        }
        
-       return $ret if $raw;
+       return $ret if $raw || $nested;
        push @inline, $ret;
        return "<div class=\"inline\" id=\"$#inline\"></div>\n\n";
 } #}}}
@@ -350,11 +351,14 @@ sub get_inline_content ($$) { #{{{
        my $file=$pagesources{$page};
        my $type=pagetype($file);
        if (defined $type) {
-               return htmlize($page, $type,
+               $nested++;
+               my $ret=htmlize($page, $destpage, $type,
                       linkify($page, $destpage,
                       preprocess($page, $destpage,
                       filter($page, $destpage,
                       readfile(srcfile($file))))));
+               $nested--;
+               return $ret;
        }
        else {
                return "";
@@ -445,7 +449,7 @@ sub genfeed ($$$$@) { #{{{
                                $itemtemplate->param(content => $pcontent);
                        }
                        else {
-                               my ($a, $b, $c, $d, $e, $f, $g, $size) = stat(srcfile($file));
+                               my $size=(srcfile_stat($file))[8];
                                my $mime="unknown";
                                eval q{use File::MimeInfo};
                                if (! $@) {
@@ -505,7 +509,7 @@ sub pingurl (@) { #{{{
        defined(my $pid = fork) or error("Can't fork: $!");
        return if $pid;
        chdir '/';
-       setsid() or error("Can't start a new session: $!");
+       POSIX::setsid() or error("Can't start a new session: $!");
        open STDIN, '/dev/null';
        open STDOUT, '>/dev/null';
        open STDERR, '>&STDOUT' or error("Can't dup stdout: $!");