FIX: Use basic meta description if other description tags are missing (#15356)

When attempting to Onebox a page if there is no `meta property="og:description"` tag but there is a  `meta name="description"` tag, Onebox should try to use that value.
This commit is contained in:
jbrw
2021-12-17 19:36:54 -05:00
committed by GitHub
parent b91ce192bf
commit 6e925fee6f
3 changed files with 51 additions and 1 deletions

View File

@ -58,7 +58,12 @@ module Onebox
end
favicon = get_favicon
@raw["favicon".to_sym] = favicon unless Onebox::Helpers::blank?(favicon)
@raw[:favicon] = favicon unless Onebox::Helpers::blank?(favicon)
unless @raw[:description]
description = get_description
@raw[:description] = description unless Onebox::Helpers::blank?(description)
end
@raw
end
@ -106,6 +111,15 @@ module Onebox
Onebox::Helpers::get_absolute_image_url(favicon, url)
end
def get_description
return nil unless html_doc
description = html_doc.at("meta[name='description']").to_h['content']
description ||= html_doc.at("meta[name='Description']").to_h['content']
description
end
def get_json_response
oembed_url = get_oembed_url