Les articles publiés sur le site

  • Evolution #4727 (Nouveau) : Des pictos / icônes symboliques pour tout le monde

    12 avril 2021

    Je 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%B4nes

    Proposition 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 aussi spip-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/2bda100410fcac7d8496472d0a621ebfbab13d3f

    Je 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 2021

    Je 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;}
    }