Sustituir solo el icono de enlace para compartir

Encuentro confusa esta parte de la interfaz de Discourse. En el editor, el icono de enlace se utiliza para insertar un hipervínculo (bueno, esto tiene sentido, es lo que debería ser y es igual al 99% de las demás interfaces).

Pero al visualizar una publicación, el mismo icono se utiliza para el enlace/compartir en redes sociales.

Cuando realmente creo que tiene más sentido aquí un icono de compartir más familiar share-icon

Durante un tiempo utilicé el enfoque de API para cambiar el icono.

  <script type="text/discourse-plugin" version="0.8">
    api.replaceIcon('link', 'external-link-tab');
 </script>

Pero luego esto cambia el icono en el editor, por lo que no tiene sentido usar un icono de compartir para representar la inserción de un hipervínculo. Sería útil si hubiera llamadas de API separadas para referenciar los dos contextos de este botón, para que pudiera sustituirlo por un icono de enlace de compartir pero no por uno de insertar enlace.

??? (mi conocimiento sobre cómo funciona Discourse internamente es mayormente superficial)

4 Me gusta

Esto requeriría un cambio en Discourse. Tendríamos que duplicar este icono internamente, manteniendo ambas versiones usando el mismo icono de forma predeterminada, para que los usuarios downstream puedan dirigirse a cada uno individualmente para cambiarlo.

Una vez más, no estoy buscando un icono. Puedo usar cualquier icono que desee en mi sitio.

Lo que quiero es un método en Discourse, como se especifica en cómo sobrescribir un icono mediante la API, para cambiar el icono del botón para compartir una publicación sin modificar el que se usa en el editor para el botón de insertar hipervínculo.

1 me gusta

Estamos evaluando la viabilidad de hacer exactamente eso; estamos de acuerdo en que sería útil.

Sí, tan pronto como el commit de abajo llegue a tests-passed, podrás hacer lo que buscas:

(Puede tardar una hora o más en llegar a tests-passed.)

Así que agregué nuevos IDs para los íconos de compartir en los botones de publicación y tema, para que ahora puedas aislarlos en la llamada replaceIcon de la API, así:

api.replaceIcon('d-post-share', 'share-square');
api.replaceIcon('d-topic-share', 'share-square');

6 Me gusta

¡Gracias, gracias! Estaba tratando de averiguar por qué los nombres de las clases para el ícono del botón de compartir aquí en Meta eran diferentes de nuestra versión actualizada de Discourse.

3 Me gusta

Vi el cambio llegar y estar disponible en las actualizaciones, y lo ejecuté en nuestro sitio. Como nota para cualquier otra persona, usar el icono requiere que se agregue mediante admin -> configuraciones -> subconjunto de iconos svg usando fa-share-square.

Funcionó perfectamente. Nuestros iconos de compartir pasaron de:

a

Gracias de nuevo.

5 Me gusta

¡Ya está hecho! Ver el mensaje anterior

Pude actualizar mi Discourse hace horas y la nueva función ya está disponible.

3 Me gusta

Eso es interesante. Acabo de intentar actualizar mi propia instancia de Discourse y todavía no lo veo.

Disculpa mientras hago algunas comprobaciones de solución de problemas… :slight_smile:

Me encanta mucho este cambio. ¿Qué debo hacer para cambiar el icono?

<script type="text/discourse-plugin" version="0.8">
        api.replaceIcon('d-post-share', 'share-square');
        api.replaceIcon('d-topic-share', 'share-square');
    </script>

Simplemente agrega esto a tu header al editar un tema.

3 Me gusta

He descubierto que hay un paso más: debes hacer que este icono de Font Awesome esté disponible como un icono SVG. De lo contrario, el botón quedará en blanco después de realizar los ajustes del tema del encabezado.

Mis configuraciones se ven así:

1 me gusta

La actualización no cambia nada excepto el nombre de la clase para el ícono del botón de compartir, por lo que no verás una diferencia de inmediato. De forma predeterminada, se mantiene el mismo ícono de enlace que antes (link).

Podrás saber que la actualización se ha realizado si inspeccionas el botón en tu navegador y este incluye la clase d-icon-d-post-share (antes de la actualización, la clase era d-icon-link).

Debes editar el encabezado de tu tema como se describe aquí: Substitute Link Icon Only For Sharing - #22 by ondrej

1 me gusta

Este tema se cerró automáticamente después de 2 días. Ya no se permiten nuevas respuestas.