diff options
author | Joey Hess <joey@kitenet.net> | 2011-06-29 19:09:23 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-06-29 19:09:23 -0400 |
commit | 506d16a8a01e563601dee2ddde877cb8210a61ef (patch) | |
tree | 47ab3109e219d005e2bf421c013eab78a0926447 | |
parent | a965e024302c900df9a77ed9eccc8609d2986571 (diff) | |
download | ikiwiki-506d16a8a01e563601dee2ddde877cb8210a61ef.tar ikiwiki-506d16a8a01e563601dee2ddde877cb8210a61ef.tar.gz |
emails in wikilinks are always email addresses
If a page that looks like an email address exists, it can't be linked to.
But that's unlikely. Better to be consistent; before this change, a
wikilink with an email address in it could link to the email address or a
page, depending on when the page was created and when the page with the
link was updated.
-rw-r--r-- | IkiWiki/Plugin/link.pm | 10 | ||||
-rw-r--r-- | doc/bugs/emails_should_not_be_considered_as_broken_links.mdwn | 4 |
2 files changed, 3 insertions, 11 deletions
diff --git a/IkiWiki/Plugin/link.pm b/IkiWiki/Plugin/link.pm index 87e06ca89..ef01f1107 100644 --- a/IkiWiki/Plugin/link.pm +++ b/IkiWiki/Plugin/link.pm @@ -7,7 +7,7 @@ use IkiWiki 3.00; my $link_regexp; -my $email_regexp = qr/^.+@.+$/; +my $email_regexp = qr/^.+@.+\..+$/; my $url_regexp = qr/^(?:[^:]+:\/\/|mailto:).*/i; sub import { @@ -73,13 +73,7 @@ sub is_externallink ($$;$) { $url.="#".$anchor; } - if ($url =~ /$email_regexp/) { - # url looks like an email address, so we assume it - # is supposed to be an external link if there is no - # page with that name. - return (! (bestlink($page, linkpage($url)))) - } - return ($url =~ /$url_regexp/) + return ($url =~ /$url_regexp|$email_regexp/) } sub externallink ($$;$) { diff --git a/doc/bugs/emails_should_not_be_considered_as_broken_links.mdwn b/doc/bugs/emails_should_not_be_considered_as_broken_links.mdwn index 353c3653d..5aad1292a 100644 --- a/doc/bugs/emails_should_not_be_considered_as_broken_links.mdwn +++ b/doc/bugs/emails_should_not_be_considered_as_broken_links.mdwn @@ -9,6 +9,4 @@ The [[ikiwiki/directive/brokenlinks]] directive lists emails when used inside [[ >> and it was easier to make ikiwiki's wikilinks do so too, rather >> than put entirely different link handling into creole. >> ->> Anyway, I've fixed this, although it leaves some weirdness if a page ->> is created with a name like an email address and that same email address ->> was previously used for external links. [[done]] --[[Joey]] +>> Anyway, I've fixed this. [[done]] --[[Joey]] |