diff options
author | Joey Hess <joey@kitenet.net> | 2011-06-29 16:38:32 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-06-29 16:38:32 -0400 |
commit | 25b01f94045eaa262587fcd18e8525eed9c18157 (patch) | |
tree | f63e437973ee35aebd9f511c8e18c80ace9d8d4f /IkiWiki | |
parent | 9bae303ec42aaa7e6c1297505d296ebada185423 (diff) | |
download | ikiwiki-25b01f94045eaa262587fcd18e8525eed9c18157.tar ikiwiki-25b01f94045eaa262587fcd18e8525eed9c18157.tar.gz |
Preserve mixed case in page creation links, and when creating a page whose title is mixed case, allow selecting between the mixed case and all lower-case names.
Diffstat (limited to 'IkiWiki')
-rw-r--r-- | IkiWiki/Plugin/editpage.pm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/IkiWiki/Plugin/editpage.pm b/IkiWiki/Plugin/editpage.pm index 3d094c263..a385ed839 100644 --- a/IkiWiki/Plugin/editpage.pm +++ b/IkiWiki/Plugin/editpage.pm @@ -227,6 +227,8 @@ sub cgi_editpage ($$) { $absolute || $form->submitted) { @page_locs=$best_loc=$page; + unshift @page_locs, lc($page) + if ! $form->submitted && lc($page) ne $page; } else { my $dir=$from."/"; @@ -241,13 +243,18 @@ sub cgi_editpage ($$) { $best_loc=$dir.$page; } + my $mixedcase=lc($page) ne $page; + + push @page_locs, $dir.lc($page) if $mixedcase; push @page_locs, $dir.$page; - push @page_locs, "$from/$page"; + push @page_locs, $from."/".lc($page) if $mixedcase; + push @page_locs, $from."/".$page; while (length $dir) { $dir=~s![^/]+/+$!!; + push @page_locs, $dir.lc($page) if $mixedcase; push @page_locs, $dir.$page; } - + my $userpage=IkiWiki::userpage($page); push @page_locs, $userpage if ! grep { $_ eq $userpage } @page_locs; |