X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/369cf45ace663f42960cea72f87e669ea81979cd..e3f7675264914032a21fca8a50170d6c0dd375f9:/IkiWiki/Plugin/inline.pm?ds=inline diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index caef98ef2..fd7a59ab3 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -42,7 +42,8 @@ sub preprocess_inline (@) { #{{{ my $archive=yesno($params{archive}); my $rss=($config{rss} && exists $params{rss}) ? yesno($params{rss}) : $config{rss}; my $atom=($config{atom} && exists $params{atom}) ? yesno($params{atom}) : $config{atom}; - my $feeds=exists $params{feeds} ? yesno($params{feeds}) : 1; + my $quick=exists $params{quick} ? yesno($params{quick}) : 0; + my $feeds=exists $params{feeds} ? yesno($params{feeds}) : !$quick; if (! exists $params{show} && ! $archive) { $params{show}=10; } @@ -72,6 +73,10 @@ sub preprocess_inline (@) { #{{{ return "unknown sort type $params{sort}"; } + if (exists $params{skip}) { + @list=@list[$params{skip} .. scalar @list - 1]; + } + if ($params{show} && @list > $params{show}) { @list=@list[0..$params{show} - 1]; } @@ -108,22 +113,21 @@ sub preprocess_inline (@) { #{{{ my $file = $pagesources{$page}; my $type = pagetype($file); if (! $raw || ($raw && ! defined $type)) { - # Get the content before populating the template, - # since getting the content uses the same template - # if inlines are nested. - # TODO: if $archive=1, the only reason to do this - # is to let the meta plugin get page title info; so stop - # calling this next line then once the meta plugin can - # store that accross runs (also tags plugin). - my $content=get_inline_content($page, $params{destpage}); - # Don't use htmllink because this way the title is separate - # and can be overridden by other plugins. + unless ($archive && $quick) { + # Get the content before populating the + # template, since getting the content uses + # the same template if inlines are nested. + my $content=get_inline_content($page, $params{destpage}); + $template->param(content => $content); + } + # Don't use htmllink because this way the + # title is separate and can be overridden by + # other plugins. my $link=bestlink($params{page}, $page); $link=htmlpage($link) if defined $type; $link=abs2rel($link, dirname($params{destpage})); $template->param(pageurl => $link); $template->param(title => pagetitle(basename($page))); - $template->param(content => $content); $template->param(ctime => displaytime($pagectime{$page})); if ($actions) { @@ -131,7 +135,7 @@ sub preprocess_inline (@) { #{{{ my $type = pagetype($file); if ($config{discussion}) { $template->param(have_actions => 1); - $template->param(discussionlink => htmllink($page, $page, "Discussion", 1, 1)); + $template->param(discussionlink => htmllink($page, $params{page}, "Discussion", 1, 1)); } if (length $config{cgiurl} && defined $type) { $template->param(have_actions => 1); @@ -207,6 +211,7 @@ sub date_822 ($) { #{{{ my $time=shift; eval q{use POSIX}; + error($@) if $@; my $lc_time= POSIX::setlocale(&POSIX::LC_TIME); POSIX::setlocale(&POSIX::LC_TIME, "C"); my $ret=POSIX::strftime("%a, %d %b %Y %H:%M:%S %z", localtime($time)); @@ -218,6 +223,7 @@ sub date_3339 ($) { #{{{ my $time=shift; eval q{use POSIX}; + error($@) if $@; my $lc_time= POSIX::setlocale(&POSIX::LC_TIME); POSIX::setlocale(&POSIX::LC_TIME, "C"); my $ret=POSIX::strftime("%Y-%m-%dT%H:%M:%SZ", localtime($time)); @@ -228,12 +234,14 @@ sub date_3339 ($) { #{{{ sub absolute_urls ($$) { #{{{ # sucky sub because rss sucks my $content=shift; - my $url=shift; + my $baseurl=shift; + my $url=$baseurl; $url=~s/[^\/]+$//; - $content=~s//dev/null'; + open STDERR, '>&STDOUT' or error("Can’t dup stdout: $!"); + + # Don't need to keep a lock on the wiki as a daemon. + IkiWiki::unlockwiki(); foreach my $page (keys %toping) { my $title=pagetitle(basename($page)); @@ -361,6 +380,8 @@ sub pingurl (@) { #{{{ } } } + + exit 0; # daemon done } #}}} 1