Το Symfony συγχωνεύει αυτόματα τα βασικά αρχεία packages/*.yaml με αυτά στον αντίστοιχο υποφάκελο περιβάλλοντος (dev/, prod/, ή test/), έτσι τα αρχεία ειδικά για το περιβάλλον χρειάζεται να αντικαθιστούν μόνο τις τιμές που διαφέρουν.
Ρύθμιση κατασκευής
Αρχείο
Σκοπός
webpack.config.js
Ρύθμιση Webpack Encore (εισαγωγές, loaders, plugins)
Όλα τα αρχεία βρίσκονται στη ρίζα του έργου. Τα plugins PostCSS (Tailwind + Autoprefixer) ρυθμίζονται εν σειρά μέσα στο webpack.config.js μέσω enablePostCssLoader() — δεν υπάρχει αυτόνομο postcss.config.js. Το webpack.config.js διαβάζει το tailwind.config.js έμμεσα μέσω PostCSS, έτσι οι αλλαγές στις ενότητες content ή theme του Tailwind ισχύουν στην επόμενη εκτέλεση yarn encore dev / yarn encore production.
Το Tailwind ενσωματώνεται μέσω PostCSS. Το assets/css/_tailwind.scss παράγει τα στρώματα base, component και utility· το assets/css/app.scss το εισάγει πρώτο ώστε οι λειτουργίες Tailwind να είναι διαθέσιμες σε όλα τα άλλα partials. Η διαμόρφωση Tailwind — μονοπάτια περιεχομένου για καθαρισμό, επεκτάσεις θέματος και plugins — βρίσκεται στο tailwind.config.js στη ρίζα του έργου (/var/www/chamilo/tailwind.config.js).
Οι προσαρμοσμένες κλάσεις utility και οι κλάσεις component που ορίζονται με @layer (ορατές στο app.scss) ακολουθούν τη σύμβαση στρωματοποίησης του Tailwind ώστε οι κλάσεις που ορίζει ο χρήστης να σέβονται τους ίδιους κανόνες ειδικότητας με τις γενόμενες λειτουργίες.
Χρωματικά Θέματα
Το Chamilo υποστηρίζει σύστημα χρωματικής θεματοποίησης που μπορεί να διαμορφωθεί απευθείας από τη διεπαφή διαχειριστή (Admin > Color Themes). Κάθε αποθηκευμένο θέμα γράφει τα αρχεία του σε ειδικό κατάλογο κάτω από το var/themes/:
Το colors.css ορίζει CSS custom properties ως τριάδες καναλιών RGB χωρισμένες με κενά αντί για τιμές rgb(), κάτι που επιτρέπει στο Tailwind να συνθέτει παραλλαγές αδιαφανούς (π.χ. bg-primary/50) χωρίς επιπλέον διαμόρφωση:
Το στρώμα θέματος βρίσκεται πάνω από το μεταγλωττισμένο πακέτο Tailwind/SCSS: ο περιηγητής φορτώνει το colors.css μετά το κύριο stylesheet, οπότε οι αλλαγές θέματος εφαρμόζονται άμεσα χωρίς βήμα κατασκευής.