From 15ddbb1c70fecb052ef45ae96574a4d888578d11 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Sun, 3 Feb 2019 12:52:42 +0000 Subject: [PATCH] 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 --- IkiWiki/Plugin/trail.pm | 2 +- t/trail.t | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/IkiWiki/Plugin/trail.pm b/IkiWiki/Plugin/trail.pm index 476db4dcb..01e17d614 100644 --- a/IkiWiki/Plugin/trail.pm +++ b/IkiWiki/Plugin/trail.pm @@ -160,7 +160,7 @@ sub preprocess_trailitems (@) { if (exists $params{pagenames}) { push @{$pagestate{$params{page}}{trail}{contents}}, - [pagenames => (split ' ', $params{pagenames})]; + [pagenames => (map { linkpage $_ } split ' ', $params{pagenames})]; } return ""; diff --git a/t/trail.t b/t/trail.t index d7edd52eb..125749f45 100755 --- a/t/trail.t +++ b/t/trail.t @@ -186,13 +186,10 @@ check_no_trail("snake.html", "wind_in_the_willows"); 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/\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/__128169__.html", "n= p=unicode/__8800__", "unicode"); -} check_trail("unicode/__172__.html", "n=unicode/\x{04D2} p=", "unicode2"); check_trail("unicode/\x{04D2}.html", "n=unicode/__8800__ p=unicode/__172__", "unicode2");