feabila
(Felipe)
Novembro 5, 2020, 6:38pm
1
Olá! Tenho procurado maneiras de personalizar as Meta Tags para compartilhamento em redes sociais.
Aqui está um exemplo para contextualizar:
Título: ‘Macro’
Primeira postagem: ‘Este tópico …’
O que eu estava procurando era uma maneira de personalizar as meta tags og:title e twitter:title . Dessa forma, gostaria de ajustar textos como o título para ‘Felipe no Discourse - Macro’ .
Minhas ideias: Acredito que será necessário algum truque com um plugin para personalizar as views do app, como o _head.html.erb.
Você poderia me ajudar?
Atenciosamente,
Falco
(Falco)
Novembro 5, 2020, 6:48pm
2
Essas tags são definidas aqui no núcleo do Discourse:
def rtl?
["ar", "ur", "fa_IR", "he"].include? I18n.locale.to_s
end
def html_lang
SiteSetting.default_locale.sub("_", "-")
end
# Creates open graph and twitter card meta data
def crawlable_meta_data(opts = nil)
opts ||= {}
opts[:url] ||= "#{Discourse.base_url_no_prefix}#{request.fullpath}"
if opts[:image].blank?
twitter_summary_large_image_url = SiteSetting.site_twitter_summary_large_image_url
if twitter_summary_large_image_url.present?
opts[:twitter_summary_large_image] = twitter_summary_large_image_url
end
Um plugin pode alterar o comportamento delas.
feabila
(Felipe)
Novembro 5, 2020, 7:32pm
3
E aí! Obrigado, Falco! É isso mesmo!
No plugin, consegui contornar a avaliação do ApplicationHelper, assim (caso alguém precise):
after_initialize do
ApplicationHelper.class_eval do
def crawlable_meta_data(opts = nil)
...
Agradeço muito sua ajuda!