Index

wimm – web image manager

wimm est une application Tcl que j'ai écrite pour me faciliter la vie avec les images destinées au Web. Pour l'instant elle fait trois choses correspondant à ces trois commandes:


Les nom des images doivent être transmis par stdin:

echo monimage.png | wimm optimize

find images/ | wimm optimize

Pour chaque image, le traitement sera affiché dans le terminal:

find . | wimm optimize
pngquant OK
¤ -------------------------------------------------- ¤
¤ my-panda.png (pngquant) :
¤ -> [Before] 85.4677734375 | [After] 44.248046875 = -50%
¤ -------------------------------------------------- ¤
...

Une version de l'image compressée est créé avec le suffixe -wimm (ex.: my-panda-wimm.png). L'originale demeure intacte.

En option, un suffixe personnalisé peut-être appliqué:

find assets/images/ | wimm optimize --suffix "-optim"

Pour la commande resize, il suffit de mettre les valeurs de la redimension entre guillemets double et séparé par un espace:

find test/last-litre-of-petrol.jpeg | wimm resize "520 760"

¤ ----------------------------------------------------------------------------- ¤
¤ -> /home/hs0ucy/.hs0ucy/Code/wimm/test/last-litre-of-petrol-520w-wimm.jpeg
¤ ----------------------------------------------------------------------------- ¤

¤ ----------------------------------------------------------------------------- ¤
¤ -> /home/hs0ucy/.hs0ucy/Code/wimm/test/last-litre-of-petrol-760w-wimm.jpeg
¤ ----------------------------------------------------------------------------- ¤

Usage: <img srcset="last-litre-of-petrol-520w-wimm.jpeg 520w, last-litre-of-petrol-760w-wimm.jpeg 760w" ... />

wimm sprite va trouver tous les SVG, les convertir en element <symbol/>, et les combinés dans un seul fichier.

Le résultat s'affichera dans le terminal et une copie sera créé (/tmp/svg-sprite-wimm.svg).

find test/ | wimm sprite

<svg height="0" width="0" id="spriteSVG" aria-hidden="true" style="position:absolute" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <symbol id="symbol-arrows-horizontal" width="24" height="24" fill="none">
        <path xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" d="M15 9V7H17V9H15ZM17 15V13H13V11H17V9H19V11L21 11V13L19 13V15H17ZM17 15V17H15V15H17ZM11 11V13H7V15H5V13L3 13V11L5 11V9L7 9V11H11ZM7 15H9V17H7V15ZM9 7V9H7V7H9Z" fill="black"/>
    </symbol>
    <symbol id="symbol-arrows-vertical" width="24" height="24" fill="none">
        <path xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" d="M11 11H13V7H15V9H17V7H15V5H13V3H11V5H9V7H7V9H9V7H11V11ZM11 13H13V17H15V19H13V21H11V19H9V17H11V13ZM9 17V15H7V17H9ZM15 17V15H17V17H15Z" fill="black"/>
    </symbol>
</svg>