feabila
(Felipe)
5 Noviembre, 2020 18:38
1
¡Hola! He estado buscando formas de personalizar las etiquetas meta para la compartición en redes sociales.
Aquí hay un ejemplo para dar contexto:
Título: ‘Macro’
Primer mensaje: ‘Este tema…’
Lo que buscaba era una forma de personalizar las etiquetas meta og:title y twitter:title . De esta manera, me gustaría personalizar textos como el título a ‘Felipe en Discourse - Macro’ .
Pensamientos: Creo que será algún tipo de solución alternativa mediante un plugin, para personalizar app/views como _head.html.erb.
¿Podrías ayudarme?
Saludos,
Falco
(Falco)
5 Noviembre, 2020 18:48
2
Estas etiquetas se definen aquí en el núcleo 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 puede modificar su comportamiento.
6 Me gusta
feabila
(Felipe)
5 Noviembre, 2020 19:32
3
¡Yooooo! ¡Gracias, Falco! ¡Eso es!
En el plugin, logré pasar por la evaluación de ApplicationHelper, así (por si alguien lo necesita):
after_initialize do
ApplicationHelper.class_eval do
def crawlable_meta_data(opts = nil)
...
¡Aprecio tu ayuda!
4 Me gusta