Add path and path_natural sort orders

(cherry picked from commit 272e0b2f17)
master
Simon McVittie 2011-11-12 15:11:02 +00:00 committed by Joey Hess
parent 30938ee255
commit 5333c113d6
3 changed files with 11 additions and 1 deletions

View File

@ -2808,6 +2808,7 @@ sub cmp_title {
IkiWiki::pagetitle(IkiWiki::basename($b)) IkiWiki::pagetitle(IkiWiki::basename($b))
} }
sub cmp_path { IkiWiki::pagetitle($a) cmp IkiWiki::pagetitle($b) }
sub cmp_mtime { $IkiWiki::pagemtime{$b} <=> $IkiWiki::pagemtime{$a} } sub cmp_mtime { $IkiWiki::pagemtime{$b} <=> $IkiWiki::pagemtime{$a} }
sub cmp_age { $IkiWiki::pagectime{$b} <=> $IkiWiki::pagectime{$a} } sub cmp_age { $IkiWiki::pagectime{$b} <=> $IkiWiki::pagectime{$a} }

View File

@ -30,4 +30,9 @@ sub cmp_title_natural {
IkiWiki::pagetitle(IkiWiki::basename($b))) IkiWiki::pagetitle(IkiWiki::basename($b)))
} }
sub cmp_path_natural {
Sort::Naturally::ncmp(IkiWiki::pagetitle($a),
IkiWiki::pagetitle($b))
}
1; 1;

View File

@ -7,10 +7,14 @@ orders can be specified.
* `mtime` - List pages with the most recently modified first. * `mtime` - List pages with the most recently modified first.
* `title` - Order by title (page name). * `title` - Order by title (page name), e.g. "z/a a/b a/c"
* `path` - Order by page name including parents, e.g. "a/b a/c z/a"
[[!if test="enabled(sortnaturally)" then=""" [[!if test="enabled(sortnaturally)" then="""
* `title_natural` - Orders by title, but numbers in the title are treated * `title_natural` - Orders by title, but numbers in the title are treated
as such, ("1 2 9 10 20" instead of "1 10 2 20 9") as such, ("1 2 9 10 20" instead of "1 10 2 20 9")
* `path_natural` - Like `path`, but numbers in the title are treated as such
"""]] """]]
[[!if test="enabled(meta)" then=""" [[!if test="enabled(meta)" then="""
* `meta(title)` - Order according to the `\[[!meta title="foo" sortas="bar"]]` * `meta(title)` - Order according to the `\[[!meta title="foo" sortas="bar"]]`