FIX: Process image onebox correctly when image is wrapped in a link

The instagram onebox sometimes surrounds the image with an `<a>` tag, which was breaking the aspect ratio logic, and therefore causing posts to change height on load.
This commit is contained in:
David Taylor
2019-05-10 10:02:15 +01:00
parent 4096d559b5
commit 2c6b595eed
2 changed files with 28 additions and 2 deletions

View File

@ -539,6 +539,7 @@ class CookedPostProcessor
next if img["class"]&.include?('onebox-avatar')
parent = parent&.parent if parent&.name == "a"
parent_class = parent && parent["class"]
width = img["width"].to_i
height = img["height"].to_i
@ -572,8 +573,8 @@ class CookedPostProcessor
elsif (parent_class&.include?("instagram-images") || parent_class&.include?("tweet-images") || parent_class&.include?("scale-images")) && width > 0 && height > 0
img.remove_attribute("width")
img.remove_attribute("height")
img.parent["class"] = "aspect-image-full-size"
img.parent["style"] = "--aspect-ratio:#{width}/#{height};"
parent["class"] = "aspect-image-full-size"
parent["style"] = "--aspect-ratio:#{width}/#{height};"
end
end