Revisions : SPIP
Les articles publiés sur le site
-
Evolution #4727 (Nouveau) : Des pictos / icônes symboliques pour tout le monde
12 avril 2021Je fais un ticket pour la future PR et poser le plan d'action.
C'est la suite de https://core.spip.net/issues/4562#Des-ic%C3%B4nesProposition pour intégrer un jeu complet d'icônes symboliques.¶
Les besoins sont multiples pour pleins d'éléments d'interface, dans le core et les plugins : des barres d'outils, des boutons d'actions, etc.
Et chacun doit réimplémenter ça un peu à sa sauce, notamment dans le privé.C'est un besoin bien distinct des icônes svg de couleur dont on dispose actuellement dans le privé : on veut des pictos symboliques qui héritent de taille et de la couleur du texte, et issus d'un même set afin d'avoir un style unifié.
Cela vient donc en complément.Il s'agit donc de reprendre un jeu d'icônes existant, qu'on n'aura pas à maintenir, optimisé, et qui fournit des icônes cohérentes visuellement, utilisables dans tous les contextes. Cf. plus bas pour une comparaison initiale des candidats possibles.
Utilisation¶
Ces icônes seraient utilisables de 2 façons :
1) Des classes .spicon¶
Des classes à ajouter à n'importe quel élément inline quand il s'agit d'icônes purement décoratives.
Ces classes pouvant finir dans squelettes utilisés dans le public, pour éviter les conflits, on propose la contraption de spip + icon =spicon
. Il y a aussispip-icon
mais c'est un peu plus verbeux.Exemples :
span> class="spicon_menu">Ouvrir le menu span> class="spicon_truc"> Du texte span> class="titrem spicon_machin">Mon titre
2) Une balise #ICON¶
En complément, on peut vouloir embarquer une icône svg dans le HTML.
On propose de reprendre et d'adapter la balise #ICON du plugin Zcore, qui fait ça très bien.
Cette balise permet d'embarquer une icône du set par défaut, mais également n'importe quelle autre (je rentre pas dans les détails).Un modèle correspondant permettra aussi d'inclure des icônes svg dans les textes :
#ICONE{identifiant} #ICONE{chemin/vers/mon_icone.svg} #ICONE{#identifiant_autre_set}
Identifiants sémantiques¶
Les identifiants des icônes seront directement ceux du jeu d'icônes choisi.
Mais ils peuvent avoir des noms un peu barbares : chevron-double-right, eye-slash, grip-vertical, etc.Dans tous les cas on pourra les utiliser tels quels, mais en plus de ça, on propose de faire une correspondance sémantique pour les icônes correspondants aux actions les plus courantes. Par exemple au lieu de faire
#ICONE{chevron-double-down}
on pourra faire#ICONE{deplier}
.
Cela passerait par un pipeline, donc liste qui peut être complétée selon ses besoins.La liste initiale est visible ici : https://demo.hedgedoc.org/3zIXkcFLTVSwV0nKC1_qcA?both
Ressources privé / public¶
Cela veut dire 2 ressources à charger :
- Une font-face pour les classes
- Un sprite svg pour la balise
Dans le privé, il faut charger les 2.
Dans le public, cela pourrait se faire optionnellement, à la demande.Candidats¶
Pour finir un tableau comparatif des jeux d'icônes possibles (à licences libres), avec mes commentaires initiaux.
Petite préférence pour Feather actuellement.Lib Nb sprite fontface Commentaire Bootstrap 1300+ 693ko 85ko Clés en main, beaucoup d’icônes (trop ?) Feather 286 (~100ko) - Styles rounded. Bonne balance nb icônes / poids. Octicon (Github) 433 (~240ko) - Styles rounded. Bonne balance nb icônes / poids. Beaucoup de manips à faire pour créer sprite et cie. Material (Google) ? (?ko) 44ko Style rounded / épaisseur variable. Beaucoup de manips à faire pour créer sprite et cie. Google ! Core-ui 554 418ko 63ko Clés en main. Sets inutiles non pris en compte dans ce tableau (brands, flags, …) Bytesize 101 11ko - Style rounded / épaisseur variable. Léger : le minimum syndical. Sprite entre parenthèses = non fourni dans le dépôt ou la dist → poids théorique.
-
Evolution #2184 : Passer la dist en HTML5
12 avril 2021, par nicod _C'est fait, j'ai aussi mis à jour la doc sur spip.net pour inciter à utiliser
-
Evolution #2822 : HTML des modèles de pagination
12 avril 2021, par nicod _Voilà, c'est fait.
-
Anomalie #4721 : cadre trop petit au moment d’une nouvelle installation, installation impossble
12 avril 2021, par nicod _Le problème vient de
flex-direction: column;
dans https://git.spip.net/spip/spip/commit/2bda100410fcac7d8496472d0a621ebfbab13d3fJe confirme qu'avec
height: auto; min-height: 100%;
ça corrige. -
Anomalie #4721 : cadre trop petit au moment d’une nouvelle installation, installation impossble
12 avril 2021Je disais, (j'ai supprimé le mauvais commentaire !)
Que la solution peut être :
@media (min-width: 640px) { - body { display: flex; padding: 2em; flex-direction: column; justify-content: center; align-items: center;} + body { display: flex; padding: 2em; flex-direction: column; justify-content: center; align-items: center; height: auto; min-height: 100%;} #minipres { margin: 6em auto; width: 580px;border: 1px solid #DB1762;border-radius: 8px;padding: 2em 2em 1.5em 2em;overflow: hidden;} #minipres h1 {margin-top: -2em;margin-left: -2em;margin-right: -2em;padding: 0.8em;font-size: 1.1em;color: white;background: #DB1762;} }