Deux fichiers sont considérés comme les fichiers de conception par défaut d'un thème : design.json et design.css.
design.json indique les styles des composants
design.css fournit les définitions des valeurs de classe (comme la couleur et la police)
Ces fichiers sont situés dans le répertoire /designs/default/ d'une structure de thème.
Fichier design.json
La structure du fichier design.json est la suivante :
{
"componentStyles": {
"scs-image": {
"styles": []
},
"scs-map": {
"styles": []
},
"scs-title": {
"styles": []
},
"scs-paragraph": {
"styles": []
},
"scs-divider": {
"styles": []
},
"scs-button": {
"styles": []
},
"scs-app": {
"styles": []
},
"scs-spacer": {
},
"scs-gallery": {
"styles": []
},
"scs-youtube": {
"styles": []
},
"scs-socialbar": {
"styles": []
},
"scs-document": {
"styles": []
}
}
}
Chaque entrée "styles":[] peut contenir une liste de styles pour ce composant. Par exemple, le composant de titre fournit ces styles par défaut :
"styles": [{
"name": "COMP_STYLE_FLAT",
"class": "scs-title-default-style"
},
{
"name": "COMP_STYLE_HIGHLIGHT",
"class": "scs-title-style-2"
},
{
"name": "COMP_STYLE_DIVIDER",
"class": "scs-title-style-3"
}
]
Remarque :
Si vous créez des styles personnalisés pour un composant et que vous les mappez à des styles dansdesign.json, vous n'avez pas besoin d'employer le nom complet comme ceux fournis avec le système. Il suffit d'indiquer la chaîne à utiliser. Par exemple, au lieu de "COMP_STYLE_BOX", utilisez "Box" comme nom. Ainsi, seul le nom "Box" apparaîtra pour ce composant dans la liste de l'onglet Styles du panneau des paramètres, au lieu de "COMP_STYLE_BOX".Les valeurs de nom sont mappées aux mots réels à afficher dans l'interface utilisateur, de cette manière :
"COMP_STYLE_FLAT": "Flat",
"COMP_STYLE_HIGHLIGHT": "Highlight",
"COMP_STYLE_DIVIDER": "Divider",
Fichier design.css
Le fichier design.css fournit les définitions des valeurs de classe. Voici quelques exemples.
.scs-title-default-style {
color: #333333;
display: block;
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
font-size: 24px;
font-weight: normal; }
.scs-title-style-2 {
background-color: #DEF300;
color: #333333;
font-family: adobe-clean, sans-serif;
padding-top: 2em;
padding-bottom: 2em; }
.scs-button-default-style .scs-button-button:hover {
background: #f7f8f9;
border: 1px solid #c4ced7;
color: #0572ce;
box-shadow: inset 0 1px 0 #f7f8f9;
text-shadow: 0 1px 0 #f7f8f9; }
.scs-button-default-style .scs-button-button:active {
background: #0572ce;
border: 1px solid #0572ce;
color: #fff;
box-shadow: inset 0 1px 0 #0572ce;
text-shadow: 0 1px 0 #0572ce; }