diff options
author | Joey Hess <joey@kodama.kitenet.net> | 2008-04-03 16:37:05 -0400 |
---|---|---|
committer | Joey Hess <joey@kodama.kitenet.net> | 2008-04-03 16:37:05 -0400 |
commit | 04e74678070932cdcc42e8e2f9f9c70ce4dcc762 (patch) | |
tree | a351348a2d28dfc502ff9dbd6e580834cffc253e | |
parent | c207086282b2f058f647b7fa810f3da54fe5fe4b (diff) |
need to handle urls to images the same
Also, simplified finding the url to the top of the site.
-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 |