add quick mode for speeding up generation of big archive pages
parent
f8cbf79735
commit
3a31030550
|
@ -42,7 +42,8 @@ sub preprocess_inline (@) { #{{{
|
||||||
my $archive=yesno($params{archive});
|
my $archive=yesno($params{archive});
|
||||||
my $rss=($config{rss} && exists $params{rss}) ? yesno($params{rss}) : $config{rss};
|
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 $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) {
|
if (! exists $params{show} && ! $archive) {
|
||||||
$params{show}=10;
|
$params{show}=10;
|
||||||
}
|
}
|
||||||
|
@ -112,22 +113,21 @@ sub preprocess_inline (@) { #{{{
|
||||||
my $file = $pagesources{$page};
|
my $file = $pagesources{$page};
|
||||||
my $type = pagetype($file);
|
my $type = pagetype($file);
|
||||||
if (! $raw || ($raw && ! defined $type)) {
|
if (! $raw || ($raw && ! defined $type)) {
|
||||||
# Get the content before populating the template,
|
if (! $archive && $quick) {
|
||||||
# since getting the content uses the same template
|
# Get the content before populating the
|
||||||
# if inlines are nested.
|
# template, since getting the content uses
|
||||||
# TODO: if $archive=1, the only reason to do this
|
# the same template if inlines are nested.
|
||||||
# is to let the meta plugin get page title info; so stop
|
my $content=get_inline_content($page, $params{destpage});
|
||||||
# calling this next line then once the meta plugin can
|
$template->param(content => $content);
|
||||||
# store that accross runs (also tags plugin).
|
}
|
||||||
my $content=get_inline_content($page, $params{destpage});
|
# Don't use htmllink because this way the
|
||||||
# Don't use htmllink because this way the title is separate
|
# title is separate and can be overridden by
|
||||||
# and can be overridden by other plugins.
|
# other plugins.
|
||||||
my $link=bestlink($params{page}, $page);
|
my $link=bestlink($params{page}, $page);
|
||||||
$link=htmlpage($link) if defined $type;
|
$link=htmlpage($link) if defined $type;
|
||||||
$link=abs2rel($link, dirname($params{destpage}));
|
$link=abs2rel($link, dirname($params{destpage}));
|
||||||
$template->param(pageurl => $link);
|
$template->param(pageurl => $link);
|
||||||
$template->param(title => pagetitle(basename($page)));
|
$template->param(title => pagetitle(basename($page)));
|
||||||
$template->param(content => $content);
|
|
||||||
$template->param(ctime => displaytime($pagectime{$page}));
|
$template->param(ctime => displaytime($pagectime{$page}));
|
||||||
|
|
||||||
if ($actions) {
|
if ($actions) {
|
||||||
|
|
|
@ -29,6 +29,8 @@ directive:
|
||||||
* `rootpage` - Enables a form to post new pages to a [[blog]].
|
* `rootpage` - Enables a form to post new pages to a [[blog]].
|
||||||
* `archive` - If set to "yes", only list page titles and some metadata, not
|
* `archive` - If set to "yes", only list page titles and some metadata, not
|
||||||
full controls.
|
full controls.
|
||||||
|
* `quick` - Build archives in quick mode, without reading page contents for
|
||||||
|
metadata. By default, this also turns off generation of any feeds.
|
||||||
* `raw` - Rather than the default behavior of creating a [[blog]],
|
* `raw` - Rather than the default behavior of creating a [[blog]],
|
||||||
if raw is set to "yes", the page will be included raw, without additional
|
if raw is set to "yes", the page will be included raw, without additional
|
||||||
markup around it, as if it were a literal part of the source of the
|
markup around it, as if it were a literal part of the source of the
|
||||||
|
|
Loading…
Reference in New Issue