diff --git a/lib/diaspora/camo.rb b/lib/diaspora/camo.rb
index eac55e3a8..389aa48a5 100644
--- a/lib/diaspora/camo.rb
+++ b/lib/diaspora/camo.rb
@@ -3,9 +3,12 @@ module Diaspora
module Camo
def self.from_markdown(markdown_text)
return unless markdown_text
- markdown_text.gsub(/(!\[(.*?)\]\s?\([ \t]*()(\S+?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/m) do |link|
+ markdown_text.gsub!(/(!\[(.*?)\]\s?\([ \t]*()(\S+?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/m) do |link|
link.gsub($4, self.image_url($4))
end
+ markdown_text.gsub(/src=(['"])(.+?)\1/m) do |link|
+ link.gsub($2, self.image_url($2))
+ end
end
def self.image_url(url)
diff --git a/spec/lib/diaspora/camo_spec.rb b/spec/lib/diaspora/camo_spec.rb
index e5561d40a..3e970340e 100644
--- a/spec/lib/diaspora/camo_spec.rb
+++ b/spec/lib/diaspora/camo_spec.rb
@@ -46,5 +46,10 @@ describe Diaspora::Camo do
it 'should rewrite markdown images with title texts' do
expect(Diaspora::Camo.from_markdown(" \"title\"")).to include(@camo_image_url)
end
+
+ it 'should rewrite URLs inside
tags' do
+ image_tag = '
'
+ expect(Diaspora::Camo.from_markdown(image_tag)).to include(@camo_image_url)
+ end
end
end