Changeset 109766 in spip-zone


Ignore:
Timestamp:
Apr 1, 2018, 8:39:08 PM (16 months ago)
Author:
nicolas.dorigny@…
Message:

Reconstruire les pages articles avec une colonne à droite, avec le sommaire automatique et la liste des versions.
Les pages rubriques avec 3 colonnes (sous rubriques, pages et derniers changements), et un tri sur la liste des pages.

Location:
_squelettes_/gribouille_2/trunk
Files:
1 added
2 deleted
13 edited
1 moved

Legend:

Unmodified
Added
Removed
  • _squelettes_/gribouille_2/trunk/article_gribouille.html

    r109760 r109766  
    11<BOUCLE_article(ARTICLES){id_article}{wiki}>
     2#SET{diff, #VAL{#ID_ARTICLE}|gribouille_calcul_diff{'article',#ENV{id_version}}}
    23<!DOCTYPE html>
    34<html lang="#LANG" dir="#LANG_DIR">
     
    1011
    1112        <INCLURE{fond=inc-gribouille/entete,id_rubrique,id_article}>
     13       
     14        [(#ENV{id_version}|?{
     15        <h1>[(#GET{diff/titre})]</h1>,
     16        <h1 class="[(#ENV{id_version}|non)[(#EDIT{titre}) ]]page_name">[(#TITRE|safehtml)]</h1>
     17        })]
    1218
    13         [(#ENV{id_version}|non)
    14         <h1 class="[(#ENV{id_version}|non)[(#EDIT{titre}) ]]page_name">[(#TITRE|safehtml)]</h1>
     19        [(#ENV{id_version}|oui)
     20        <INCLURE{fond=inc-gribouille/entete_revision,id_version=#ENV{id_version},objet=article,id_objet=#ENV{id_article}}>
    1521        ]
     22       
    1623        <div class="page">
    17 
    18                 [(#ENV{id_version}|oui)
    19                 <INCLURE{fond=inc-gribouille/afficher_revisions,id_version=#ENV{id_version},objet=article,id_objet=#ENV{id_article}}>
    20                 ]
    2124               
    22                 [(#ENV{id_version}|non)
    23                 [<div class="#EDIT{texte} texte">(#TEXTE|sinon{<p><em><:gribouille:click_ajout_texte:></em></p>}|safehtml)
    24                         [<div class="notes">(#NOTES|safehtml)</div>]
    25                 </div>]
    26                 <div><:gribouille:mis_a_jour:> [(#DATE|affdate_heure)]</p>
    27                 ]
    28                        
    29                 <B_rev>
    30                         <h2><:gribouille:toutes_version:></h2>
    31                         <ul>
    32                                 [(#REM)
    33                                         On n'affiche pas la version avec id_auteur = -1 (version initiale, qui est toujours vide).
    34                                         On affiche donc le numéro de version - 1
     25                <div class="contenu">
     26                        <div class="contenu_texte">
     27                                [(#ENV{id_version}|oui)
     28                                        [<div class="chapo">(#GET{diff/chapo})</div>]
     29                                        [<div class="texte">(#GET{diff/texte})</div>]
     30                                        [<div class="ps">(#GET{diff/ps})</div>]
    3531                                ]
    36                                 <BOUCLE_rev(VERSIONS){id_objet=#ID_ARTICLE}{objet=article}{par date}{inverse}{id_auteur!=-1}>
    37                                 <li>
    38                                         #SET{titre, #ID_VERSION|moins{1}|concat{' &mdash; ',#INFO_NOM{auteur,#ID_AUTEUR}|sinon{#ID_AUTEUR},', ',#TITRE_VERSION|sinon{#DATE|affdate_heure}}}
    39                                         [(#SELF|parametre_url{id_version,#ID_VERSION}|lien_ou_expose{  #GET{titre}, #ENV{id_version}|=={#ID_VERSION}})]
    40                                 </li>
    41                                 </BOUCLE_rev>
    42                         </ul>
    43                 </B_rev>
     32                                [(#ENV{id_version}|non)
     33                                        [<div class="#EDIT{chapo} chapo">(#CHAPO|safehtml)</div>]
     34                                        <div class="#EDIT{texte} texte">
     35                                                [(#TEXTE|safehtml|ancres_sommaire|sinon{<p><em><:gribouille:click_ajout_texte:></em></p>})]
     36                                                [<div class="notes">(#NOTES|safehtml)</div>]
     37                                        </div>
     38                                        [<div class="#EDIT{ps} ps">(#PS|safehtml)</div>]
     39                                        <div class="contenu_date"><:gribouille:mis_a_jour:> [(#MAJ|affdate_heure)]</div>
     40                                ]
     41                        </div>
     42                        <div class="contenu_sommaire">
     43                                [(#ENV{id_version}|non)
     44                                [(#SOMMAIRE{#TEXTE})]
     45                                ]
     46                                <INCLURE{fond=inc-gribouille/liste_versions,id_version=#ENV{id_version},objet=article,id_objet=#ENV{id_article}}>
     47                        </div>
     48                </div>
    4449                       
    4550        </div>
  • _squelettes_/gribouille_2/trunk/gribouille_fonctions.php

    r109746 r109766  
    1111
    1212/**
    13  * Affiche le diff d'un objet
     13 * Retourne le diff d'un objet
    1414 * (uniquement pour les articles en 2.0.X)
    15  * Ex: [<small> (#ID_ARTICLE|affiche_diff{article,#ID_VERSION,diff}|supprimer_tags|couper{50})</small>]
     15 * Ex: [<small> (#ID_ARTICLE|gribouille_calcul_diff{article,#ID_VERSION,diff}|supprimer_tags|couper{50})</small>]
    1616 *
    1717 * @param int    $id_objet
     
    2020 * @param string $format [optional]
    2121 *
    22  * @return string
     22 * @return array
    2323 */
    24 function affiche_diff($id_objet, $objet, $id_version, $format = 'complet') {
     24function gribouille_calcul_diff($id_objet, $objet, $id_version, $format = 'complet') {
    2525        include_spip('inc/suivi_versions');
    2626       
    2727        $textes = revision_comparee($id_objet, $objet, $id_version, $format);
    28         $ret = '';
     28        $ret = array();
    2929        foreach ($textes as $champ => $texte) {
    30                 if ($champ == 'titre') {
    31                         $ret .= '<h1>'.propre_diff($texte).'</h1>';
    32                 }
    33                 else if ($champ == 'texte') {
    34                         $ret .= '<div>'.propre_diff($texte).'</div>';
    35                 }
     30                $ret[$champ] = propre_diff($texte);
    3631        }
    3732
  • _squelettes_/gribouille_2/trunk/gribouille_pipelines.php

    r109746 r109766  
    3838                                        if ($squelette = test_squelette_gribouille($fond, $ext)) {
    3939                                                $flux['data'] = $squelette;
     40                                                // définir les intertitres en H2 sur le Wiki
     41                                                $GLOBALS['debut_intertitre'] = "\n<h2 class=\"spip\">\n";
     42                                                $GLOBALS['fin_intertitre'] = "</h2>\n";
    4043                                        }
    4144                                }
  • _squelettes_/gribouille_2/trunk/inc-gribouille/derniers-changements.html

    r109760 r109766  
    1212                                <a href="[(#URL_ARTICLE|parametre_url{id_version,#ID_VERSION})]" rel="noindex,nofollow" title="version [(#ID_VERSION|moins{1})]">#TITRE</a>
    1313                                [</(#GET{gras})>]
    14                                 <span>&mdash; [<abbr title="[(#DATE|date_iso)]">(#DATE|date_relative)</abbr>], [(#INFO_NOM{auteur,#ID_AUTEUR})]</span>
     14                                <br>[<abbr title="[(#DATE|date_iso)]">(#DATE|date_relative)</abbr>], [(#INFO_NOM{auteur,#ID_AUTEUR})]
    1515                        </li>
    1616                        </BOUCLE_revisions>
  • _squelettes_/gribouille_2/trunk/inc-gribouille/entete_revision.html

    r109765 r109766  
    11<BOUCLE_revision(VERSIONS){id_version}{objet?}{id_objet?}>
    22<div class="version-entete">
    3         <span class="h2">Version [(#ID_VERSION|moins{1})] <span>&mdash;
    4         [(#DATE|date_relative),]
    5         [(#INFO_NOM{auteur,#ID_AUTEUR})] [-- (#TITRE_VERSION)]</span>
    6         </span>
    7         <span><a rel="noindex,nofollow" href="#URL_ARTICLE"><:gribouille:retour_version_courante:></a></span>
     3        <p class="h2">Version [(#ID_VERSION)] &mdash;
     4        [<abbr title="[(#DATE|date_iso)]">(#DATE|date_relative)</abbr>,]
     5        [(#INFO_NOM{auteur,#ID_AUTEUR})] [-- (#TITRE_VERSION)]
     6        </p>
    87</div>
    9 [<div class="version-texte">(#ID_OBJET|affiche_diff{#OBJET,#ID_VERSION}|safehtml)</div>]
    108</BOUCLE_revision>
  • _squelettes_/gribouille_2/trunk/inc-gribouille/pages.html

    r109760 r109766  
     1[(#SET{defaut_tri,#ARRAY{titre,1,popularite,-1}})]
    12<B_pages>
    2         <h2><:gribouille:pages_plus_lues:></h2>
     3        <div class="extra_rubrique__pages_header">
     4                <h2><:gribouille:pages:></h2>
     5                <p class="extra_rubrique__pages_tri">[(#TRI{titre,<:gribouille:tri_par_titre:>,ajax})] | [(#TRI{popularite,<:gribouille:tri_par_popularite:>,ajax})]</p>
     6        </div>
    37        #ANCRE_PAGINATION
    4         <ul>
    5                 <BOUCLE_pages(ARTICLES){id_rubrique}{!par popularite}{pagination #ENV{nb,20}}{wiki}>
     8        <ul class="extra_rubrique__pages">
     9                <BOUCLE_pages(ARTICLES){id_rubrique}{tri #ENV{par,num titre},#GET{defaut_tri}}{par titre}{pagination #ENV{nb,20}}{wiki}>
    610                <li>
    7                         <strong><a href="#URL_ARTICLE">#TITRE</a></strong>
    8                         [<br>(#INTRODUCTION|couper{80}|supprimer_tags)]
     11                        <a href="#URL_ARTICLE">#TITRE</a>
     12                        [(#INTRODUCTION|couper{80}|supprimer_tags)]
    913                </li>
    1014                </BOUCLE_pages>
  • _squelettes_/gribouille_2/trunk/inc-gribouille/sousrubriques.html

    r109760 r109766  
    33                <:gribouille:sous_rubriques:>
    44        </h2>
    5         <ul>
     5        <ul class="extra_rubrique__sous_rubriques">
    66                <BOUCLE_sous_rubriques(RUBRIQUES){branche}{wiki}{exclus}{par titre}>
    7                 <li><a href="#URL_RUBRIQUE">#TITRE</a></li>
    8                 <B_nb_rub>#TOTAL_BOUCLE <:gribouille:sous_rubriques:><BOUCLE_nb_rub(RUBRIQUES){exclus}{branche}{wiki}> </BOUCLE_nb_rub></B_nb_rub>
    9                 <B_nb_art>#TOTAL_BOUCLE <:gribouille:articles:><BOUCLE_nb_art(ARTICLES){branche}{wiki}> </BOUCLE_nb_art></B_nb_art>
     7                <li>
     8                        <a href="#URL_RUBRIQUE">#TITRE</a>
     9                        <B_nb_rub>#TOTAL_BOUCLE [(#VAL{<:gribouille:sous_rubriques:>}|_T|strtolower)]<BOUCLE_nb_rub(RUBRIQUES){exclus}{branche}{wiki}> </BOUCLE_nb_rub></B_nb_rub>
     10                        <B_nb_art>#TOTAL_BOUCLE [(#VAL{<:gribouille:pages:>}|_T|strtolower)]<BOUCLE_nb_art(ARTICLES){branche}{wiki}> </BOUCLE_nb_art></B_nb_art>
     11                </li>
    1012                </BOUCLE_sous_rubriques>
    1113        </ul>
  • _squelettes_/gribouille_2/trunk/lang/gribouille_fr.php

    r109746 r109766  
    3232        'derniers_changements'                      => 'Derniers changements',
    3333        'disclaimer'                                => 'Ce site fonctionne avec le squelette <a href="https://contrib.spip.net/Gribouille">Gribouille</a>&nbsp;; inspir&#233; de <a href="http://www.wikini.net/wakka.php?wiki=PagePrincipale">WikiNi</a>',
    34         'dans_rubrique'                                => 'Dans la rubrique :',
     34        'dans_rubrique'                             => 'Dans la rubrique :',
    3535
    3636        // E
     
    5757        // P
    5858        'piege_a_robot'                             => 'Laissez ce champ vide :',
    59         'pages_plus_lues'                           => 'Pages les plus lues',
     59        'pages'                                     => 'Pages',
    6060
    6161        // R
     
    7373        'titre_input'                               => 'Titre...',
    7474        'toutes_version'                            => 'Toutes les versions',
     75        'tri_par_titre'                                 => 'Par titre',
     76        'tri_par_popularite'                            => 'Par popularité',
    7577
    7678        // Z
  • _squelettes_/gribouille_2/trunk/paquet.xml

    r109748 r109766  
    1717        <necessite nom="revisions" compatibilite="[1.7.0;]"/>
    1818        <necessite nom="spip_bonux" compatibilite="[3.4.0;]"/>
     19        <necessite nom="sommaire" compatibilite="[1.2.4;]"/>
    1920        <necessite nom="scssphp" compatibilite="[1.2.1;]"/>
    2021
  • _squelettes_/gribouille_2/trunk/rubrique_gribouille.html

    r109760 r109766  
    2222                </div>]
    2323
    24                 <INCLURE{fond=inc-gribouille/pages,id_rubrique,env,ajax}>
    25 
    26                 <INCLURE{fond=inc-gribouille/sousrubriques,id_rubrique,env,ajax}>
    27                
    28                 <INCLURE{fond=inc-gribouille/derniers-changements,id_rubrique,env,ajax}>
     24                <div class="extra_rubrique">
     25                        <INCLURE{fond=inc-gribouille/sousrubriques,id_rubrique,env,ajax}>
     26                        <INCLURE{fond=inc-gribouille/pages,id_rubrique,env,ajax}>
     27                        <INCLURE{fond=inc-gribouille/derniers-changements,id_rubrique,env,ajax}>
     28                </div>
    2929               
    3030        </div>
  • _squelettes_/gribouille_2/trunk/scss/base/_main.scss

    r109746 r109766  
    8686        }
    8787}
    88 
    8988
    9089ul, ol {
  • _squelettes_/gribouille_2/trunk/scss/base/_spip.scss

    r109746 r109766  
    181181        background: #EEE;
    182182}
     183
     184br.autobr {
     185        display: none;
     186}
  • _squelettes_/gribouille_2/trunk/scss/base/_typo.scss

    r109746 r109766  
    2929
    3030h1, .h1 {
    31   font-size: $body-font-size*2;
     31  font-size:  em($body-font-size*2, $_base-font-size);
    3232}
    3333
    3434h2, .h2 {
    35   font-size: $body-font-size*1.5;
     35  font-size:  em($body-font-size*1.5, $_base-font-size);
    3636}
    3737
    3838h3, .h3 {
    39   font-size: $body-font-size*1.25;
     39  font-size:  em($body-font-size*1.25, $_base-font-size);
    4040}
    4141
    4242h4, .h4 {
    43   font-size: $body-font-size*1.125;
     43  font-size:  em($body-font-size*1.125, $_base-font-size);
    4444}
    4545
    4646h5, .h5,
    4747h6, .h6 {
    48   font-size: $body-font-size;
     48  font-size:  em($body-font-size, $_base-font-size);
    4949}
    5050
  • _squelettes_/gribouille_2/trunk/scss/styles/_styles.scss

    r109746 r109766  
    44
    55.container {
    6   max-width: 60em;
     6  max-width: 70em;
    77  margin:    0 auto;
    88}
     9
     10// -------- HEADER ---------------------
     11
    912.header {
    10   margin-bottom: 2em;
     13  margin-bottom:  2em;
    1114  padding-bottom: 2em;
    12   border-bottom: 1px solid $couleur-gris4;
    13 }
     15  border-bottom:  1px solid $couleur-gris4;
     16}
     17
    1418.header_tools {
    15   @include flex();
    16   justify-content: space-between;
    17 }
    18 
    19 .footer {
    20   margin-top: 2em;
    21   padding-top: 2em;
    22   border-top: 1px solid $couleur-gris4;
    23 }
     19  @include media($bp-medium-up) {
     20    @include flex();
     21    justify-content: space-between;
     22  }
     23}
     24
     25.header_breadcrumb {
     26  @include media($bp-medium) {
     27    margin-bottom: 1.5em;
     28  }
     29}
     30
     31.formulaire_spip.formulaire_recherche {
     32  margin-bottom: 0;
     33  input[type="search"], input[type="submit"] {
     34    display: inline-block;
     35  }
     36  input[type="search"] {
     37    width: 12em;
     38  }
     39}
     40
    2441.header_breadcrumb ol {
    2542  list-style: none;
     
    3451}
    3552
    36 .formulaire_spip.formulaire_recherche {
    37   margin-bottom: 0;
    38   input[type="search"], input[type="submit"] {
    39     display: inline-block;
    40   }
    41   input[type="search"] {
    42     width: 12em;
    43   }
    44 }
    45 
    46 
     53// -------- CONTENU ---------------------
     54
     55.contenu {
     56  @include media($bp-medium-up) {
     57    @include flex();
     58    justify-content: space-between;
     59  }
     60  .chapo {
     61    font-weight: bold;
     62  }
     63}
     64
     65.extra_rubrique,
     66.contenu_sommaire {
     67  ul {
     68    list-style:  none;
     69    margin-left: 0;
     70    li {
     71      line-height:   $typo-line-height*0.9;
     72      margin-bottom: 0.5em;
     73    }
     74  }
     75}
     76
     77.contenu_sommaire {
     78  width:       15em;
     79  min-width:   15em;
     80  margin-left: 2em;
     81  .nav-sommaire {
     82    margin: 0;
     83    border: none;
     84    h2 {
     85      @extend .h2;
     86      text-transform: none;
     87    }
     88    @include media($bp-medium) {
     89      display: none;
     90    }
     91    ul {
     92      padding-left: 0.8em;
     93      text-indent:  -1em;
     94      li:before {
     95        content: "\2219";
     96      }
     97    }
     98  }
     99}
     100
     101.contenu_date {
     102  margin-top:  1.5em;
     103  padding-top: 1em;
     104  color:       $couleur-gris4;
     105  font-style:  italic;
     106}
     107
     108.extra_rubrique {
     109  margin-top: 1.5em;
     110  padding-top: 1.5em;
     111  border-top: thin solid $couleur-gris5;
     112  @include media($bp-medium-up) {
     113    @include flex();
     114    & > div {
     115      //width:  33%;
     116      margin: 0 1em;
     117      &:first-child {
     118        margin-left: 0;
     119      }
     120      &:last-child {
     121        margin-right: 0;
     122      }
     123    }
     124  }
     125}
     126
     127.extra_rubrique__pages_header {
     128  @include media($bp-medium-up) {
     129    @include flex();
     130    justify-content: space-between;
     131  }
     132}
     133.extra_rubrique__pages_tri {
     134  @include media($bp-medium-up) {
     135    padding-right: 1em;
     136  }
     137}
     138.extra_rubrique__pages,
     139.extra_rubrique__sous_rubriques {
     140  a {
     141    display:     block;
     142    font-weight: bold;
     143  }
     144}
     145
     146// -------- FOOTER ---------------------
     147
     148.footer {
     149  margin-top:  2em;
     150  padding-top: 2em;
     151  border-top:  1px solid $couleur-gris4;
     152}
    47153
    48154.ajout-page {
     
    56162      display: inline-block;
    57163    }
    58     input.text, input[type="text"] {
     164    input.text, input[type=" text "] {
    59165      width:   16em;
    60166      display: inline-block;
     
    62168  }
    63169}
    64 
    65 
    66 .version-entete {
    67   @include flex();
    68   justify-content: space-between;
    69 }
    70 
    71170
    72171.recherche_resultats {
     
    75174  }
    76175}
     176
    77177.recherche_chemin {
    78178  font-size: 85%;
    79   color: $couleur-gris4;
    80 }
    81 
    82 .coloration_code {
    83   background: #f6f4f4;
    84   padding: 0.5em;
     179  color:     $couleur-gris4;
     180}
     181
     182.spip_code, .coloration_code {
     183  background:    #F6F4F4;
     184  padding:       0.5em;
    85185  margin-bottom: 1.5em;
     186  // pour les lignes vraiment trop longues
     187  hyphens:       auto;
    86188  ol {
    87189    margin-bottom: 0;
     
    92194}
    93195
     196// code inline
     197code.spip_code {
     198  padding: 0.2em;
     199}
    94200
    95201// Comparaison d'articles
    96202
    97203.diff-para-deplace {
    98   background: #e8e8ff;
    99 }
     204  background: #E8E8FF;
     205}
     206
    100207.diff-para-ajoute {
    101   background: #d0ffc0;
    102   color: #000;
    103 }
     208  background: #D0FFC0;
     209  color:      #000;
     210}
     211
    104212.diff-para-supprime {
    105   background: #ffd0c0;
    106   color: #904040;
     213  background:      #FFD0C0;
     214  color:           #904040;
    107215  text-decoration: line-through;
    108216}
     217
    109218.diff-deplace {
    110   background: #e8e8ff;
    111 }
     219  background: #E8E8FF;
     220}
     221
    112222.diff-ajoute {
    113   background: #d0ffc0;
    114 }
     223  background: #D0FFC0;
     224}
     225
    115226.diff-supprime {
    116   background: #ffd0c0;
    117   color: #802020;
     227  background:      #FFD0C0;
     228  color:           #802020;
    118229  text-decoration: line-through;
    119230}
     231
    120232.diff-para-deplace .diff-ajoute {
    121   border: 1px solid #808080;
    122   background: #b8ffb8;
    123 }
     233  border:     1px solid #808080;
     234  background: #B8FFB8;
     235}
     236
    124237.diff-para-deplace .diff-supprime {
    125   border: 1px solid #808080;
    126   background: #ffb8b8;
    127 }
     238  border:     1px solid #808080;
     239  background: #FFB8B8;
     240}
     241
    128242.diff-para-deplace .diff-deplace {
    129   border: 1px solid #808080;
    130   background: #b8b8ff;
    131 }
    132 
     243  border:     1px solid #808080;
     244  background: #B8B8FF;
     245}
    133246
    134247//----------------------------------------
     
    184297
    185298.markItUp .markItUpHeader {
    186   // une barre d'édition "flat" comme le thème, sans dégradé ni arrondis
     299  // une barre d'édition " flat " comme le thème, sans dégradé ni arrondis
    187300  background:    $couleur-gris5 !important;
    188301  border-color:  darken($couleur-gris5, 5%) !important;
Note: See TracChangeset for help on using the changeset viewer.