mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 16:21:18 +08:00
FEATURE: new twitter_summary_large_image_url setting
This commit is contained in:
@ -142,8 +142,9 @@ module ApplicationHelper
|
||||
opts ||= {}
|
||||
opts[:url] ||= "#{Discourse.base_url_no_prefix}#{request.fullpath}"
|
||||
|
||||
if opts[:image].blank? && SiteSetting.default_opengraph_image_url.present?
|
||||
opts[:image] = SiteSetting.default_opengraph_image_url
|
||||
if opts[:image].blank? && (SiteSetting.default_opengraph_image_url.present? || SiteSetting.twitter_summary_large_image_url.present?)
|
||||
opts[:twitter_summary_large_image] = SiteSetting.twitter_summary_large_image_url if SiteSetting.twitter_summary_large_image_url.present?
|
||||
opts[:image] = SiteSetting.default_opengraph_image_url.present? ? SiteSetting.default_opengraph_image_url : SiteSetting.twitter_summary_large_image_url
|
||||
elsif opts[:image].blank? && SiteSetting.apple_touch_icon_url.present?
|
||||
opts[:image] = SiteSetting.apple_touch_icon_url
|
||||
end
|
||||
@ -156,12 +157,22 @@ module ApplicationHelper
|
||||
opts[:image] = "#{Discourse.base_url}#{opts[:image]}"
|
||||
end
|
||||
|
||||
# Add opengraph tags
|
||||
# Add opengraph & twitter tags
|
||||
result = []
|
||||
result << tag(:meta, property: 'og:site_name', content: SiteSetting.title)
|
||||
result << tag(:meta, name: 'twitter:card', content: "summary")
|
||||
|
||||
[:url, :title, :description, :image].each do |property|
|
||||
if opts[:twitter_summary_large_image].present?
|
||||
result << tag(:meta, name: 'twitter:card', content: "summary_large_image")
|
||||
result << tag(:meta, name: "twitter:image", content: opts[:twitter_summary_large_image])
|
||||
elsif opts[:image].present?
|
||||
result << tag(:meta, name: 'twitter:card', content: "summary")
|
||||
result << tag(:meta, name: "twitter:image", content: opts[:image])
|
||||
else
|
||||
result << tag(:meta, name: 'twitter:card', content: "summary")
|
||||
end
|
||||
result << tag(:meta, property: "og:image", content: opts[:image]) if opts[:image].present?
|
||||
|
||||
[:url, :title, :description].each do |property|
|
||||
if opts[property].present?
|
||||
escape = (property != :image)
|
||||
result << tag(:meta, { property: "og:#{property}", content: opts[property] }, nil, escape)
|
||||
|
Reference in New Issue
Block a user