Re: Les SVG sont des images comme les autres

Charles Razack <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Complément d'enquête : des fois on ne sait pas à l'avance à quel type 
d'image on a affaire.
Si c'est un svg, on aimerait qu'il soit embeddé (donc |balise_svg), 
sinon on veut le tag <img> normal (donc |balise_img).

Ça amène à faire des tests dans les squelettes de la sorte :
[(#EXTENSION}|=={svg}|oui) [(#FICHIER|balise_svg)] ]
[(#EXTENSION}|=={svg}|non) [(#FICHIER|balise_img)] ]

Dans ces cas là il serait pratique d'avoir un filtre qui fasse ça 
automatiquement.
Sémantiquement, je ne sais pas quel serait le nom le plus approprié, 
peut-être « balise_image » tout simplement : ça ne présuppose pas du tag 
qui va être produit (<img> ou <svg>), ça dépend de l'image.

Un exemple de fonction que j'utilise de mon côté : 
http://spip.pastebin.fr/58813

if (!function_exists('filtre_balise_img_svg')) {
functionfiltre_balise_img_svg($src, $alt='', $class='') {
include_spip('inc/filtres');
   $balise ='';
// Récupérer le chemin si c'est déjà un tag <img>
if (substr(trim($src), 0, 4) ==='<img') {
     $src =extraire_attribut($src, 'src');
   }
// Retrouver l'extension
   $src =supprimer_timestamp($src);
   $extension =pathinfo($src, PATHINFO_EXTENSION);
// Si c'est un svg, on embed
if ($extension ==='svg') {
     $balise =filtrer('balise_svg', $src, $alt, $class);
// Sinon, balise_img si pas déjà le cas
   } else {
     $balise =filtrer('balise_img', $src, $alt, $class);
   }
return $balise;
}
}


Le 15/10/2019 à 21:19, nicod_ a écrit :
> Un autre truc que je remarque à l'usage : sur un svg qui n'a pas 
> d'attribut width dans le <svg>, image_reduire n'applique rien du tout.
>
> Alors oui, on peut styler les svg en css, mais c'est moins propre : 
> quand tu affiches la page sans css par exemple, le svg perd sa dimension.
>
> Je m'attendrais à ce que image_reduire ajoute un attribut width, qu'en 
> pensez vous ?
>
> Autre truc : on peut enchainer balise_img et image_reduire, mais pas 
> avec balise_svg
> #CHEMIN{images/machin.png}|balise_img|image_reduire{5}  OK
> #CHEMIN{images/machin.svg}|balise_svg|image_reduire{5}  Pas de réduction
>
> Là aussi, je m'attendrais à ce que le fonctionnement soit similaire non ?
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.