Fri May 13 20:33:53 BST 2005 Adam Spiers * auto-render image attachments even if they're relative URLs http://twiki.org/cgi-bin/view/Codev/RelativeURLs diff -rN -u old-twiki-20040902-dev/lib/TWiki/Render.pm new-twiki-20040902-dev/lib/TWiki/Render.pm --- old-twiki-20040902-dev/lib/TWiki/Render.pm 2005-06-01 14:24:24.000000000 +0100 +++ new-twiki-20040902-dev/lib/TWiki/Render.pm 2005-06-01 14:24:41.000000000 +0100 @@ -729,14 +729,14 @@ ---++ sub externalLink ( $pre, $url ) -Not yet documented. +FIXME - what on earth is the point of the C<$pre> here? =cut sub externalLink { my( $pre, $url ) = @_; - if( $url =~ /\.(gif|jpg|jpeg|png)$/i ) { + if( $url =~ /$regex{imageSuffixRegex}$/ ) { my $filename = $url; $filename =~ s@.*/([^/]*)@$1@go; return "$pre\"$filename\""; @@ -995,6 +995,11 @@ # Handle embedded URLs s!(^|[\-\*\s\(])($regex{linkProtocolPattern}\:([^\s\<\>\"]+[^\s\.\,\!\?\;\:\)\<]))!&externalLink($1,$2)!geo; +# Adam Spiers +# Auto-render images even when URL are relative; see +# http://twiki.org/cgi-bin/view/Codev/RelativeURLs + s~(?:^|\s)($TWiki::pubUrlPath/$regex{webNameRegex}/$regex{filenameRegex}/[^/]+$regex{imageSuffixRegex})~&externalLink('', $1)~ge; + # Entities s/&(\w+?)\;/$TranslationToken$1\;/g; # "&abc;" s/&(\#[0-9]+)\;/$TranslationToken$1\;/g; # "{" diff -rN -u old-twiki-20040902-dev/lib/TWiki.pm new-twiki-20040902-dev/lib/TWiki.pm --- old-twiki-20040902-dev/lib/TWiki.pm 2005-06-01 14:24:24.000000000 +0100 +++ new-twiki-20040902-dev/lib/TWiki.pm 2005-06-01 14:24:43.000000000 +0100 @@ -628,6 +628,8 @@ # Filename regex, for attachments $regex{filenameRegex} = qr/[$regex{mixedAlphaNum}\.]+/; + $regex{imageSuffixRegex} = qr/\.(gif|jpg|jpeg|png)/i; + # Single-character alpha-based regexes $regex{singleUpperAlphaRegex} = qr/[$regex{upperAlpha}]/; $regex{singleLowerAlphaRegex} = qr/[$regex{lowerAlpha}]/;