trail: Allow unescaped punctuation in pagenames

By processing the pagenames through linkpage, we let users specify
page names that contain non-alphanumerics in a more natural way.

Signed-off-by: Simon McVittie <smcv@debian.org>
master
Simon McVittie 2019-02-03 12:52:42 +00:00
parent fae4cce06a
commit 15ddbb1c70
2 changed files with 1 additions and 4 deletions

View File

@ -160,7 +160,7 @@ sub preprocess_trailitems (@) {
if (exists $params{pagenames}) { if (exists $params{pagenames}) {
push @{$pagestate{$params{page}}{trail}{contents}}, push @{$pagestate{$params{page}}{trail}{contents}},
[pagenames => (split ' ', $params{pagenames})]; [pagenames => (map { linkpage $_ } split ' ', $params{pagenames})];
} }
return ""; return "";

View File

@ -186,13 +186,10 @@ check_no_trail("snake.html", "wind_in_the_willows");
check_trail("self_referential.html", "n= p=", "self_referential"); check_trail("self_referential.html", "n= p=", "self_referential");
TODO: {
local $TODO = 'should be able to specify page names without using numeric escapes';
check_trail("unicode/__172__.html", "n=unicode/\x{04D2} p=", "unicode"); check_trail("unicode/__172__.html", "n=unicode/\x{04D2} p=", "unicode");
check_trail("unicode/\x{04D2}.html", "n=unicode/__8800__ p=unicode/__172__", "unicode"); check_trail("unicode/\x{04D2}.html", "n=unicode/__8800__ p=unicode/__172__", "unicode");
check_trail("unicode/__8800__.html", "n=unicode/__128169__ p=unicode/\x{04D2}", "unicode"); check_trail("unicode/__8800__.html", "n=unicode/__128169__ p=unicode/\x{04D2}", "unicode");
check_trail("unicode/__128169__.html", "n= p=unicode/__8800__", "unicode"); check_trail("unicode/__128169__.html", "n= p=unicode/__8800__", "unicode");
}
check_trail("unicode/__172__.html", "n=unicode/\x{04D2} p=", "unicode2"); check_trail("unicode/__172__.html", "n=unicode/\x{04D2} p=", "unicode2");
check_trail("unicode/\x{04D2}.html", "n=unicode/__8800__ p=unicode/__172__", "unicode2"); check_trail("unicode/\x{04D2}.html", "n=unicode/__8800__ p=unicode/__172__", "unicode2");