Ajouter un thème à l’aide de jetons de conception
Dans cette mission d’apprentissage, vous allez apprendre à ajouter un thème à une application Jutro à l’aide de jetons de conception.
Que sont les jetons de conception ?
Les jetons de conception sont utilisés pour organiser les décisions de conception. Les instructions de mise en forme CSS telles que les couleurs, les polices, etc., sont attribuées à des variables que vous pouvez utiliser pour modifier tous les composants de page concernés.
Vous pouvez en savoir plus sur les jetons de conception sur la page de présentation des jetons de conception et trouver une liste des jetons de conception importants sur la page de liste des jetons de conception.
Activité pratique : utiliser des jetons de conception pour créer un nouveau thème
Dans cet exercice, vous allez créer un thème de jeton de conception qui modifie le titre principal à souligner avec une police à espacement fixe.
-
Créez un nouveau dossier dans votre dossier
src/assets/styles/tokensnomméLearning-Font. -
Dans le nouveau dossier
Learning-Font, créez un fichier JSON nommélearning-font-tokens.jsonavec les jetons à appliquer lorsque ce thème est actif. Ce fichier définit le jetonjds.font.heading.1.font-familysurmonospaceet le jetonjds.font.heading.1.text-decorationsurunderline.
{
"jds": {
"font": {
"heading": {
"1": {
"font-family":{
"value": "monospace"
},
"text-decoration": {
"value": "underline"
}
}
}
}
}
}
- Ajoutez le nouvel ensemble de jetons au fichier
.themesConfig.jsonet nommez-leLearningFont:
{
"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"
}
}
- Ouvrez un terminal dans le dossier
jutro-sandbox-appet exécutez la commandejutro generate:themespour générer des fichiers CSS en fonction du fichier de jeton défini à l’étape 2. En cas de réussite, la sortie suivante s’affiche et un nouveau fichier est créé au niveau du chemin indiqué.
> 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
Pour en savoir plus sur la commande generate:themes, reportez-vous à la documentation CLI
- Dans le fichier
startApp.tsde votre projet racine, mettez à jour l’argumentthemeConfigpour utiliserLearningFont.
start(Jutro, {
...
themeConfig: themesConfig.LearningFont,
});
- Démarrez le site localement à l’aide de la commande
npm startdans votre terminal, et vous verrez que les titres sont maintenant soulignés et utilisent une police à espacement fixe.
