Anfangs war ich mit einem hellen und einem dunklen Farbschema zufrieden, die in meinem einzigen Theme definiert waren. Doch es gibt CSS, das ich speziell ändern möchte, wenn das dunkle Farbschema aktiv ist.
Gibt es eine Möglichkeit, ein dunkles Theme als eine Art Child-Theme einzurichten, sodass es alle Stile des übergeordneten (hellen) Themes erbt, aber über ein eigenes Farbschema verfügt und ausschließlich aus Überschreibungen des übergeordneten Themes besteht?
Kannst du teilen, welches CSS du speziell nur für das dunkle Farbschema ändern möchtest? Theoretisch kannst du dies tun, wenn es nur um Farben geht, indem du Farbdefinitionen verwendest. Wenn es mehr als das ist, benötigst du separate Themes (und du müsstest auch auf den automatischen Wechsel des dunklen Modus verzichten).
Ich habe mich auf @pmusarajs Beitrag hier bezogen und nach etwas Experimentieren folgendes getan:
In common/color_definitions.scss habe ich Variablen definiert, die die Hintergrundfarbe und die Schriftfarbe von .nav-pills repräsentieren. Mein dunkler Modus gibt keine Schriftfarbe an, und mein heller Modus gibt keine Hintergrundfarbe an, aber ich muss etwas angeben, damit dark-light-choose() funktioniert. Daher habe ich die Discourse-Kernvariablen verwendet ($primary bzw. $quaternary-low):
Ups, danke, ich habe meinen Beitrag bearbeitet, um das zu korrigieren.
Ah, okay, ich habe diesen Beitrag zu schnell überflogen und angenommen, es sei Best Practice, immer einen Fallback einzubinden. Mir ist jetzt klar, dass dieser nur für Abwärtskompatibilität gedacht ist, die ich nicht benötige. Danke für die Klärung. Ich habe den Code in meinem oben stehenden Beitrag entsprechend angepasst.