Theme mit Design-Token hinzufügen
In dieser Lernmission erfahren Sie, wie Sie einer Jutro-Anwendung mithilfe von Design-Token ein Theme hinzufügen.
Was sind Design-Token?
Design-Token werden verwendet, um Designentscheidungen zu organisieren. CSS-Formatierungsanweisungen wie Farben, Schriftarten usw. werden Variablen zugewiesen, die Sie zum Ändern aller betroffenen Seitenkomponenten verwenden können.
Weitere Informationen zu Design-Token finden Sie auf der Seite Überblick über Design-Token. Eine Liste wichtiger Design-Token finden Sie auf der Listenseite Design-Tokens.
Los geht's: Verwenden Sie Design-Token, um ein neues Theme zu erstellen
In dieser Übung erstellen Sie ein Design-Token-Theme, das die zu unterstreichende Hauptüberschrift durch eine Monospace-Schrift ändert.
-
Erstellen Sie im Ordner einen neuen Ordner
src/assets/styles/tokensmit dem NamenLearning-Font. -
Erstellen Sie im neuen
Learning-FontOrdner eine JSON-Datei mit dem Namenlearning-font-tokens.jsonmit den Token, die angewendet werden sollen, wenn dieses Theme aktiv ist. Mit dieser Datei wird das Tokenjds.font.heading.1.font-familyaufmonospaceund das Tokenjds.font.heading.1.text-decorationaufunderlinefestgelegt.
{
"jds": {
"font": {
"heading": {
"1": {
"font-family":{
"value": "monospace"
},
"text-decoration": {
"value": "underline"
}
}
}
}
}
}
- Fügen Sie der Datei
.themesConfig.jsonden neuen Token-Satz hinzu und nennen Sie ihnLearningFont:
{
"LearningFont": {
"name": "LearningFont",
"tokens": {
"input-path": "src/assets/styles/tokens/Learning-Font/*.json",
"output-file-name": "styles/Learning-Font/learning-font-tokens.css"
}
},
"endlessSky": {
"name": "endlessSky",
"variableOverrides": "styles/endlessSky/variableOverrides.css",
"styleOverrides": "styles/endlessSky/styleOverrides.css",
"baseTheme": "Consumer"
},
"DSB": {
"name": "DSB",
"variableOverrides": "styles/dsbTheme/variableOverrides.css",
"styleOverrides": "styles/dsbTheme/styleOverrides.css",
"baseTheme": "Consumer"
},
"RedFarm": {
"name": "RedFarm",
"baseTheme": "Consumer",
"variableOverrides": "styles/redFarmTheme/variableOverrides.css",
"styleOverrides": "styles/redFarmTheme/styleOverrides.css"
},
"sampleTheme": {
"name": "sampleTheme",
"baseTheme": "Enterprise",
"variableOverrides": "styles/sampleTheme/variableOverrides.css",
"styleOverrides": "styles/sampleTheme/styleOverrides.css"
}
}
- Öffnen Sie ein Terminal in dem Ordner
jutro-sandbox-appund führen Sie den Befehljutro generate:themeszum Generieren von CSS-Dateien basierend auf der in Schritt 2 definierten Token-Datei aus. Bei erfolgreichem Abruf wird die folgende Ausgabe angezeigt und unter dem angegebenen Pfad wird eine neue Datei erstellt.
> npm run jutro generate:themes
_____ __
/\___ \ /\ \__
\/__/\ \ __ __\ \ ,_\ _ __ ___
_\ \ \/\ \/\ \\ \ \/ /\`'__\/ __`\
/\ \_\ \ \ \_\ \\ \ \_\ \ \//\ \L\ \
\ \____/\ \____/ \ \__\\ \_\\ \____/
\/___/ \/___/ \/__/ \/_/ \/___/
[dotenv@17.2.3] injecting env (8) from .env -- tip: ⚙️ write to custom object with { processEnv: myObject }
css
✔︎ src/assets/styles/Learning-Font/learning-font-tokens.css
Weitere Einzelheiten zum Befehl generate:themes finden Sie in der CLI-Dokumentation
- Aktualisieren Sie in der Datei
startApp.tsin Ihrem Projektstamm das ArgumentthemeConfig, umLearningFontzu verwenden.
start(Jutro, {
...
themeConfig: themesConfig.LearningFont,
});
- Starten Sie die Website lokal mit dem Befehl
npm startin Ihrem Terminal, und Sie werden sehen, dass die Überschriften jetzt unterstrichen sind und eine Monospace-Schrift verwenden.
