X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/e7886a46c5673a98487f7ec01ffc5b2f5f78354b..335a6a59e66ee7c2cf0c68c659259b885f7e8a07:/doc/bugs/No_link_for_blog_items_when_filename_contains_a_colon.mdwn diff --git a/doc/bugs/No_link_for_blog_items_when_filename_contains_a_colon.mdwn b/doc/bugs/No_link_for_blog_items_when_filename_contains_a_colon.mdwn index ac6d6db1e..313c1addd 100644 --- a/doc/bugs/No_link_for_blog_items_when_filename_contains_a_colon.mdwn +++ b/doc/bugs/No_link_for_blog_items_when_filename_contains_a_colon.mdwn @@ -6,7 +6,7 @@ EDIT: I just found that in this wiki under the enabled, then `$safe_url_regexp` determines the URL unsafe because of the colon and hence removes the `src` attribute. -Digging into this, I find that [[rfc 3986]] pretty much discourages colons in +Digging into this, I find that [[!rfc 3986]] pretty much discourages colons in filenames: > A path segment that contains a colon character (e.g., "this:that") cannot be @@ -22,4 +22,39 @@ In any case, `htmlscrubber` should get a new regexp, courtesy of dato: [Commit/patch be0b4f60](http://git.madduck.net/v/code/ikiwiki.git?a=commit;h=be0b4f603f918444b906e42825908ddac78b7073) fixes this. -[[done]] + +**July 21 2008:** I update this bug report as it still seems to be an issue: E.g. when creating a subpage whose name contains +a colon by inserting an appropriate wikilink in the parent page: the new page can be created using that link, but afterwards +there won't be a link to this page. Like madduck said above it seems to be htmlscrubber removing this link. However everything +works fine if the same page is being linked to from another subpage because in that case the resulting link starts with `../`. + +At the moment I see two possible solutions: + +1. let all relative links at least start with `./`. I haven't tested this. + +2. Escape the colon in page titles. I created the following patch which worked for me: + + --- IkiWiki.pm.2.53-save 2008-07-08 15:56:38.000000000 +0200 + +++ IkiWiki.pm 2008-07-21 20:41:35.000000000 +0200 + @@ -477,13 +477,13 @@ + + sub titlepage ($) { #{{{ + my $title=shift; + - $title=~s/([^-[:alnum:]:+\/.])/$1 eq ' ' ? '_' : "__".ord($1)."__"/eg; + + $title=~s/([^-[:alnum:]+\/.])/$1 eq ' ' ? '_' : "__".ord($1)."__"/eg; + return $title; + } #}}} + + sub linkpage ($) { #{{{ + my $link=shift; + - $link=~s/([^-[:alnum:]:+\/._])/$1 eq ' ' ? '_' : "__".ord($1)."__"/eg; + + $link=~s/([^-[:alnum:]+\/._])/$1 eq ' ' ? '_' : "__".ord($1)."__"/eg; + return $link; + } #}}} + +What do you think about that? Does the patch have any side-effects I didn't see? + +> I almost really fixed this in 2.53, but missed one case. All fixed now +> AFAICS. --[[Joey]] + +[[tag done]]