Tra pochi giorni unirò questa PR nel core, che modifica il modo in cui vengono compilati gli stylesheet dei plugin. La modifica riguarda le variabili di colore SCSS utilizzate negli stylesheet dei plugin. In sintesi: devono essere sostituite con proprietà CSS personalizzate. La maggior parte dei plugin è già aggiornata e, in molti casi, si tratta di una modifica semplice: la variabile SCSS deve essere sostituita con una proprietà CSS personalizzata:
- background-color: $primary-low;
+ background-color: var(--primary-low);
La guida disponibile all’indirizzo Update themes and plugins to support automatic dark mode contiene ulteriori esempi e mostra anche come gestire trasformazioni di colore più complesse. (Questa guida dovrebbe essere tutto ciò di cui gli autori di plugin hanno bisogno per garantire che i loro stili funzionino correttamente.)
Se ti stai chiedendo perché stiamo apportando questa modifica, continua a leggere.
In precedenza, gli stylesheet del core e dei plugin venivano compilati per tema per includere la palette di colori del tema ovunque venissero utilizzate variabili di colore SCSS. Ciò significava che un sito con molti temi (o un ambiente multisito) richiedeva molto tempo per la precompilazione, poiché doveva moltiplicare il numero di stylesheet del core e dei plugin per il numero di temi attivi per coprire tutte le combinazioni necessarie.
Da agosto 2020, per supportare il passaggio automatico alla modalità scura, abbiamo aggiunto un stylesheet separato per le definizioni dei colori, che memorizza le variabili di colore come proprietà CSS personalizzate. Questa modifica ci ha permesso di cambiare le palette di colori al volo, ma ha anche astratto i colori dalla maggior parte degli stylesheet. Grazie alla magia delle proprietà CSS personalizzate, ora possiamo fare riferimento ai colori ovunque (core, plugin, temi) senza dover caricare ogni tema al momento della compilazione dello stylesheet.
Negli ultimi mesi abbiamo convertito tutti i plugin per utilizzare le proprietà CSS personalizzate. La stragrande maggioranza dei plugin di Discourse è ora aggiornata, ma probabilmente esiste ancora qualche plugin che utilizza ancora variabili SCSS per i colori e che dovrà essere aggiornato.
