feabila
(Felipe)
Novembre 5, 2020, 6:38
1
Bonjour ! Je cherche des moyens de personnaliser les balises méta pour le partage sur les réseaux sociaux.
Voici un exemple pour contextualiser :
Titre : ‘Macro’
Premier message : ‘Ce sujet …’
Ce que je recherchais, c’était un moyen de modifier les balises méta og:title et twitter:title . Ainsi, j’aimerais personnaliser des textes comme le titre pour qu’ils affichent ‘Felipe sur Discourse - Macro’ .
Idées : Je pense qu’il faudra trouver une solution de contournement via un plugin, pour personnaliser les vues de l’application comme _head.html.erb.
Pourriez-vous m’aider ?
Cordialement,
Falco
(Falco)
Novembre 5, 2020, 6:48
2
Ces balises sont définies ici dans le cœur de 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
Un plugin peut modifier son comportement.
feabila
(Felipe)
Novembre 5, 2020, 7:32
3
Yooooo ! Merci Falco ! C’est ça !
Dans le plugin, j’ai pu évaluer ApplicationHelper, comme ceci (au cas où quelqu’un en aurait besoin) :
after_initialize do
ApplicationHelper.class_eval do
def crawlable_meta_data(opts = nil)
...
Merci beaucoup pour ton aide !