Le besoin
J’ai eu le besoin de faire les mises en forme suivantes : Aligner à droite, Centrer, Encadrer (le bloc ou un morceau) et mettre en exposant.
Raccourcis désormais disponibles
- [/texte/] : aligner le texte à droite
- [|texte|] : centrer le texte
- [(texte)] : encadrer le texte (occupe toute la largeur de la page, à mettre autour d’un paragraphe)
- [*texte*] : encadrer/surligner le texte (une partie à l’intérieur d’un paragraphe)
- [^texte^] : mettre en exposant le texte sélectionné
Le style pour les encadrements
Ces styles sont à rajouter dans votre feuille de style.
Vous pouvez bien sûr les personnaliser. En particulier caractencadre-spip peut servir à faire du surlignage plutôt que de l’encadrement. C’est donc à comprendre comme une mise en évidence.
.texteencadre-spip {
background: #FFE;
border-bottom-color: #999999;
border-bottom-style: solid;
border-bottom-width: 2px;
border-left-color: #EEEEEE;
border-left-style: solid;
border-left-width: 1px;
border-right-color: #999999;
border-right-style: solid;
border-right-width: 2px;
border-top-color: #EEEEEE;
border-top-style: solid;
border-top-width: 1px;
padding: .25em;
}
.caractencadre-spip {
border: 1px solid #666;
padding: 0px .5em 0px .5em;
}
Le code source de mes_fonctions.php3
<?php
// Mes_fonctions.php3
/*
* +----------------------------------+
* Nom du Filtre : HTMLEntitiesFr
* PyratTypo
* +----------------------------------+
* Date : lundi 6 septembre 2003
* Auteur : jpyrat + webmaster@nospam.pyrat.net
* +-------------------------------------+
* Fonctions de ces filtres :
* Ils rajoutent quelques racourcis typo à SPIP et rendent le code généré par SPIP validable HTML 4.01 transitional
* Pour SPIP 1.6
* Appel : |HTMLEntitiesFr (qui appelle aussi PyratTypo)
* ou |PyratTypo (si vous ne voulez que lui)
*
* Syntaxe des raccourcis :
* [/texte/] : aligner le texte à droite
* [|texte|] : centrer le texte
* [(texte)] : encadrer le texte (occupe toute la largeur de la page, à mettre autour d'un paragraphe)
* [*texte*] : encadrer/surligner le texte (une partie à l'intérieur d'un paragraphe)
* [^texte^] : mettre en exposant le texte sélectionné
*
* Styles pour les encadrements à rajouter dans votre feuille de style :
* .texteencadre-spip {
* background: #FFE;
* border-bottom: 2px solid #999999;
* border-left: 1px solid #EEEEEE;
* border-right: 2px solid #999999;
* border-top: 1px solid #EEEEEE;
* padding: .25em;
* }
* .caractencadre-spip {
* border: 1px solid #666;
* padding: 0px .5em 0px .5em;
* }
*
* +-------------------------------------+
*
* Pour toute suggestion, remarque, proposition d'ajout
* reportez-vous au forum de l'article :
* http://www.uzine.net/spip_contrib/article.php3?id_article=235
*/
function PyratTypo($str) {
$cherche1 = array(
/* 15 */ "/\[\//",
/* 16 */ "/\/\]/",
/* 17 */ "/\[\|/",
/* 18 */ "/\|\]/",
/* 19 */ "/\[\(/",
/* 20 */ "/\)\]/",
/* 21 */ "/\[\*/",
/* 22 */ "/\*\]/",
/* 23 */ "/\[\^/",
/* 24 */ "/\^\]/",
/* 25 */ "/<p class=\"spip\"><ul class=\"spip\">/",
/* 26 */ "/<\/ul>( *)<\/p>/",
/* 27 */ "/<p class=\"spip\"><ol class=\"spip\">/",
/* 28 */ "/<\/ol>( *)<\/p>/",
/* 29 */ "/<p class=\"spip\"><table class=\"spip\">/",
/* 30 */ "/<\/table>( *)<\/p>/",
/* 31 */ "/<p class=\"spip\">( *)<div/",
/* 32 */ "/<\/div>( *)<\/p>/"
);
$remplace1 = array(
/* 15 */ "<div style=\"text-align:right;\">",
/* 16 */ "</div>",
/* 17 */ "<div style=\"text-align:center;\">",
/* 18 */ "</div>",
/* 19 */ "<div class=\"texteencadre-spip\">",
/* 20 */ "</div>",
/* 21 */ "$1<span class=\"caractencadre-spip\">",
/* 22 */ "</span>",
/* 23 */ "$1<sup>",
/* 24 */ "</sup>",
/* 25 */ "<ul class=\"spip\">",
/* 26 */ "</ul>",
/* 27 */ "<ol class=\"spip\">",
/* 28 */ "</ol>",
/* 29 */ "<table class=\"spip\">",
/* 30 */ "</table>",
/* 31 */ "<div",
/* 32 */ "</div>"
);
return preg_replace($cherche1, $remplace1, $str);
}
function HTMLEntitiesFr($str) {
if($str!="") {
$entities = array(
128 => 'euro',
130 => 'sbquo',
131 => 'fnof',
132 => 'bdquo',
133 => 'hellip',
134 => 'dagger',
135 => 'Dagger',
136 => 'circ',
137 => 'permil',
138 => 'Scaron',
139 => 'lsaquo',
140 => 'OElig',
145 => 'lsquo',
146 => 'rsquo',
147 => 'ldquo',
148 => 'rdquo',
149 => 'bull',
150 => 'ndash',
151 => 'mdash',
152 => 'tilde',
153 => 'trade',
154 => 'scaron',
155 => 'rsaquo',
156 => 'oelig',
159 => 'Yuml',
171 => 'laquo',
187 => 'raquo',
192 => 'Agrave',
194 => 'Acirc',
198 => 'AElig',
199 => 'Ccedil',
201 => 'Eacute',
202 => 'Ecirc',
200 => 'Egrave',
203 => 'Euml',
206 => 'Icirc',
207 => 'Iuml',
212 => 'Ocirc',
214 => 'Ouml',
217 => 'Ugrave',
219 => 'Ucirc',
220 => 'Uuml',
224 => 'agrave',
226 => 'acirc',
230 => 'aelig',
231 => 'ccedil',
232 => 'egrave',
233 => 'eacute',
234 => 'ecirc',
235 => 'euml',
238 => 'icirc',
239 => 'iuml',
246 => 'ouml',
249 => 'ugrave',
244 => 'ocirc',
251 => 'ucirc',
252 => 'uuml'
);
$new_text = '';
for($i = 0; $i < strlen($str); $i++) {
$num = ord($str{$i});
if(array_key_exists($num, $entities)) {
$new_text .= '&'.$entities[$num].';';
}
elseif($num < 127 || $num > 252) {
$new_text .= $str{$i};
}
}
return PyratTypo($new_text);
}
}
?>
Quelques explications
Pourquoi j’ai fait tout ça ?
La fonction HTMLEntitiesFr transforme en entités HTML les caractères spéciaux tels que «éèàçÇÀÉ». J’ai eu à le faire car mon site ne s’affichais pas corectement sur Mac sans ça.
Dans PyratTypo :
Utilisation
L’appel se fait en rajoutant |HTMLEntitiesFr à votre balise dans les squelettes (ex : [(#TEXTE|HTMLEntitiesFr)]
). HTMLEntitiesFr exécute aussi PyratTypo.
Vous pouvez aussi n’appeler que PyratTypo si la transformation en entité HTML ne vous convient pas.
Ceci tourne sur mon site perso
No discussion
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Follow the comments: |