Modifica come sono separati gli elenchi di tag

Le liste di tag sugli argomenti in Discourse sono separate da virgole per impostazione predefinita. Questo non cambia, ma è cambiata l’implementazione e come puoi modificarla:

In precedenza utilizzavamo uno pseudo elemento CSS per aggiungere le virgole, il che non è l’ideale perché il contenuto non è tecnicamente disponibile come parte del documento — gli screen reader non possono accedervi, non sono selezionabili, i web crawler non possono vederli…

Questa modifica, unita oggi, sposta i separatori di tag in HTML corretto: FEATURE: customizable tag separator with value transformer in proper HTML by awesomerobot · Pull Request #31674 · discourse/discourse · GitHub

Per la maggior parte dei siti questo non cambierà nulla di evidente, ma se in precedenza hai rimosso o modificato il separatore di tag dovrai utilizzare un trasformatore di valore invece del CSS.

Questo è un processo abbastanza semplice con JS, ad esempio se vuoi rimuovere completamente la virgola:

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer((api) => {
  api.registerValueTransformer("tag-separator", () => "");
});

o se vuoi usare un separatore a pipe

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer((api) => {
  api.registerValueTransformer("tag-separator", () => "|");
});

abbinato a un po’ di CSS:

.discourse-tags__tag-separator {
  margin-inline: 0.25em;
}

Fateci sapere se riscontrate problemi con questa modifica!

Stiamo riscontrando virgole duplicate:

Probabilmente una proviene dal nuovo codice HTML e l’altra dal CSS del tema personalizzato (codice vecchio).

La prima (HTML) è effettivamente selezionabile, mentre la seconda (CSS) non lo è.

A seguito di questa modifica, tutti i temi personalizzati dovrebbero essere corretti, apparentemente?

Da quello che vedo sul tuo forum, è correlato a Multilingual Plugin 🌐 .

Utilizza ancora il vecchio modo con pseudo-elementi CSS.
Questo CSS potrebbe essere rimosso.

Wow! Grazie per la tua diagnosi rapida!

Ciao Arkshine,

Volevo provare e installare il plugin Multilingual e quando l’ho fatto sono comparsi doppie virgole. Quando cerco di disattivare il plugin, la lingua diventa inglese (e quindi le doppie virgole scompaiono). Quando lo riattivo, torna a essere la mia lingua.

Pensi che dovrei rimuovere il plugin se per ora non ne ho davvero bisogno, e se sì perché ora la lingua è in inglese? Il ‘locale predefinito’ è vuoto quando disattivo il plugin Multilingual.

Se il plugin non influenza in alcun modo il sito, forse posso tenerlo e cercare di rimuovere le doppie virgole.

Cordiali saluti
Olle

Modifica: l’ho risolto rimuovendo il plugin

Sembra che il separatore sia nascosto per impostazione predefinita quando lo stile del tag è box o bullet:

.discourse-tags .box + .discourse-tags__tag-separator, 
.discourse-tags .bullet + .discourse-tags__tag-separator {
  display: none;

Tuttavia, questo viene sovrascritto nell’elenco mobile da una dichiarazione più specifica. Quindi sul cellulare il separatore viene visualizzato: