Browse Source

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.
Joey Hess 8 years ago

+ 2
- 8
IkiWiki/Plugin/ View File

@@ -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 ($$;$) {

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 ($$;$) {

+ 1
- 3
doc/bugs/emails_should_not_be_considered_as_broken_links.mdwn View File

@@ -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]]