Un plugin pour utiliser Zpip-dist + LESS (fournit par le plugin less-css)

Le plugin contient une surcharge less des CSS de Zpip-dist,
et modifie la balise #CSS utilisee par Zpip-dist pour pouvoir prendre indiferrement une feuille css ou une feuille less :
lorsque #CSS{css/typo.css} est rencontre, on cherche dans le chemin de SPIP la feuille typo.css ou typo.less
La plus prioritaire des deux est retenue. Si il s'agit de typo.less, elle est compilee avec less-css
On peut donc surcharger les CSS (au sens de SPIP) indiferrement au format .less ou .css
Par ailleurs, toutes les feuilles sont configurees ici par css/config.less qui fournit les parametres de typo de base

On peut donc construire rapidement un theme en surchargeant juste cette feuille pour changer toute la typo,
puis affiner
Il manque un outil pour produire un ensemble de feuilles statiques .css a partir des feuilles .less + config.less
ce qui permettrait de generer le theme statique en .css une fois celui-ci mis au point en .less (par soucis de rapidite)
En l'etat, le processeur less-css supprime les commentaires des feuilles, c'est donc moyen.



git-svn-id: svn://zone.spip.org/spip-zone/_plugins_/zpip-less@48837 ac52e18a-acf5-0310-9fe8-c4428f23b10a
master
cedric@yterium.com 12 years ago
commit aabf4b5540

@ -0,0 +1,58 @@
/* --------------------------------------------------------------
base.css
Classes pour faciliter la composition
Cf.: http://www.spip-contrib.net/3820
-------------------------------------------------------------- */
@import "config.less";
/* Blocs */
.bloc { display: block; margin-bottom: @margin-bottom/*@margin-bottom*/; }
.box { display: block; margin-bottom: @margin-bottom/*@margin-bottom*/; padding: @line-height/*@line-height*/; background: #EEE; }
/* Listes, tableaux et mosaiques */
.first { margin-left: 0; padding-left: 0; }
.last { margin-right: 0; padding-right: 0; }
.top { margin-top: 0; padding-top: 0; }
.bottom { margin-bottom: 0; padding-bottom: 0; }
.odd {}
.even {}
.sep {}
/* Alignements */
.left { float: left !important; }
.right { float: right !important; }
.center { text-align: center; margin-right: auto; margin-left: auto; }
/* Espaceur de blocs */
.clear { clear: both; }
br.clear, .nettoyeur { clear: both; margin: 0; padding: 0; border: 0; height: 0; line-height: 1px; font-size: 1px; }
hr.clear { visibility: hidden; }
/* clearfix : http://www.positioniseverything.net/easyclearing.html */
.clearfix:after {
content: "\0020";
display: block;
height: 0;
clear: both;
visibility: hidden;
overflow: hidden;
}
.clearfix { display: inline-table; }
/* Hides from IE-mac \*/
.clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */
/* Non visible a l'ecran */
.offscreen, .invisible { position: absolute; left: -999em; height: 1%; }
.hidden { visibility: hidden; }
.none { display: none; }
/* debug */
.todo { opacity: 0.5; }
.todo:hover { opacity: 1; }
/* end */

@ -0,0 +1,3 @@
/*
* Par defaut, pas de style pour les boutons, au naturel
*/

@ -0,0 +1,46 @@
/*
Configuration
*/
@font-size: 0.8125em;
@font-family: "Luxi sans", "Lucida Grande", Lucida, "Lucida Sans Unicode", sans-serif;
@font-family-mono: 'andale mono','lucida console',monospace;
@text-indent: 50px;
@line-height: 1.5em;
@margin-bottom: 1.5em;
@color: #333;
@background-color:#FFFFFF;
@demi-line-height : @line-height / 2;
@minus-demi-line-height : @demi-line-height * -1;
@minus-text-indent : @text-indent * -1;
@demi-text-indent : @text-indent / 2;
@demi-margin-bottom : @margin-bottom / 2;
@quart-margin-bottom : @margin-bottom / 4;
@h1-font-size: 2em;
@h1-line-height: @line-height;
@h1-margin-bottom: @demi-margin-bottom;
@h2-font-size: (@line-height + 2) / 2;
@h2-margin-bottom : @line-height / @h2-font-size;
@h2-line-height: @h2-margin-bottom * 2;
@h3-font-size: @line-height;
@h3-line-height: 1;
@h3-margin-bottom : 1;
@h4-font-size: (@line-height + 1) / 2;
@h4-margin-bottom : @line-height / @h4-font-size;
@h4-line-height: @h4-margin-bottom;
.typo_standard {
/* Configuration */
font-size:@font-size/*@font-size*/;
font-family:@font-family/*@font-family*/;
text-indent:@text-indent/*@text-indent*/;
line-height:@line-height/*@line-height*/;
margin-bottom:@margin-bottom/*@margin-bottom*/;
color:@color/*@color*/;
background-color:@background-color/*@background-color*/;
}
.typo_mono {
font-family:@font-family-mono/*@font-family-mono*/;
}

@ -0,0 +1,56 @@
/* --------------------------------------------------------------
form.css
Base pour formulaires
Cf.: http://www.spip-contrib.net/3820
-------------------------------------------------------------- */
input,textarea,select,button { font-family: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; }
legend { font-weight: bold; }
/* Hand cursor on clickable input elements */
input[type="submit"],input.submit,
input[type="button"],input.button,
input[type="image"],input.image,
button { cursor: pointer; }
textarea { overflow: auto; } /* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */
.ie fieldset { padding-top: 0; }
.ie6 legend,
.ie7 legend { background-color: #fff; margin-left: -7px; } /* Preciser la couleur des legend et du fond pour IE/Win */
.ie button,
.ie input.submit,
.ie input.button { position: relative; }
button { width: auto; overflow: visible; } /* Make buttons play nice in IE: www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */
/* Success, info, notice and error/alert boxes (from BluePrint) */
.reponse,
.error,
.alert,
.notice,
.success,
.info { padding: .8em; margin-bottom: 1.5em; border: 2px solid #ddd; }
.error,
.alert { background: #fbe3e4; color: #8a1f11; border-color: #fbc2c4; }
.notice { background: #fff6bf; color: #514721; border-color: #ffd324; }
.success { background: #e6efc2; color: #264409; border-color: #c6d880; }
.info { background: #d5edf8; color: #205791; border-color: #92cae4; }
.error a,
.alert a { color: #8a1f11; }
.notice a { color: #514721; }
.success a { color: #264409; }
.info a { color: #205791; }
/* Print */
@media print {
form { display: none; }
}
/* end */

@ -0,0 +1,17 @@
/* **************** GRIDS ***************** */
.line, .lastUnit {overflow: hidden;_overflow:visible;_zoom:1; }
.unit{float:left;_zoom:1;}
.unitExt{float:right;}
.size1of1{float:none;}
.size1of2{width:50%;}
.size1of3{width:33.33333%;}
.size2of3{width:66.66666%;}
.size1of4{width:25%;}
.size3of4{width:75%;}
.size1of5{width:20%;}
.size2of5{width:40%;}
.size3of5{width:60%;}
.size4of5{width:80%;}
.lastUnit {float:none;_position:relative; _left:-3px; _margin-right: -3px;width:auto;}
/* extending grids to allow a unit that takes the width of its content */
.media{width:auto;}

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 B

@ -0,0 +1,37 @@
/* --------------------------------------------------------------
layout.css
Disposition des blocs principaux
-------------------------------------------------------------- */
@import "config.less";
/* ------------------------------------------
/* Disposition a l'ecran des blocs principaux
/* ------------------------------------------ */
body { background: #f9f9f9; margin: 0; padding: 0; text-align: center; }
.page { position: relative; background: #fff; width: 58em; margin: 1em auto; padding:1em 2em; text-align: left; border:3px solid #ddd; }
.header { width: 100%; margin: 0; border-bottom: 2px solid #46839B; }
.container { clear: both; overflow: hidden; margin-top:@margin-bottom/*@margin-bottom*/; }
.content { float:left; width:65%;}
.extra1 { float: right; width: 30%; overflow: hidden; margin-bottom:@margin-bottom/*@margin-bottom*/; }
.extra2 { float: right; clear:right; width: 30%; overflow: hidden; margin-bottom:@margin-bottom/*@margin-bottom*/; }
.footer { clear: both; width: 100%; margin: 1em 0 0 0; padding: 0.60em 0; border: 2px solid #ddd; background:#f9f9f9; text-align: center; font-size: 0.90em; }
.footer a { /*color:#666;*/ } /* ne pas utiliser de selecteur trop precis, et eviter de toucher aux liens */
.footer img { vertical-align: middle; }
/* Gabarit d'impression */
@media print {
.extra1,
.extra1,
.footer { display: none; }
.page,
.content { width: auto; }
}
/* end */

@ -0,0 +1,54 @@
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
/* Bicubic resizing for non-native sized IMG:
code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
.ie7 img { -ms-interpolation-mode: bicubic; }
/* end */

@ -0,0 +1,38 @@
/* Habillage des forums
---------------------------------------------- */
@import "config.less";
/* * Habillage des forums */
.comments { margin-bottom:@margin-bottom/*@margin-bottom*/}
/* comments list */
.comments-items {border-bottom: 1px solid #eee;}
.comments-items .comments-items {margin-left: @text-indent/*@text-indent*/;border-bottom: 0;}
.comments-items .comments-items .comments-items .comments-items {margin-left: @demi-text-indent/*@demi-text-indent*/;border-bottom: 0;}
.comments-items .comment-item {border-top: 1px solid #eee;}
.comments-items .comment-item .comment-item {border-top: 0;}
.comment {overflow:hidden}
.comment-meta {background: #eee;padding: @demi-margin-bottom/*@demi-margin-bottom*/;padding-right: @margin-bottom/*@margin-bottom*/;position: relative;margin:0;}
.comment-item .comment-item .comment-meta {background : #f4f4f4;}
.comment-meta .spip_logos {margin-bottom:0;}
.comment-meta .permalink { position: absolute;right: 0;font-size: 2em;color:#ccc;}
.comment-meta .forum-titre {display: block;}
.comment-content {background: transparent;padding: @demi-margin-bottom/*@demi-margin-bottom*/;max-height:60em;overflow:auto;overflow-x:none;}
.comment-reply { clear: both; text-align: right; font-weight: bold; margin-bottom:0;}
/* en thread */
.comments-thread .comment-item {margin-bottom:@margin-bottom/*@margin-bottom*/;border-left:1px solid #eee;}
.comments-thread .comment-item .comment-item {margin-bottom:0;border-left:0;}
.comments-thread .permalink.in-reply-to {bottom:0;}
/* avec plugin comments */
.comment-meta .permalink.picto {font-size:1em;right:@demi-margin-bottom/*@demi-margin-bottom*/;}
.comment {position:relative;}
.comment .spip-admin {position:absolute;left:0;bottom:0;visibility:hidden;}
.comment:hover .spip-admin {visibility:visible;}
/* en list avec plugin comments */
.comment-meta .item {display:block;}

@ -0,0 +1,98 @@
/* ------------------------------------------
/* Habillage des formulaires SPIP
/* ------------------------------------------ */
@import "config.less";
input, textarea, select {-webkit-box-sizing: border-box;-ms-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
.bugajaxie { display: none; } /* Bug IE/Win */
/* Structure generale des formulaires
----------------------------------------------- */
.formulaire_spip { clear: both; margin-bottom: @margin-bottom/*@margin-bottom*/; padding: @demi-line-height/*@demi-line-height*/; border: 1px solid #ddd; background-color: #FCFCFC;text-align: left; }
/* Fieldset */
.formulaire_spip fieldset { clear: both; margin: 0;margin-bottom: @margin-bottom/*@margin-bottom*/; padding: 0; border: 0; }
.formulaire_spip fieldset legend { margin: 0; padding: 0; font-size: 1.25em; font-weight: bold; background-color: #FCFCFC; color: #333; } /* Preciser la couleur des legend et du fond pour IE/Win */
.formulaire_spip fieldset fieldset { margin-top: @margin-bottom/*@margin-bottom*/; }
.formulaire_spip fieldset fieldset legend { font-size: 1em; font-weight: normal; }
/* Explications */
.formulaire_spip .explication { color: #444;margin-bottom: 0;padding: @demi-line-height/*@demi-line-height*/ 0;}
/* Lignes */
.formulaire_spip .editer { clear: both; margin: 0 @minus-demi-line-height/*@minus-demi-line-height*/; padding: @demi-line-height/*@demi-line-height*/; }
/* Labels */
.formulaire_spip .editer>label { display: block; text-align: left; color: #444; font-weight: bold;}
.formulaire_spip .choix label {display:inline;font-weight:normal;}
.formulaire_spip .choix input.radio,
.formulaire_spip .choix input.checkbox {width:auto;}
/* Champs de saisie */
.formulaire_spip input.text { width: 100%;}
.formulaire_spip textarea { width: 100%; }
.formulaire_spip select { width: 100%; }
/* Boutons */
.formulaire_spip .boutons { clear: both; margin: 0; padding: 0; text-align: right; margin-top: @margin-bottom/*@margin-bottom*/; }
.formulaire_spip .boutons input { margin-left: 1em; }
.formulaire_spip .boutons input, input.submit {}
@media print {
.formulaire_spip { display: none; }
}
/* Reponses, previsu et erreurs
----------------------------------------------- */
/* Champs obligatoires */
.formulaire_spip li.obligatoire {}
.formulaire_spip li.obligatoire label {font-weight: strong;}
/* Reponses */
.reponse_formulaire { margin-bottom: @margin-bottom/*@margin-bottom*/; padding: @demi-margin-bottom/*@demi-margin-bottom*/; border: 2px solid #ddd; }
.reponse_formulaire_ok { background: #e6efc2; color: #264409; border-color: #c6d880; }
.reponse_formulaire_erreur { background: #fbe3e4; color: #8a1f11; border-color: #fbc2c4; }
.reponse_formulaire_ok a { color: #264409; }
.reponse_formulaire_erreur a { color: #8a1f11; }
/* Previsualisation du message */
fieldset.previsu { margin-bottom: @margin-bottom/*@margin-bottom*/;padding: @demi-margin-bottom/*@demi-margin-bottom*/; border: 2px dashed #F57900; }
fieldset.previsu legend { color: #F57900; }
fieldset.previsu legend { padding-left:0.50em; font-weight: bold; color: #F57900; }
/* Reponse du formulaire */
fieldset.previsu .reponse_formulaire { font-weight: bold; color: #e86519;}
fieldset.reponse_formulaire { border-color: #e86519; font-weight: normal; }
/* * Erreurs */
.editer.erreur { background-color: #fbe3e4; }
.editer .erreur_message { display: block; color: #C30; font-weight: bold;}
/* Variantes et cas particuliers
----------------------------------------------- */
/* Selection des langues */
.formulaire_menu_lang { margin: 0; padding: 0; background: none; border: 0;}
.formulaire_menu_lang select {width: 15em;}
/* Formulaires de recherche (site / petitions) */
.formulaire_recherche { padding: 0; background: none; border: 0;}
.formulaire_recherche * { display: inline; vertical-align: middle; }
.formulaire_recherche label {display: block;}
.formulaire_recherche input.text { width: 10em; padding-left: 25px; background: #FFF url(img/rechercher.gif) no-repeat left center; }
.formulaire_recherche input.submit {}
/* Choix des mots-clefs */
.choix_mots li { float: left; width: 30%; padding: 1%; }
/* Formulaire de login dans une page */
.formulaire_login .editer {clear:left;}
.formulaire_login input.text,.formulaire_login input.password {width:15em;}
.formulaire_login .editer_password .details {margin-bottom:0;}
.formulaire_login #spip_logo_auteur {float:right;}

@ -0,0 +1,101 @@
/* --------------------------------------------------------------
spip.css.html
Styles associes au code genere par SPIP
Cf.: http://www.spip-contrib.net/3821
-------------------------------------------------------------- */
@import "config.less";
/* Listes SPIP */
ul.spip,
ol.spip { margin-left: @text-indent/*@text-indent*/; }
ul.spip { list-style-type: disc; }
li ul.spip { list-style-type: circle; }
ol.spip { list-style-type: decimal; }
dl.spip dt,
dl.spip dd { padding-left: @text-indent/*@text-indent*/; }
dl.spip dt { clear: both; }
dl.spip dd {}
/* Tableaux SPIP */
table.spip {}
table.spip caption {}
table.spip tr.row_first th {}
table.spip tr.row_odd td { }
table.spip tr.row_even td,table.spip tr.row_even th {background: #e5ecf9;}
/* Citations, code et poesie */
blockquote.spip {}
.spip_poesie {}
.spip_poesie div { margin-left: @text-indent/*@text-indent*/; text-indent: @minus-text-indent/*@minus-text-indent*/; }
.spip_code,
.spip_cadre {font-family: @font-family-mono/*@font-family-mono*/; font-size: 1em;}
.spip_cadre {padding:@demi-margin-bottom/*@demi-margin-bottom*/;width: 100%;-webkit-box-sizing: border-box;-ms-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
/* Enluminures typo V3 / Cf.: http://www.spip-contrib.net/3118 */
sc { font-variant: small-caps; }
.caractencadre-spip { background-color: #FFFFCC; color: purple; }
.caractencadre2-spip { background-color: #FFFFCC; color: orange; }
.texteencadre-spip { display: block; margin:@margin-bottom/*@margin-bottom*/ @text-indent/*@text-indent*/; padding: @demi-line-height/*@demi-line-height*/; background: #EEE; }
/* Logos, documents et images */
.spip_logos { float: left; margin: 0; margin-right: @margin-bottom/*@margin-bottom*/; margin-bottom: @margin-bottom/*@margin-bottom*/; padding: 0; border: none; }
.spip_documents { margin-bottom: @margin-bottom/*@margin-bottom*/; padding: 0; background: none; }
.spip_documents,
.spip_documents_center,
.spip_doc_titre,
.spip_doc_descriptif { margin-right: auto; margin-left: auto; text-align: center; }
.spip_documents_center { clear: both; display: block; width: 100%; }
.spip_documents_left { float: left; margin-right: @margin-bottom/*@margin-bottom*/; }
.spip_documents_right { float: right; margin-left: @margin-bottom/*@margin-bottom*/; }
.spip_doc_titre {}
.spip_doc_descriptif { clear: both; }
/* Modeles par defaut */
.spip_modele { float: right; display: block; width: 25%; border: 1px dotted #666; }
.spip_surligne { background-color: yellow; }
/* Formulaire de recherche */
.formulaire_recherche * { display: inline; }
/* Paragraphes */
div.spip, ul.spip, ol.spip, .spip_poesie, .spip_cadre, div.spip_code, .spip_documents.spip_documents_center { margin-bottom: @margin-bottom/*@margin-bottom*/; }
/* Pagination */
.pagination { clear: both; text-align: center; }
@media print {
.pagination { display: none; }
}
/* Notes */
.notes > div {padding-left: @text-indent/*@text-indent*/; position: relative; }
.notes .spip_note_ref { display:block;position:absolute;left:0;}
/* Liens de SPIP */
a.spip_note { font-weight: bold; } /* liens vers notes de bas de page */
a.spip_in {} /* liens internes */
a.spip_mail {}
a.spip_out {} /* liens sortants */
a.spip_url {} /* liens url sortants */
a.spip_glossaire {} /* liens vers encyclopedie */
@media print {
a.spip_out:after,
a.spip_url:after { content: " (" attr(href) ")"; }
}
/* Boutons action */
.bouton_action_post,.bouton_action_post > div {display: inline;}
/* Boutons d'admin */
.ie6 .spip-admin,
.ie6 #spip-admin { display: none; }
@media print {
.spip-admin,
#spip-admin { display: none; }
}
/* end */

@ -0,0 +1,54 @@
/* ------------------------------------------
/* Sous-navigation et autres menus
/* ------------------------------------------ */
@import "config.less";
/* Habillage general des menus de navigation */
.menu { clear: both; margin-bottom: @margin-bottom/*@margin-bottom*/; text-align: left; }
.menu > h1,
.menu > h2,
.menu > h3,
.menu > h4,
.menu > h5,
.menu > h6 {margin-bottom: 0;}
.menu-items { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid #ddd; }
.menu-items .item { margin: 0; padding: @quart-margin-bottom/*@quart-margin-bottom*/;}
.menu-items .menu-items { margin-left: 1em; border: 0; }
.menu-items .menu-items .item { padding: 0; border: 0; }
/* habillage barre de nav horizontale */
.hornav {background:#eee;border-left: 1px solid #eee;border-right: 1px solid #eee;}
.hornav .menu {margin: 0;}
.hornav .menu-items {float:left;width: 100%;border: 0;}
.hornav .menu-items .item {float:left;padding: 0;}
.hornav .item a {color:#333;font-weight:bold;text-decoration: none;display:block;padding:@demi-margin-bottom/*@demi-margin-bottom*/;}
.hornav .item a:hover {background:#ddd;color:#222;}
.hornav .on {color:#000;background: #fff;}
.hornav .on a {color:#000;}
/* Listes d'items */
.liste {margin-bottom: @margin-bottom/*@margin-bottom*/;}
.liste > h1,
.liste > h2,
.liste > h3,
.liste > h4,
.liste > h5,
.liste > h6 {margin-bottom: 0;}
.liste-items {margin: 0; padding: 0; list-style: none; border-bottom:0;border-top: 1px solid #eee;margin-bottom: @margin-bottom/*@margin-bottom*/;}
.liste .liste-items {margin-bottom: 0;}
.liste-items .item {list-style:square; margin-left:0; padding:@demi-margin-bottom/*@demi-margin-bottom*/ 0; clear:both; overflow:hidden;border-bottom: 1px solid #eee;}
.liste-items .item .h3 { margin: @demi-margin-bottom/*@demi-margin-bottom*/ 0;}
.liste-items .item .h3 a:hover { text-decoration:none;}
.liste-items .item:hover {background-color: #eee;}
.liste-items .item ul {margin-left: @text-indent/*@text-indent*/;list-style-type: disc;}
.liste-items .item ol {margin-left: @text-indent/*@text-indent*/;list-style-type: numeric;}
.liste.articles .spip_logos { float: right; clear: right; margin: .8em 0 4px 16px; }
.liste .articles .item .introduction { margin-top: 0.30em; line-height: 1.40em; padding: 0.5em 0 1.5em 1em;}

@ -0,0 +1,36 @@
/*
Plugin Name: WP-Digg Style Paginator
Plugin URI: http://www.mis-algoritmos.com/2007/09/09/wp-digg-style-pagination-plugin-v-10/
Author: Victor De la Rocha
Author URI: http://www.mis-algoritmos.com
*/
/*CSS Badoo style pagination*/
.pagination .sep,.pagination .label {display:none;}
.pagination {
background-color:#fff;
padding:10px 0 10px 0;
text-align:center;
}
.pagination .lien_pagination {
padding:2px 5px;
margin:0 2px;
text-decoration:none;
border:2px solid #f0f0f0;
}
.pagination .lien_pagination:hover, .pagination .lien_pagination:active {
border:2px solid #444;
}
.pagination .on {
padding:2px 5px;
margin:0 2px;
border:2px solid #222;
color:#fff;
font-weight:bold;
background-color:#999;
}
.pagination .disabled {
display:none;
}

@ -0,0 +1,9 @@
/* Habillage des petitions
---------------------------------------------- */
#signatures { }
#signatures caption h2 { margin: 0; }
#signatures td.signature-date { white-space: nowrap; }
#signatures td.signature-nom small { display: block; }
#signatures .formulaire_recherche { } /*Cf.: spip_formulaires.css*/
#signatures .formulaire_recherche input.text { } /*Cf.: spip_formulaires.css*/

@ -0,0 +1,9 @@
/* Portfolio */
@import "config.less";
.documents_portfolio { clear: both; margin: @margin-bottom/*@margin-bottom*/ auto; text-align: center; }
.documents_portfolio .spip_logos { margin: 6px 3px 0 3px; border: 4px solid #DDD; }
.documents_portfolio a.on .spip_logos { border-color: #222; }
.documents_portfolio a:focus .spip_logos,
.documents_portfolio a:hover .spip_logos,
.documents_portfolio a:active .spip_logos { border-color: #444; }

@ -0,0 +1,79 @@
@import "config.less";
/* Titraille / Intertitres */
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 { font-family: Georgia, Times, serif; }
h1,.h1 { color: #000; }
h2, h2 a, h2 a:focus, h2 a:hover, h2 a:active { color: #222; }
.h2, .h2 a, .h2 a:focus, .h2 a:hover, .h2 a:active { color: #222; }
/* Citations, code et poesie */
.spip_code {color:#777;}
.spip_cadre {color:#777; background-color: #fff; border: 1px solid #ddd; }
/* Tableaux */
thead th, tbody th { background: #666; color:white; }
table.spip tr.row_even td,table.spip tr.row_even th {background: #eee;}
/* ------------------------------------------
/* Habillage des elements du contenu
/* ------------------------------------------ */
.page {-webkit-box-shadow: 0px 0px 30px #909090;-moz-box-shadow: 0px 0px 30px #909090;box-shadow: 0px 0px 30px #909090; border-width:2px;}
.header { margin: 0; padding : @margin-bottom/*@margin-bottom*/ 0;border-bottom: 2px solid #333;position: relative;}
.header .accueil { display: block; width: 67%; }
.header .accueil .spip_logos { vertical-align: bottom; line-height: 1em; margin-bottom: 0;}
.header .accueil #nom_site_spip { vertical-align: bottom; font-size: 2.2em; font-family: Georgia, Times, serif; font-weight: normal; }
.header .formulaire_menu_lang { position: absolute; right: 0; top: 0.90em; display: block; width: 30%; } /*Cf.: spip_formulaires.css*/
.header .formulaire_menu_lang select {width: 100%;}
.hornav {background-color: #ebeeee;}
.hornav .item a:hover {background:#dadddd}
.hornav .on {color:#000;}
.hornav .on a {color:#000;}
#hierarchie { clear: both; margin-bottom: @margin-bottom/*@margin-bottom*/; font-size: 0.846em; }
#hierarchie, #hierarchie a { color: #666; }
.cartouche { margin-bottom: @margin-bottom/*@margin-bottom*/; }
.cartouche .spip_logos { float: right; margin-left: 16px; margin-bottom: 4px; }
.cartouche .info-publi { margin: 0; padding: 0; clear: left; }
.chapo { margin-bottom: @margin-bottom/*@margin-bottom*/; font-weight:bold; color:#666;}
.chapo .spip_cadre {color:#888;}
.ps, .notes { margin-bottom: @margin-bottom/*@margin-bottom*/;}
.notes { clear: both; font-size: 0.846em; }
/* ------------------------------------------
/* Sous-navigation et autres menus
/* ------------------------------------------ */
/* Listes d'articles et extraits introductifs */
.resume .liste-items .item { border-bottom: 0;}
.resume .liste-items .item .h3 { border-bottom:1px solid #888;}
.liste-items .item .info-publi { display:block; float:right; margin-top:0.6em; margin-left:.3em; padding:.3em; background:#ddd;}
.liste-items .item .introduction { font-size: 0.923em;}
.liste.articles .spip_logos { float: right; clear: right; margin: .8em 0 4px 16px; }
.liste .articles .item .introduction { margin-top: 0.30em; line-height: 1.40em; padding: 0.5em 0 1.5em 1em;}
.extra1 .menu {background:#fcfcfc; padding:0 @demi-margin-bottom/*@demi-margin-bottom*/ @demi-margin-bottom/*@demi-margin-bottom*/; border: 1px solid #ddd;}
.extra1 .menu a {/*color:#666;*/} /* ne pas utiliser de selecteur trop precis, et eviter de toucher aux liens */
.extra1 .menu-items {border-bottom:0;}
.extra1 .menu-items .item {list-style:square; margin-left:15px; padding:0; color:#333;}
.formulaire_recherche input.text {width: 170px;}
/* Couleurs des liens
---------------------------------------------- */
a { color: #3996BB; text-decoration: none; }
a:focus,a:hover,a:active { color: #46839B; text-decoration: underline; }
a.spip_out, a.spip_glossaire {
color: #46839B;
background:transparent url(img/spip_out.gif) no-repeat scroll right center;
padding-right:12px;
}

@ -0,0 +1,118 @@
/* --------------------------------------------------------------
typo.css.html
Base typographique
Cf.: http://www.spip-contrib.net/3820
-------------------------------------------------------------- */
@import_spip "css/config.less";
html { font-size: 100.01%; } /* Cf.: http://www.pompage.net/pompe/definir-des-tailles-de-polices-en-CSS/ */
body {background: @background-color/*@background-color*/;font-size: @font-size/*@font-size*/;line-height: @line-height/*@line-height*/;font-family: @font-family/*@font-family*/;color: @color/*@color*/; }
/* Titraille / Intertitres */
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 { margin: 0; padding: 0; font-size: 100%; font-weight: normal; }
hr { height: 1px; margin:@margin-bottom/*@margin-bottom*/ 0; border: 0; background: @color/*@color*/; color: @color/*@color*/; }
/* Titraille Blueprint
Cf. : http://www.blueprintcss.org/tests/parts/elements.html
h1 { font-size: 3em; line-height: 1; margin-bottom: 0.5em; }
h2 { font-size: 2em; margin-bottom: 0.75em; }
h3 { font-size: 1.5em; line-height: 1; margin-bottom: 1em; }
h4 { font-size: 1.2em; line-height: 1.25; margin-bottom: 1.25em; }
h5 { font-size: 1em; font-weight: bold; margin-bottom: 1.5em; }
h6 { font-size: 1em; font-weight: bold; }*/
h1,.h1 {font-size: @h1-font-size/*@h1-font-size*/; line-height: @h1-line-height/*@h1-line-height*/; margin-bottom: @h1-margin-bottom;/*@h1-margin-bottom*/;}
h2,.h2 {font-size: @h2-font-size/*@h2-font-size*/; line-height: @h2-line-height/*@h2-line-height*/; margin-bottom: @h2-margin-bottom;/*@h2-margin-bottom*/;}
h3,.h3 {font-size: @h3-font-size/*@h2-font-size*/; line-height: @h3-line-height/*@h3-line-height*/; margin-bottom: @h3-margin-bottom;/*@h3-margin-bottom*/; font-weight: bold;}
h4,.h4 {font-size: @h4-font-size/*@h4-font-size*/; line-height: @h4-line-height/*@h4-line-height*/; margin-bottom: @h4-margin-bottom;/*@h4-margin-bottom*/;font-weight: bold; }
h5,.h5 { font-size: 1em; font-weight: bold; margin-bottom: @margin-bottom/*@margin-bottom*/; }
h6,.h6 { font-size: 1em; font-weight: bold; }
/* Enrichissements typographiques */
strong, b { font-weight: bold; }
em, i { font-style: italic; }
small, .small { font-size: 80%; }
big, .big { font-size: 150%; }
abbr[title], acronym[title] { border-bottom: .1em dotted; cursor: help; }
@media print { abbr[title]:after { content: " (" attr(title) ")"; } }
dfn { font-weight: bold; font-style: italic; }
del { text-decoration: line-through; }
ins { text-decoration: none; background-color: #FFC; }
sup, sub { font-size: .8em; font-variant: normal; line-height: 0; }
sup { vertical-align: super; }
.ie sup { vertical-align: text-top; }
sub { vertical-align: sub; }
.ie sub { vertical-align: text-bottom; }
.caps { font-variant: small-caps; }
/* Listes */
ul, ol, li, dl, dt, dd {}
ul ul, ol ol, ul ol, ol ul { margin-top: 0; margin-bottom: 0; }
dl dt { font-weight: bold; }
dl dd {}
/* Tableaux */
table { margin-bottom: @margin-bottom/*@margin-bottom*/; width: 100%; }
th { font-weight: bold; }
thead th, tbody th { background: #c3d9ff; }
th,td,caption {padding: @demi-line-height/*@demi-line-height*/; }
tbody tr:nth-child(even) td,
tbody tr.even td { background: #e5ecf9; }
tfoot { font-style: italic; }
caption { background: #eee; }
/* Citations, code et poesie */
q { font-style: italic; }
blockquote { padding: 0 @text-indent/*@text-indent*/; font-style: italic; }
cite { font-style: italic; }
address { font-style: italic; }
pre,code,kbd,samp,var,tt { font-family: @font-family-mono/*@font-family-mono*/; font-size: 1em; }
pre { margin:@margin-bottom/*@margin-bottom*/ 0;
/* Cf.: http://perishablepress.com/press/2010/06/01/wrapping-content/ /
white-space: pre; /* CSS 2.0 */
white-space: pre-wrap; /* CSS 2.1 */
white-space: pre-line; /* CSS 3.0 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: -moz-pre-wrap; /* Mozilla */
white-space: -hp-pre-wrap; /* HP Printers */
word-wrap: break-word; /* IE 5+ */
}
kbd { background-color: @color/*@color*/; color: @background-color/*@background-color*/; }
samp { font-weight: bold; }
var { font-style: italic; }
/* Paragraphes */
p, .p, dl, dd, blockquote, address, pre, table, fieldset { margin-bottom: @margin-bottom/*@margin-bottom*/; }
/* Liens */
a {}
a:hover {}
a[hreflang]:after { content: "\0000a0(" attr(hreflang) ")"; }
@media print {
a, a:visited { color: @color/*@color*/; text-decoration: underline; }
.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */
}
.on { font-weight: bold; }
/**
* Print styles from HTML5 Boilerplate
* Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
*/
@media print {
pre, blockquote { page-break-inside: avoid; }
thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */
tr, img { page-break-inside: avoid; }
@page { margin: 0.5cm; }
p, h2, h3 { orphans: 3; widows: 3; }
h2, h3 { page-break-after: avoid; }
}
/* end */

@ -0,0 +1,22 @@
<plugin>
<nom>Zpip-less</nom>
<slogan>Utiliser Less avec Zpip-dist</slogan>
<auteur>C&#233;dric Morin, Romy T&ecirc;tue</auteur>
<icon>z-less-32.png</icon>
<licence>GNU/GPL</licence>
<version>0.1.0</version>
<etat>dev</etat>
<description>
Selectionne les feuilles de style au format .less de préférence, et les convertit en css à la volée. Si une feuille n'est disponible qu'au format .css, elle est utilisée telle quelle.
Le plugin peut être utilisé en production pour travailler systématiquement avec LESS,
ou comme outil de construction rapide d'un thème CSS, pour générer les feuilles statiques à partir de variables LESS
Les feuilles de styles less sont les versions paramétrées des feuilles de styles CSS de Zpip-dist, elles-même tirées directement du framework BaseCSS
</description>
<prefix>Zless</prefix>
<fonctions>zless_fonctions.php</fonctions>
<categorie>outil</categorie>
<necessite id="Zcore" version="[2.0.0-dev;]" />
<necessite id="lesscss" version="[0.3.0;]" />
</plugin>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

@ -0,0 +1,63 @@
<?php
function balise_CSS($p) {
$_css = interprete_argument_balise(1,$p);
$p->code = "timestamp(direction_css(zless_select_css($_css)))";
$p->interdire_scripts = false;
return $p;
}
/**
* Selectionner de preference la feuille .less (en la compilant)
* et sinon garder la .css classiquement
*
* @param string $css_file
* @return string
*/
function zless_select_css($css_file){
if (function_exists('less_css')
AND substr($css_file,-4)==".css"){
$less_file = substr($css_file,0,-4).".less";
$less_or_css = find_less_or_css_in_path($less_file, $css_file);
if (substr($less_or_css,-5)==".less")
return less_css($less_or_css);
else
return $less_or_css;
}
return find_in_path($css_file);
}
/**
* Faire un find_in_path en cherchant un fichier .less ou .css
* et en prenant le plus prioritaire des deux
* ce qui permet de surcharger un .css avec un .less ou le contraire
* Si ils sont dans le meme repertoire, c'est le .css qui est prioritaire,
* par soucis de rapidite
*
* @param string $less_file
* @param string $css_file
* @return string
*/
function find_less_or_css_in_path($less_file, $css_file){
if ($l = find_in_path($less_file)){
// ok il y a un less,
// voyons si il y a aussi un css
if ($c = find_in_path($css_file)){
// on a un less et un css en concurence
// prioriser en fonction de leur position dans le path
$path = creer_chemin();
foreach($path as $dir) {
// css prioritaire
if ($c == $dir . $css_file) return $c;
if ($l == $dir . $less_file) return $l;
}
spip_log('Resolution chemin less/css impossible',_LOG_ERREUR);
die('paf ?');
}
else
return $l;
}
else
return find_in_path($css_file);
}
Loading…
Cancel
Save