Cambia lo stile dei blocchi di codice inline in modo che risaltino di più

Un cliente di Teams richiede blocchi di codice in linea che risaltino di più. Al momento, sia in modalità scura che chiara, il blocco di codice non è molto diverso per colore rispetto ad altro testo. Potremmo cambiare il colore del testo per impostazione predefinita in Discourse in modo che venga utilizzato un colore diverso che risalti di più, ad esempio il rosso?

So che per la maggior parte dei clienti questo non è un grosso problema perché possono personalizzare il tema per cambiare il CSS sul loro sito, ma per Discourse for Teams questo livello di personalizzazione non è possibile. Nel frattempo, per i team che discutono di codice, è molto importante che risalti come molto diverso dagli altri testi.

2 Mi Piace

Grazie Tobias. Ai fini della cronaca, sono il cliente e voglio sottolineare che sto parlando esclusivamente di blocchi inline. Non ho alcuna preoccupazione per il multiline.

2 Mi Piace

Sì, i blocchi multiriga sono molto interessanti.

Ci sono altri modi per
evidenziare il testo, ma ovviamente i backtick sono i più rapidi.

2 Mi Piace

Per la cronaca, se sei un principiante dell’HTML come me (ho dovuto cercarlo):

  1. <kbd>Fancy!</kbd> è fatto con <code><kbd>Fancy!</kbd></code>
  2. <ins>Ohhhh!</ins> è fatto con <code><ins>Ohhhh!</ins></code>

È utile saperlo, grazie @tobiaseigen.
Penso ancora che avrebbe senso modificare anche il CSS per questo. Abbiamo alcuni post tecnici che usano molto i backtick e l’uso delle 2 alternative non è decisamente così user-friendly.

3 Mi Piace

Un consiglio per la prossima volta: cita semplicemente il post in cui vuoi sapere come fare, poi potrai vederlo.

3 Mi Piace

Mi scusi per questo! Di solito rivelerei il trucco, ma ero al telefono e di fretta.

Un altro utile trucco per vedere come è stato creato un post è usare l’URL raw, ad esempio https://meta.discourse.org/raw/57255/7

4 Mi Piace

Oh, c’è anche un terzo modo per evidenziare che è carino e che continuo a dimenticare. Sembra così e si ottiene con questo markup HTML <mark>testo</mark>. Esiste un componente tema contribuito dalla community (non disponibile in Teams) che consente invece di utilizzare ==testo== che è piuttosto utile. Non lo trovo subito per qualche motivo.

Comunque, discuterò con i miei colleghi sull’aggiornamento dello stile predefinito dei blocchi di codice in modo che siano più evidenti. Forse anche solo rendere più distintivo il colore di sfondo del blocco di codice sarà sufficiente.

3 Mi Piace

Ho ricevuto una PR per modificare gli inline codeblock nel core qui: PR: Inline code block styling edits by jordanvidrine · Pull Request #16394 · discourse/discourse · GitHub

6 Mi Piace

Mi dispiace… per ora annullo questa operazione.

3 Mi Piace

Il codice inline è sempre apparso come codice normale, in un font (monospace) da codice. Qualsiasi cosa molto luminosa e stridente dipenderebbe fortemente dalla community e non sarebbe certo coerente con il modo in cui vedo code utilizzato nella maggior parte dei luoghi del web.

La questione dell’evidenziazione della sintassi è diversa; avresti bisogno di righe di codice multiple per determinare con quale sintassi hai a che fare. Forse questa era la radice del problema: se vuoi l’evidenziazione della sintassi, hai bisogno di un blocco di codice, ad esempio

var x, y, z;  // Dichiarare 3 variabili
x = 5;    // Assegnare il valore 5 a x
y = 6;    // Assegnare il valore 6 a y
z = x + y;  // Assegnare la somma di x e y a z

document.getElementById("demo").innerHTML =
"Il valore di z è " + z + ".";

Un singolo elemento code è separato da tutto il contesto necessario per eseguire l’evidenziazione della sintassi. Potresti fare una singola riga di JavaScript però:

"il valore di z è " + z + ".";

Che appare come

``` javascript
"il valore di z è " + z + ".";
```

Quindi immagino che si tratti di blocchi di codice contro una parola di codice.

3 Mi Piace

Immagino che @jordan.vidrine ci siano ordini da seguire. Per procedere con un ripristino completo della modifica. Forse creare un componente tematico per “stili di codice alternativi”, può diventare completamente Slack sul codice inline e renderlo rosso essendo un componente.

3 Mi Piace

Questa recente iterazione era un componente tematico attivo su Meta e non una modifica effettiva, quindi l’ho disattivato.

4 Mi Piace

Va bene non apportare questa modifica. :+1:

Penso che la richiesta qui fosse davvero per un modo rapido e semplice per evidenziare il testo nelle discussioni. Molte persone (incluso me) hanno iniziato a usare i backtick per evidenziare il testo perché è super facile… non devi nemmeno premere Maiusc, ed è individuabile nel menu. Ma non si distingue molto dal resto del testo nel paragrafo.

Grassetto e corsivo sono anche nel menu e anche loro non risaltano molto. Altri modi per evidenziare il testo inline richiedono più battiture. Inoltre, non sono documentati in modo prominente, quindi richiedono anche conoscenze interne.

Per quanto ne so, questi sono i migliori:

Pulsante <kbd>Pulsante</kbd>
Sottolineatura verde <ins>Sottolineatura verde</ins>
Barratura rossa <del>Barratura rossa</del>
Evidenziazione <mark>Evidenziazione</mark>
Barratura <strike>Barratura</strike>

Per coloro che possono installare plugin, esiste il plugin ufficiale Discourse BBCode color. E per coloro che non possono installare plugin, @merefield ha creato il componente tema Discourse Coloured Text.

Mi è piaciuto anche il componente tema che convertiva ==highlight== in highlight, ma ne ho perso le tracce qui su meta.

3 Mi Piace

Questo al momento dovrebbe essere fatto in un plugin, poiché vorresti incorporarlo nell’HTML e non eseguire solo una trasformazione lato client.

Guardando https://markdown-it.github.io/ sembra che ora sia abilitato per impostazione predefinita in markdown.it in modalità non strict @Vitaly?

3 Mi Piace

Interessante. Grazie per la spiegazione.

Ho trovato casualmente il plugin che fa questo oggi mentre scorrevo la categoria Plugin… è buffo come in alcuni casi non si riesca a pensare alla parola chiave giusta per trovare un plugin. :rofl:

2 Mi Piace

Capisco… l’implementazione principale si trova qui:

1 Mi Piace

Indipendentemente dalla soluzione, penso che ci sia un chiaro problema di UX con l’attuale design del blocco di codice. Il contrasto è quasi inesistente.

Per citare @codinghorror, direi al contrario che “la maggior parte dei siti web” non presenta questo problema.

Vedi GitHub:

o Slack:
image

o anche Notion
image

Sostengo che sia la sottolineatura verde verde che l’evidenziazione evidenziata abbiano esattamente il problema opposto con un contrasto eccessivamente alto e non necessario, ma questo riguarda più il gusto che un problema di UX.

Che ne dici di implementare l’approccio di GitHub con uno sfondo grigio più scuro e un po’ di padding?

2 Mi Piace

Dove la situazione si complica è sostenere un enorme cambiamento su ogni singola istanza di Discourse, molte delle quali sono abituate allo stile attuale e discreto. Questa è una mossa da maestro.

La soluzione alternativa di aggiungere semplicemente CSS esiste già per la maggior parte delle installazioni.

1 Mi Piace