mirror of
https://github.com/discourse/discourse.git
synced 2024-11-27 04:16:19 +08:00
FEATURE: replace emoji with unicode in title and description meta tags
This commit is contained in:
parent
0fc2b64f65
commit
0551b3f5ee
|
@ -188,8 +188,9 @@ module ApplicationHelper
|
||||||
[:url, :title, :description].each do |property|
|
[:url, :title, :description].each do |property|
|
||||||
if opts[property].present?
|
if opts[property].present?
|
||||||
escape = (property != :image)
|
escape = (property != :image)
|
||||||
result << tag(:meta, { property: "og:#{property}", content: opts[property] }, nil, escape)
|
content = (property == :url ? opts[property] : gsub_emoji_to_unicode(opts[property]))
|
||||||
result << tag(:meta, { name: "twitter:#{property}", content: opts[property] }, nil, escape)
|
result << tag(:meta, { property: "og:#{property}", content: content }, nil, escape)
|
||||||
|
result << tag(:meta, { name: "twitter:#{property}", content: content }, nil, escape)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -217,6 +218,12 @@ module ApplicationHelper
|
||||||
content_tag(:script, MultiJson.dump(json).html_safe, type: 'application/ld+json'.freeze)
|
content_tag(:script, MultiJson.dump(json).html_safe, type: 'application/ld+json'.freeze)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def gsub_emoji_to_unicode(str)
|
||||||
|
if str
|
||||||
|
str.gsub(/:([\w\-+]*):/) { |name| Emoji.lookup_unicode($1) || name }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def application_logo_url
|
def application_logo_url
|
||||||
@application_logo_url ||= (mobile_view? && SiteSetting.mobile_logo_url) || SiteSetting.logo_url
|
@application_logo_url ||= (mobile_view? && SiteSetting.mobile_logo_url) || SiteSetting.logo_url
|
||||||
end
|
end
|
||||||
|
|
|
@ -106,4 +106,10 @@ describe ApplicationHelper do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'gsub_emoji_to_unicode' do
|
||||||
|
it "converts all emoji to unicode" do
|
||||||
|
expect(helper.gsub_emoji_to_unicode('Boat Talk: my :sailboat: boat: why is it so slow? :snail:')).to eq("Boat Talk: my ⛵ boat: why is it so slow? 🐌")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user