Changeset 115786 in spip-zone


Ignore:
Timestamp:
Jun 26, 2019, 6:25:50 AM (2 months ago)
Author:
dominique.lepaisant@…
Message:

Utiliser les graisses de police des google fonts + nettoyage

Location:
_plugins_/spipr-dane-config/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spipr-dane-config/trunk/css/spipr-dane-config.less.html

    r115740 r115786  
    6363        font-family: '(#CONFIG{sdc/title/font-family})', Arial, Helvetica, sans-serif;][
    6464        font-size: (#CONFIG{sdc/title/font-size})em;][
     65        font-weight: (#CONFIG{sdc/title/font-weight});][
    6566        color: (#CONFIG{sdc/title/color});]
    6667        #slogan_site_spip {[
  • _plugins_/spipr-dane-config/trunk/formulaires/typography.html

    r115581 r115786  
    2727
    2828<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
    29         [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    30         [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    31         <form method="post" action="#ENV{action}"><div>
    32                 #ACTION_FORMULAIRE{#ENV{action}}
     29    [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
     30    [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
     31    <form method="post" action="#ENV{action}"><div>
     32        #ACTION_FORMULAIRE{#ENV{action}}
    3333        <h3 class="legend"><:sdc:police{bloc=#GET{titre_ext}}:></h3>
    3434       
     
    4646        )]
    4747        [(#SAISIE{selection, font-family}
    48                         {label=<:sdc:famille_de_police:>}
    49                         {defaut=''}
    50                         {class=chosen}
     48            {label=<:sdc:famille_de_police:>}
     49            {defaut=''}
     50            {class=chosen}
    5151            {conteneur_class=long_label}
    52                         {datas=#ENV{polices}}
    53                 {cacher_option_intro= oui}
    54                 )]
     52            {datas=#ENV{polices}}
     53            {cacher_option_intro= oui}
     54        )]
    5555
    5656        [(#SAISIE{explication, font-family-perso-explication}
     
    5959        )]
    6060        [(#SAISIE{input, font-family-perso}
    61                         {label=<:sdc:police_personnelle:>}
    62                         {defaut=#ENV{font-family-perso}}
     61            {label=<:sdc:police_personnelle:>}
     62            {defaut=#ENV{font-family-perso}}
    6363            {conteneur_class=long_label family-perso}
    64                 )]
     64        )]
    6565               
    66                 <div>
    67                         [<h1 class="gwf" [style="font-family: (#CONFIG{sdc/defaut/font-family}|in_array{#GET{ggfonts}}|?{#ENV{font-family}, #ENV{font-family-perso}})"]>(#NOM_SITE_SPIP)</h1>]
    68                         [<p class="gwf" style="[font-family: (#CONFIG{sdc/defaut/font-family}|in_array{#GET{ggfonts}}|?{#ENV{font-family}, #ENV{font-family-perso}}); ]">(#NOM_SITE_SPIP|strtolower|ucfirst)</p>]
     66        <div>
     67            [(#REM)DEBUG
     68            #CONFIG{sdc/#ENV{bloc,defaut}/font-weight,normal}<br/>
     69            #CONFIG{sdc/#ENV{bloc,defaut}/font-family,Open Sans}<br>
     70            #ENV{font-family}<br/>
     71            #ENV{font-family-perso}<br/>
     72            #SET{font-family, #ENV{font-family}|=={perso}|?{#ENV{font-family-perso},#ENV{font-family}}}
     73            #GET{font-family}
     74            ]
     75            <h1 class="gwf" style="font-family: #GET{font-family};font-weight: #CONFIG{sdc/#ENV{bloc,defaut}/font-weight,normal};">[(#NOM_SITE_SPIP)]</h1>
     76            [<p class="gwf" style="font-family: #GET{font-family}; ">(#NOM_SITE_SPIP|strtolower|ucfirst)</p>]
    6977        </div>
    7078        [(#ENV{bloc}|=={defaut}|non)
     
    9098                3.5, 3.5}
    9199            }
    92                         {defaut=2.6}
     100            {defaut=2.6}
    93101            {cacher_option_intro= oui}
    94102        )]
     
    98106        ]
    99107
    100                 <p class="boutons boutons[-(#ENV{bloc})][-(#ENV{elem})]">
    101                         <input type="submit" name="enregistrer" class="submit save" value="<:bouton_enregistrer:>" />
    102                         <input type="submit" name="_cfg_delete" class="submit delete" value="<:sdc:bouton_supprimer:>"/>
    103                 </p>
    104         </div></form>
     108        <p class="boutons boutons[-(#ENV{bloc})][-(#ENV{elem})]">
     109            <input type="submit" name="enregistrer" class="submit save" value="<:bouton_enregistrer:>" />
     110            <input type="submit" name="_cfg_delete" class="submit delete" value="<:sdc:bouton_supprimer:>"/>
     111        </p>
     112    </div></form>
    105113</div>
    106114<script type="text/javascript">// <![CDATA[
    107         $(document).ready(function(){
    108                 $('#champ_font-family').change(function(){
    109                         if ($(this).val() == 'perso' )
    110                         {
    111                                 $('.family-perso').show() ;
    112                                 $('#champ_font-family-perso').on('input change mouseleave mouseover mouseout', function(){
    113                     console.log($(this).val());
    114                                         $('.gwf').css({'font-family': $(this).val().replace(/\++/g, ' ')} );
    115                     var link="<link href='https://fonts.googleapis.com/css?family="+$(this).val()+"' rel='stylesheet' type='text/css'>";
    116                     $( "<link href='https://fonts.googleapis.com/css?family="+$(this).val()+"' rel='stylesheet' type='text/css'>" ).insertAfter( $( "style" ) )
    117                                 });
    118                         }
    119                         else
    120                         {
    121                         $('.gwf').css({'font-family': $(this).val().replace(/\++/g, ' ')} );
    122                                 $('.family-perso').hide();
    123                         }
    124                 });
    125                 $('#champ_font-family').val() == 'perso' ? $('.family-perso').show() : $('.family-perso').hide();
    126         });
     115    $(document).ready(function(){
     116       
     117        function fontFamilyPersoChange() {
     118            $('#champ_font-family-perso').on('input change', function(){
     119                var fontFamilyPerso = $(this).val();
     120                var fontFamily = fontFamilyPerso;
     121                if ( fontFamilyPerso.match(/:/g)) {
     122                    var font = fontFamilyPerso.split(":");
     123                    fontFamily = font[0];
     124                    var fontWeight = font[1];
     125                }
     126                console.log(fontFamily+" "+fontWeight);
     127                var $fontWeight = "#CONFIG{'sdc/#ENV{bloc,defaut}/font-weight,normal'});]";
     128                $('.gwf').css({'font-family': fontFamily.replace(/\++/g, ' ')} );
     129                var link = "<link id='ffperso' href='https://fonts.googleapis.com/css?family="+$(this).val()+"' rel='stylesheet' type='text/css'>";
     130                $('#ffperso').remove();
     131                $(link).insertBefore($("style"));
     132            });
     133        }
     134       
     135        if ($('#champ_font-family').val() == 'perso') {
     136            $('.family-perso').show();
     137            fontFamilyPersoChange();
     138            var link = "<link id='ffperso' href='https://fonts.googleapis.com/css?family=#CONFIG{sdc/#ENV{bloc,defaut}/font-family}:#CONFIG{sdc/#ENV{bloc,defaut}/font-weight}' rel='stylesheet' type='text/css'>";
     139                $(link).insertBefore($("style"));
     140            $('.gwf').css({'font-family':$('#champ_font-family-perso').val().replace(/\++/g, ' ')} );
     141            $('h1.gwf').css({'font-weight': "#CONFIG{sdc/#ENV{bloc,defaut}/font-weight}", 'font-family':"#CONFIG{sdc/#ENV{bloc,defaut}/font-family}"} );
     142        }
     143        else {
     144            $('.family-perso').hide();
     145        }
     146       
     147        $('#champ_font-family').change(function(){
     148            var fontFamily = $(this).val();
     149            if (fontFamily == 'perso' )
     150            {
     151                $('.family-perso').show() ;
     152                fontFamilyPersoChange();
     153            }
     154            else
     155            {
     156                $('.gwf').css({'font-family': fontFamily.replace(/\++/g, ' ')} );
     157                $('.family-perso').hide();
     158            }
     159        });       
     160    });
    127161 //]]></script>
  • _plugins_/spipr-dane-config/trunk/formulaires/typography.php

    r115581 r115786  
    3939        }
    4040    }
    41     /*
    42      if ($bloc == 'title' && !lire_config($meta.'title/font-family')) {
    43         $font = lire_config($meta.'defaut/font-family') ;
    44     }
    45     */
    46    // tableau des polices google
     41
     42        // tableau des polices google
    4743    // import depuis le fichier gg_fonts.yaml
    4844    $polices = yaml_decode_file(find_in_path('yaml/gg_fonts.yaml'));
     
    5248        $listeFonts = array_merge($listeFonts, $famille);
    5349    }
    54     if(!in_array( $font, $listeFonts)) {
     50    if(!in_array( $font, $listeFonts) || lire_config($meta.$bloc.'/font-weight')) {
    5551        $fontFamilyPerso = $font;
    5652        $font = 'perso';
    57     }
     53                if (lire_config($meta.$bloc.'/font-weight')) {
     54            $fontFamilyPerso .= ":".lire_config($meta.$bloc.'/font-weight');
     55                }
     56    }
     57       
    5858    // on charge les saisies et les champs qui nécessitent un accès par les fonctions
    5959    $valeurs = array(
     
    7575    if (!is_dir(_DIR_SITE."squelettes/css/")) {
    7676        if (!mkdir(_DIR_SITE."squelettes/css/", 0755, true)) {
    77             $erreurs['file'] ='Echec lors de la création des répertoires '._DIR_SITE."squelettes/css/";
    78         }
    79     }
    80 
    81     return $erreurs;
     77            $erreurs['font-family'] ='Echec lors de la création des répertoires '._DIR_SITE."squelettes/css/";
     78        }
     79    }
     80   
     81   return $erreurs;
    8282}
    8383
     
    8585    // Traitement des données reçues du formulaire,
    8686    $meta = 'sdc/';
     87    $fontFamily = _request('font-family');
     88    $fontFamilyPerso = _request('font-family-perso');
     89        effacer_config($meta.$bloc.'/font-weight');
    8790   
    8891    // Est-ce une font perso ?
    89     if (_request('font-family') == "perso" &&  _request('font-family-perso') && _request('font-family-perso') !="") {
    90         set_request("font-family", _request('font-family-perso'));
     92    if ($fontFamily == "perso" &&  $fontFamilyPerso && $fontFamilyPerso !="") {
     93        $fontFamily = $fontFamilyPerso;
    9194    }
    9295    else {
    9396        set_request("font-family-perso", '');
    9497    }
    95 
     98   
     99    if (preg_match("/:/",$fontFamilyPerso)) {
     100        $font = explode(":", $fontFamilyPerso);
     101        $fontFamily = $font[0];
     102        $fontWeight = $font[1];
     103    }
     104
     105 
    96106    $vals=array('font-family');
    97107    $nom_bloc = array('defaut'=>'de base','title'=>'du titre','h2'=>'des titres des blocs');
    98108    if ($bloc == "title") {
    99         $vals = array('font-family', 'font-size', 'color');
     109        $vals = array('font-family', 'font-size', 'font-weight', 'color');
    100110    }
    101111    $errs = $oks = '';
    102112
    103     if (!_request('_cfg_delete') && _request("font-family")) {
     113    if (!_request('_cfg_delete') && $fontFamily) {
    104114        // Ecriture des valeurs dans typography.less
    105115        if ($lines =  lire_variables_typo_less()) {
    106116            foreach ($lines as $line_num => $line) {
    107117                if (preg_match("/^@sansFontFamily:/", $line, $matches) &&  $bloc != "title" &&  $bloc != "h2") {
    108                     $data .= $matches[0]." \t"."'"._request("font-family")."',Arial,Helvetica,sans-serif;\n";
     118                    $data .= $matches[0]." \t"."'".$fontFamily."',Arial,Helvetica,sans-serif;\n";
    109119                }
    110120                else if (preg_match("/^(@import|\/\/@import)/", $line, $matches)) {
    111                     $importFonts = preg_replace('/\s/', '+', trim(_request("font-family")));
     121                    $importFonts = preg_replace('/\s/', '+', trim($fontFamily));
     122                    if ($fontWeight) {
     123                                                $regular = preg_match('/i$/',$fontWeight) ? ':400i,' : ':400,';
     124                        $importFonts .= $regular.$fontWeight;
     125                    }
    112126                           
    113127                    if ( $bloc == "defaut" ) {
     
    136150                    }
    137151
    138                     if (_request("font-family") == "Open Sans") {
     152                    if ($fontFamily == "Open Sans") {
    139153                        $data .= $line;
    140154                    }
     
    151165           
    152166            //ecriture dans spip_metas
    153             foreach ($vals as $val) {
    154                 if ($bloc == 'h2') {
    155                     $bloc='body/h2';
    156                 }
    157                 if (_request($val)!='' ) {
    158                     ecrire_config($meta.$bloc.'/'.$val, _request($val));
    159                     if (is_null(lire_config($meta.$bloc.'/'.$val))) {
    160                                         $errs.= 'Erreur dans la meta'  .$val.' = '._request($val);
    161                     }
    162                 }
    163                 else {
    164                     effacer_config($meta.$bloc.'/'.$val);
    165                     if ($bloc == "defaut" && !lire_config($meta.'title/'.$val) && !lire_config($meta.'body/h2/'.$val)) {
    166                         unlink (_DIR_SITE."squelettes/css/typography.less");
    167                     }
    168                 }
    169             }
     167            if ($bloc == 'h2') {
     168                $bloc='body/h2';
     169            }
     170            ecrire_config($meta.$bloc.'/font-family', $fontFamily);
     171                        if ($bloc == 'title' || $bloc == 'body/h2') {
     172                _request('font-size')!='' ? ecrire_config($meta.$bloc.'/font-size', _request('font-size')) : effacer_config($meta.$bloc.'/font-size') ;
     173                _request('color')!='' ? ecrire_config($meta.$bloc.'/color', _request('color')) : effacer_config($meta.$bloc.'/color') ;
     174                // font-weight
     175                if (isset($fontWeight) && $fontWeight != '') {
     176                                        $fontWeight = preg_replace('/i$/','',$fontWeight);
     177                                        ecrire_config($meta.$bloc.'/font-weight', $fontWeight);
     178                                }
     179                                else {
     180                                        effacer_config($meta.$bloc.'/font-weight');
     181                                }
     182                        }
    170183            if ( _request('font-family-perso') && _request('font-family-perso') !="") {
    171184                set_request("font-family", "perso");
     
    238251            set_request('color', lire_config('sdc/defaut/color2', '#455C98'));
    239252        }
    240                 $oks = _T('sdc:params_typography_supprimes', array('bloc'=>$nom_bloc[$bloc]));
    241                 return array('message_ok'=>$oks);
     253               
     254                return array('message_ok'=>_T('sdc:params_typography_supprimes', array('bloc'=>$nom_bloc[$bloc])));
    242255        }
    243256    // S'il y a des erreurs, elles sont retournées au formulaire
  • _plugins_/spipr-dane-config/trunk/lang/sdc_fr.php

    r115740 r115786  
    125125    'metas_font-family' => 'Police',
    126126    'metas_font-size' => 'Taille de police',
     127    'metas_font-weight' => 'Graisse de police',
    127128    'metas_header' => 'Ent&#234;te',
    128129    'metas_inverser_navbar' => 'Inverser la couleur',
  • _plugins_/spipr-dane-config/trunk/paquet.xml

    r115740 r115786  
    22    prefix="sdc"
    33    categorie="maintenance"
    4     version="0.1.6"
     4    version="0.1.7"
    55    etat="dev"
    66    compatibilite="[3.0.17;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.