diff options
-rw-r--r-- | IkiWiki/Plugin/inline.pm | 10 | ||||
-rw-r--r-- | debian/changelog | 1 |
2 files changed, 6 insertions, 5 deletions
diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index 8f7cd826e..1b12144e8 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -389,18 +389,18 @@ sub absolute_urls ($$) { #{{{ my $url=$baseurl; $url=~s/[^\/]+$//; - # what is the non path part of the url? (need it for relative url's starting with / + # what is the non path part of the url? my $top_uri = URI->new($url); - $top_uri->path_query("/"); # reset the path + $top_uri->path_query(""); # reset the path my $urltop = $top_uri->as_string; - $urltop=~s/\/*$//; $content=~s/(<a(?:\s+(?:class|id)\s*="?\w+"?)?)\s+href=\s*"(#[^"]+)"/$1 href="$baseurl$2"/mig; - # Relative URL + # relative to another wiki page $content=~s/(<a(?:\s+(?:class|id)\s*="?\w+"?)?)\s+href=\s*"(?!\w+:)([^\/][^"]*)"/$1 href="$url$2"/mig; + $content=~s/(<img(?:\s+(?:class|id|width|height)\s*="?\w+"?)*)\s+src=\s*"(?!\w+:)([^\/][^"]*)"/$1 src="$url$2"/mig; # relative to the top of the site $content=~s/(<a(?:\s+(?:class|id)\s*="?\w+"?)?)\s+href=\s*"(?!\w+:)(\/[^"]*)"/$1 href="$urltop$2"/mig; - $content=~s/(<img(?:\s+(?:class|id|width|height)\s*="?\w+"?)*)\s+src=\s*"(?!\w+:)([^"]+)"/$1 src="$url$2"/mig; + $content=~s/(<img(?:\s+(?:class|id|width|height)\s*="?\w+"?)*)\s+src=\s*"(?!\w+:)(\/[^"]*)"/$1 src="$urltop$2"/mig; return $content; } #}}} diff --git a/debian/changelog b/debian/changelog index eed7940fe..613640f60 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ ikiwiki (2.42) UNRELEASED; urgency=low * aggregate: Correct a mistake in the code that dummy up a guid for feeds lacking one. + * inline: Correct handling of urls relative to baseurl in feeds. -- Joey Hess <joeyh@debian.org> Thu, 03 Apr 2008 02:35:39 -0400 |