Enlace a foro en Twitter sin imagen (eliminar metaetiquetas)

¿Sería esto posible? He estado añadiendo un enlace a la página principal del foro en los tweets, pero preferiría hacerlo sin la imagen. Supongo que se usa la imagen opengraph (actualmente no he subido ninguna).

¿Existe alguna forma de eliminar la imagen por completo? Ninguno de mis temas tendrá imágenes tampoco, así que estaría encantado de hacerlo a nivel de todo el sitio.

Como segunda opción, ¿qué pasaría si subo un logotipo muy pequeño como imagen opengraph? ¿Twitter simplemente lo redimensionaría para que sea igual que ahora?

Gracias.

He echado un vistazo y solo necesito eliminar:

<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="filename.png">

¿Sería posible de alguna manera?

Sí, es posible :slight_smile:

Puedes escribir un plugin para anular el método crawlable_meta_data en este módulo:

Todo es posible con el software… muy poco en el software de computadoras es “imposible” :slight_smile:

También es muy probable que puedas simplemente coincidir y eliminar con Pups, pero eso, en su mayoría, es desaprobado por el equipo de meta.

Gracias. Investigaré cómo crear un plugin de Discourse y cómo funciona Ruby.

En general, ¿tendré que reemplazar todo el método y estar atento a los cambios relevantes en cada actualización de Discourse?

Crear un plugin parece algo para lo que no tendré tiempo a corto plazo. ¿Qué pasaría si encontrara el archivo relevante en mi instalación de Discourse y simplemente comentara estas líneas cada vez que actualizo?

    if opts[:twitter_summary_large_image].present?
      result << tag(:meta, name: 'twitter:card', content: "summary_large_image")
      result << tag(:meta, name: "twitter:image", content: opts[:twitter_summary_large_image])
    elsif opts[:image].present?
      result << tag(:meta, name: 'twitter:card', content: "summary")
      result << tag(:meta, name: "twitter:image", content: opts[:image])
    else
      result << tag(:meta, name: 'twitter:card', content: "summary")
    end

Al actualizar, estos archivos se sobrescriben cuando el repositorio de Discourse se extrae en tu espacio de trabajo (carpeta); por lo tanto, no puedes simplemente “comentar” líneas en un archivo, ya que esos archivos serán sobrescritos.

Aunque existen innumerables formas de hacer las cosas en el mundo de las posibilidades tecnológicas, la forma generalmente aceptada de modificar el núcleo es mediante un plugin, como se mencionó anteriormente.

En términos generales, en este caso sobrescribirías el método en ese módulo con tu propio código.

Lo mejor es crear un entorno de desarrollo, ya que no quieres romper tu aplicación de producción.

Este es un plugin relativamente sencillo de escribir, pero como aún no tienes experiencia con este estilo de desarrollo, podrías considerar publicar en Marketplace y pedir ayuda a uno de los desarrolladores bien establecidos que se ganan la vida creando plugins.

De lo contrario, puedes configurar un entorno de desarrollo y divertirte aprendiendo a desarrollar plugins para Discourse.