Définition
SPOILER [1] : Message indiquant la fin d’une histoire ou révélant des rebondissements qu’on préférerait ne pas connaître pour préserver l’effet de surprise lors de la découverte d’un film, d’un roman... Il est de bon ton de prévenir les gens qu’on va faire ces révélations, de façon que ceux qui préfèrent « ne pas savoir » n’aient pas leur plaisir gâché.
Ce filtre spoiler, appliqué à SPIP, permet donc, de cacher du texte par défaut, lors de l’affichage d’un article par exemple, et au clic de la souris, ce texte est révélé.
Le résultat en image :
Filtre pour mes_fonctions.php3
function spoiler ($letexte) {
$letexte = preg_replace("/<spoiler>/", "<div onClick=\"this.nextSibling.style.display=((this.nextSibling.style.display=='none')?'':'none');\"><a href='javascript:;'>Cliquez pour montrer/cacher</a></div><div style='display:none;'>", $letexte);
$letexte = preg_replace("/<\/spoiler>/", "</div>", $letexte);
return $letexte;
}
Compatibilité navigateurs
O.S. | Navigateur | Version | Compatible |
---|---|---|---|
Windows | Internet Explorer | 6 | Oui |
Windows | Firefox | 0.9 | Oui |
Linux | Mozilla | 1.7.2 | Oui |
Linux | Konqueror | 3.2.3 | Oui |
Utilisation
D’une part, ajouter dans vos squelettes, article.html par exemple, le filtre suivant |spoiler
à #TEXTE
: [(#TEXTE|spoiler)]
.
D’autres part, lors de la rédaction de vos articles, vous devez utiliser la syntaxe suivante :
Quel est l'âge du capitaine ?
<spoiler>Réponse : 53 ans</spoiler>
Je me doute bien que certains trouveront d’autres utilisations à cette contrib’ (i.e. ailleurs que dans les articles). On doit également pouvoir cacher/montrer autre chose que du texte (des images par exemple).
Améliorations possibles
Permettre de spécifier le titre de ce spoiler. Ici, j’ai mis en dur « Cliquez pour montrer/cacher », mais on pourrait prévoir que la balise spoiler se comporte sous la forme :
<spoiler={titre}>{contenu}</spoiler>
N’hésitez pas à proposer l’expression régulière appropriée.
Aucune discussion
Ajouter un commentaire
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.
Suivre les commentaires : |