diff options
author | Simon McVittie <smcv@debian.org> | 2014-07-11 22:08:08 +0100 |
---|---|---|
committer | Simon McVittie <smcv@debian.org> | 2014-07-11 22:08:08 +0100 |
commit | 3f4a93574071c004fc332a68b2cac1f70de7f940 (patch) | |
tree | 0639b4ca388d5503dae6143997dfa685ff9f8de5 /IkiWiki | |
parent | 48c310ddbd45ac932495bcd5ece8f25b95e64528 (diff) | |
download | ikiwiki-3f4a93574071c004fc332a68b2cac1f70de7f940.tar ikiwiki-3f4a93574071c004fc332a68b2cac1f70de7f940.tar.gz |
trail: don't generate a costly dependency when forcing sort order
pagespec_match_list() makes the current page depend on the pagespec
being matched, so if you use [[!trailoptions sort="..."]] to force
a sort order, the trail ends up depending on internal(*) and is
rebuilt whenever anything changes. Add a new sort_pages() and use that
instead.
Diffstat (limited to 'IkiWiki')
-rw-r--r-- | IkiWiki/Plugin/trail.pm | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/IkiWiki/Plugin/trail.pm b/IkiWiki/Plugin/trail.pm index d5fb2b5d6..476db4dcb 100644 --- a/IkiWiki/Plugin/trail.pm +++ b/IkiWiki/Plugin/trail.pm @@ -319,10 +319,9 @@ sub prerender { } if (defined $pagestate{$trail}{trail}{sort}) { - # re-sort - @$members = pagespec_match_list($trail, 'internal(*)', - list => $members, - sort => $pagestate{$trail}{trail}{sort}); + @$members = IkiWiki::sort_pages( + $pagestate{$trail}{trail}{sort}, + $members); } if (IkiWiki::yesno $pagestate{$trail}{trail}{reverse}) { |