feabila
(Felipe)
5 Novembre 2020, 6:38pm
1
Ciao! Ho cercato modi per personalizzare i meta tag per la condivisione sui social.
Ecco un esempio, per dare contesto:
Titolo: ‘Macro’
Primo post: ‘Questo argomento …’
Cosa stavo cercando era un modo per gestire i meta tag og:title e twitter:title . In questo modo vorrei personalizzare testi come il titolo in ‘Felipe su Discourse - Macro’ .
Considerazioni: Penso che sarà necessario qualche soluzione alternativa tramite un plugin, per personalizzare app/views come _head.html.erb
Potresti aiutarmi?
Cordiali saluti,
Falco
(Falco)
5 Novembre 2020, 6:48pm
2
Questi tag sono impostati qui nel core di 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 può modificarne il comportamento.
feabila
(Felipe)
5 Novembre 2020, 7:32pm
3
Ehi! Grazie mille, Falco! È proprio questo!
Nel plugin, ho modificato la valutazione di ApplicationHelper, come segue (nel caso qualcuno ne abbia bisogno):
after_initialize do
ApplicationHelper.class_eval do
def crawlable_meta_data(opts = nil)
...
Grazie ancora per il tuo aiuto!