Cambiar el estilo de los bloques de código en línea para que destaquen más

Un cliente de Teams solicita bloques de código en línea que destaquen más. Actualmente, ya sea en modo oscuro o claro, el bloque de código no se diferencia mucho en color de otro texto. ¿Podríamos cambiar el color del texto por defecto en Discourse para que se utilice un color diferente que destaque más, por ejemplo, rojo?

Sé que para la mayoría de los clientes esto no es un gran problema porque pueden personalizar el tema para cambiar el CSS en su sitio, pero para Discourse for Teams este nivel de personalización no es posible. Mientras tanto, para los equipos que discuten código, es muy importante que destaque y sea muy diferente del resto del texto.

2 Me gusta

Gracias Tobias. Para que conste, soy el cliente y quiero enfatizar que estoy hablando exclusivamente de bloques en línea. No tengo ninguna preocupación con las líneas múltiples.

2 Me gusta

Sí, los bloques multilínea son geniales.

Hay otras formas de resaltar texto, pero obviamente las comillas invertidas son las más rápidas.

2 Me gusta

Para que conste, si eres un novato en HTML como yo (tuve que buscarlo):

  1. <kbd>¡Elegante!</kbd> está hecho con <code><kbd>¡Elegante!</kbd></code>
  2. <ins>¡Ohhhh!</ins> está hecho con <code><ins>¡Ohhhh!</ins></code>

Es útil saberlo, gracias @tobiaseigen.
Todavía creo que tendría sentido ajustar el CSS para esto también. Tenemos algunas publicaciones técnicas que usan mucho las comillas invertidas, y usar las 2 alternativas definitivamente no es tan fácil de usar.

3 Me gusta

Un consejo para la próxima vez: solo cita la publicación donde quieres saber cómo hacer eso, entonces podrás verlo.

3 Me gusta

Lo siento por eso. Normalmente revelaría el truco, pero estaba en mi teléfono y tenía un poco de prisa.

Otro truco útil para ver cómo se creó una publicación es usar la URL sin procesar, por ejemplo: https://meta.discourse.org/raw/57255/7

4 Me gusta

Oh, hay una tercera forma de resaltar que también es agradable y que sigo olvidando. Se ve así y se hace usando esta marca HTML <mark>texto</mark>. Hay un componente de tema contribuido por la comunidad (no disponible en Teams) que te permite usar ==texto== en su lugar, lo cual es bastante útil. No lo encuentro de inmediato por alguna razón.

Pero de todos modos, hablaré con mis colegas sobre la actualización del estilo predeterminado de los bloques de código para que sean más obvios. Quizás incluso hacer que el color de fondo del bloque de código sea más distintivo será suficiente.

3 Me gusta

Tengo una PR para cambiar los bloques de código en línea en el núcleo aquí: PR: Inline code block styling edits by jordanvidrine · Pull Request #16394 · discourse/discourse · GitHub

6 Me gusta

Lo siento… revertiré esto por ahora.

3 Me gusta

El código en línea siempre ha parecido código normal, con una fuente monoespaciada (monospace). Cualquier cosa realmente brillante y discordante dependería en gran medida de la comunidad y, definitivamente, no sería coherente con la forma en que veo código utilizado en la mayoría de los lugares de la web.

La cuestión del resaltado de sintaxis es diferente; necesitarías varias líneas de código para determinar con qué sintaxis estás tratando. Quizás esa fue la raíz del problema: si quieres resaltado de sintaxis, necesitas un bloque de código, por ejemplo.

var x, y, z;  // Declara 3 variables
x = 5;    // Asigna el valor 5 a x
y = 6;    // Asigna el valor 6 a y
z = x + y;  // Asigna la suma de x e y a z

document.getElementById("demo").innerHTML =
"El valor de z es " + z + ".";

Un solo elemento código está divorciado de todo el contexto necesario para hacer el resaltado de sintaxis. Podrías hacer una sola línea de JavaScript, sin embargo:

"el valor de z es " + z + ".";

Que se ve así:

``` javascript
"el valor de z es " + z + ".";
```

Así que supongo que se trata de bloques de código frente a una palabra de código.

3 Me gusta

Supongo que @jordan.vidrine tiene órdenes de marcha aquí. Simplemente proceder a revertir completamente el cambio. Quizás crear un componente temático para “estilos de código alternativos”, puede hacerlo completamente al estilo Slack con código en línea y hacerlo rojo, siendo un componente y todo.

3 Me gusta

Esta iteración reciente fue un componente temático activo en Meta y no un cambio real, así que he procedido a deshabilitarlo.

4 Me gusta

Está bien no hacer este cambio. :+1:

Creo que lo que se pedía aquí era una forma rápida y sencilla de resaltar texto en las discusiones. Mucha gente (incluyéndome a mí) ha optado por usar comillas invertidas para resaltar texto porque es súper fácil… ni siquiera tienes que presionar Shift, y es descubrible en el menú. Pero no se distingue mucho del resto del texto en el párrafo.

Negrita e cursiva también están en el menú y tampoco destacan mucho. Otras formas de resaltar texto en línea requieren más pulsaciones de teclas. Además, no están prominentemente documentadas, por lo que también requieren conocimiento interno.

Hasta donde sé, estos son los mejores:

Botón <kbd>Botón</kbd>
Subrayado verde <ins>Subrayado verde</ins>
Tachado rojo <del>Tachado rojo</del>
Resaltar <mark>Resaltar</mark>
Tachado <strike>Tachado</strike>

Para aquellos que pueden instalar complementos, existe el complemento oficial Discourse BBCode color. Y para aquellos que no pueden instalar complementos, @merefield creó el componente temático Discourse Coloured Text.

También me gustó el componente temático que convertía ==resaltar== en resaltar, pero he perdido la pista de él aquí en meta.

3 Me gusta

Esto necesitaría hacerse en un plugin en este momento, ya que querrías integrarlo en html y no solo realizar una transformación del lado del cliente.

Mirando https://markdown-it.github.io/ parece que ahora está habilitado por defecto en markdown.it en modo no estricto @Vitaly?

3 Me gusta

Interesante. Gracias por explicarlo.

Encontré el plugin que hace esto al azar hoy mientras navegaba por la categoría Plugin… es curioso cómo en algunos casos simplemente no puedes pensar en la palabra clave correcta para encontrar un plugin. :rofl:

2 Me gusta

Ya veo… la implementación raíz está aquí:

1 me gusta

Independientemente de la solución, creo que hay un problema claro de UX con el diseño actual del bloque de código. El contraste es casi inexistente.

Para citar a @codinghorror, diría por el contrario que “la mayoría de los lugares en la web” no presentan este problema.

Ver GitHub:

o Slack:
image

o incluso Notion
image

Argumentaría que tanto el subrayado verde como el resaltado tienen el problema exactamente opuesto con un contraste innecesariamente muy alto, pero eso es más una cuestión de gusto que un problema de UX.

¿Qué tal implementar el enfoque de GitHub con un fondo gris más oscuro y algo de relleno?

2 Me gusta

Donde esto se complica es abogar por un cambio enorme en cada instancia de Discourse, muchas de las cuales están acostumbradas al estilo suave actual. Este es un movimiento de queso importante.

La solución de simplemente agregar CSS ya existe para la mayoría de las instalaciones.

1 me gusta