on cree un sprite min leger pour les icones par defaut de Z-core/spipr, ce qui permet de ne pas charger 200ko d'icones SVG pour les utilisateurs standards qui ne jouent pas avec les icones de BS

master
Cerdic 3 years ago
parent 2c62b8dcc3
commit e646eb8450

@ -0,0 +1,34 @@
<svg xmlns="http://www.w3.org/2000/svg">
<symbol id="bi-person" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M13 14s1 0 1-1-1-4-6-4-6 3-6 4 1 1 1 1h10zm-9.995-.944v-.002.002zM3.022 13h9.956a.274.274 0 0 0 .014-.002l.008-.002c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664a1.05 1.05 0 0 0 .022.004zm9.974.056v-.002.002zM8 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0z" clip-rule="evenodd"/>
</symbol>
<symbol id="bi-calendar" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z" clip-rule="evenodd"/>
<path fill-rule="evenodd" d="M6.5 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z" clip-rule="evenodd"/>
</symbol>
<symbol id="bi-chevron-left" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z" clip-rule="evenodd"/>
</symbol>
<symbol id="bi-chevron-right" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z" clip-rule="evenodd"/>
</symbol>
<symbol id="bi-chat" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z" clip-rule="evenodd"/>
</symbol>
<symbol id="bi-tag" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M.5 2A1.5 1.5 0 0 1 2 .5h4.586a1.5 1.5 0 0 1 1.06.44l7 7a1.5 1.5 0 0 1 0 2.12l-4.585 4.586a1.5 1.5 0 0 1-2.122 0l-7-7A1.5 1.5 0 0 1 .5 6.586V2zM2 1.5a.5.5 0 0 0-.5.5v4.586a.5.5 0 0 0 .146.353l7 7a.5.5 0 0 0 .708 0l4.585-4.585a.5.5 0 0 0 0-.708l-7-7a.5.5 0 0 0-.353-.146H2z" clip-rule="evenodd"/>
<path fill-rule="evenodd" d="M2.5 4.5a2 2 0 1 1 4 0 2 2 0 0 1-4 0zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2z" clip-rule="evenodd"/>
</symbol>
<symbol id="bi-check-box" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M15.354 2.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L8 9.293l6.646-6.647a.5.5 0 0 1 .708 0z" clip-rule="evenodd"/>
<path fill-rule="evenodd" d="M1.5 13A1.5 1.5 0 0 0 3 14.5h10a1.5 1.5 0 0 0 1.5-1.5V8a.5.5 0 0 0-1 0v5a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V3a.5.5 0 0 1 .5-.5h8a.5.5 0 0 0 0-1H3A1.5 1.5 0 0 0 1.5 3v10z" clip-rule="evenodd"/>
</symbol>
<symbol id="bi-skip-end" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M12 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V4a.5.5 0 0 1 .5-.5z" clip-rule="evenodd"/>
<path fill-rule="evenodd" d="M10.804 8L5 4.633v6.734L10.804 8zm.792-.696a.802.802 0 0 1 0 1.392l-6.363 3.692C4.713 12.69 4 12.345 4 11.692V4.308c0-.653.713-.998 1.233-.696l6.363 3.692z" clip-rule="evenodd"/>
</symbol>
<symbol id="bi-skip-start" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4.5 3.5A.5.5 0 0 0 4 4v8a.5.5 0 0 0 1 0V4a.5.5 0 0 0-.5-.5z" clip-rule="evenodd"/>
<path fill-rule="evenodd" d="M5.696 8L11.5 4.633v6.734L5.696 8zm-.792-.696a.802.802 0 0 0 0 1.392l6.363 3.692c.52.302 1.233-.043 1.233-.696V4.308c0-.653-.713-.998-1.233-.696L4.904 7.304z" clip-rule="evenodd"/>
</symbol>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

@ -11,6 +11,8 @@ define('_ICON_SPRITE_SVG_FILE', "img/bi-all-symbols.svg");
// 2 sprites : celui de base + celui avec les variantes fill
define('_ICON_SPRITE_SVG_NOFILL_FILE', "img/bi-symbols.svg");
define('_ICON_SPRITE_SVG_FILL_FILE', "img/bi-fill-symbols.svg");
// 1 sprite mini : juste pour les icones de z/spipr
define('_ICON_SPRITE_SVG_MIN_FILE', "img/bi-min-symbols.svg");
define('_ICON_SPRITE_SVG_ID_PREFIX', "bi-");
@ -23,10 +25,20 @@ function filtre_icone_href_class_from_name($name) {
if (!$name) {
return array(find_in_path(_ICON_SPRITE_SVG_FILE), '');
}
$icone_anchor_from_name = chercher_filtre("icone_anchor_from_name");
$anchor = $icone_anchor_from_name($name);
// on a un petit sprite dedie aux icones utilisees par defaut par Z-core et spipr-xx pour ne pas charger la mule
// c'est un sprite maintenu a la main, lister ici les icones qu'il contient
if (in_array($anchor,['bi-person','bi-calendar','bi-chevron-left','bi-chevron-right','bi-chat','bi-tag','bi-check-box','bi-skip-start','bi-skip-end'])) {
if (!isset($sprite_files['min'])){
$sprite_files['min'] = timestamp(find_in_path(_ICON_SPRITE_SVG_MIN_FILE));
}
$file = $sprite_files['min'];
}
// c'est le sprite par defaut avec un name qui correspond a l'ancre abregee
// et la gestion de quelques historiques de nommage/renommage
if (strpos($name, '-fill') !== false){
elseif (strpos($name, '-fill') !== false){
if (!isset($sprite_files['fill'])){
$sprite_files['fill'] = timestamp(find_in_path(_ICON_SPRITE_SVG_FILL_FILE));
}
@ -44,8 +56,6 @@ function filtre_icone_href_class_from_name($name) {
$class .= " " . _ICON_SPRITE_SVG_ID_PREFIX . "icon";
}
$icone_anchor_from_name = chercher_filtre("icone_anchor_from_name");
$anchor = $icone_anchor_from_name($name);
return array($file . '#' . $anchor, $class);
}
}

@ -1,7 +1,7 @@
<paquet
prefix="bootstrap4"
categorie="outil"
version="4.4.1.7"
version="4.4.1.8"
etat="test"
compatibilite="[3.2.0;3.3.*]"
logo="img/bootstrap-64.png"

Loading…
Cancel
Save