Ce plugin est en plein développement. Il s'agit d'une expérimentation qui débouchera peut-être sur quelque chose d'utilisable, ou peut-être pas. Peu importe, il s'agit avant tout de tester des idées.
Il a été commencé en catimini dans un coin, mais toutes les contributions sont les bienvenues :)
Griseus 2000 est un thème pour l'espace privé de SPIP 3.1+
Quelques objectifs parmis d'autres :
Le thème est développé en SCSS et se compile au moyen de Gulp, un automatiseur de tâches.
Les sources se trouvent dans prive/themes/griseus2000/scss
, et la CSS est compilée dans prive/themes/griseus2000/css
.
La compilation s'effectue depuis le dossier prive/themes/griseus2000
.
La première fois, installer les dépendances localement avec la commande npm install
.
Pour surveiller les changements des fichiers sources et lancer la compilation automatiquement, utiliser la commande gulp watch
.
La compilation lance les tâches suivantes, qu'on peut également lancer individuellement si besoin :
gulp sass
: compiler la CSSgulp css
: traiter la CSS compilée -> ajouter les préfixes navigateurs, retirer les commentaires, embarquer certaines ressources en base64, formater le codegulp minify
: minifier la CSS compiléegulp fontello
: télécharger les sources de la police d'icônes dans un dossier temporaire scss/fontello_tmp
La feuille de style principale est un squelette CSS : style_prive_css.html
D'autres fichiers y sont inclus dans un ordre précis :
picker.css
, jquery-ui.css
, exceptions.css
css/variables.css.hml
css/theme.css
css/ressources.css.html
style_prive_plugin_[plugin].css.html
Une page dans l'espace privé présente les généralités du thème ?exec=griseus2000
(ou via le menu de développement).
L'unité de base est la variable $bs
, raccourci pour « base spacing ». Elle correspond à une hauteur de ligne. Pour définir des marges, des paddings, ou même des dimensions il est très recommander de s'en servir.
L'utiliser pour des marges inférieures ou des hauteurs permet d'avoir un rythme vertical harmonieux par exemple.
.truc { margin-bottom: $bs*2 } <!-- oui -->
.truc { margin-bottom: 2em } : <!-- non ! -->
Tous les styles qui ont besoin d'un chemin vers une ressource avec url()
et src()
doivent être placés dans css/ressources.css.html
, puisqu'on doit utiliser la balise #CHEMIN
.
Les icônes génériques sont issues pour la plupart d'une police de Fontello.
La liste est consultable dans la charte et dans scss/modules/icons-codes.scss
.
Pour afficher une icône devant un item par exemple :
.item {
@extend .icon;
@extend .icon-truc;
}
Pour ajouter des icônes dans la police :
fontello-config.json
fontello-config.json
gulp fontello
scss/fontello-tmp
vers scss/modules/icons-codes.scss
et polices/icons/icons.woff
(ce n'est pas encore automatisé)Dans les cas où il n'est pas possible d'utiliser cette police, il y a quelques svg dans /images
.
Certaines classes préfixées par gr-
sont des classes « virtuelles » qui servent uniquement à étendre les vraies classes de SPIP, elles ne sont pas utilisées directement dans les squelettes.
Par exemple, la classe .gr-card
est utilisée pour étendre les listes d'objets, les boîtes, les formulaires... (et obtenir donc des choses uniformes).
.formulaire_spip {
@extend .gr-card;
}