Particularités m'ayant fait choisir Prism
C'est la balise <code>
et non la balise<pre>
qui est est affectée d'une classe.
Et l'une des particularités de Prism est que la classe utilisée est conforme aux spécifications W3C de l'élément <code> : elle commence par le mot-clé language-
. Voici donc les différentes classes que j'ai choisi d'utiliser:
class="language-markup"
: concerne le HTML ou le XML.class="language-css"
: concerne le code css.class="language-markup"
: concerne le PHP.class="language-javascript"
: concerne le code JavaScript.class="language-java"
: concerne le code Java.
La reconnaissance de code intégré dans un autre langage est pris en charge également (CSS dans HTML ou JavaScript dans HTML par exemple).
Utilisation de Prism
Mais où placer ce code d'identification ? Fort logiquement, on pourra l'ajouter aux balises <code>
. Mais une autre alternative, et c'est là encore un des grands atout de Prism, s'offre à vous. Vous pouvez indiquer un type de coloration syntaxique pour toute une partie de la page en plaçant la classe dans un des éléments ancêtre. Voici deux exemples fonctionnels qui seront plus parlant:
Identification dans les balises <code>
Coloration syntaxique de code HTML en plaçant l'identificateur dans chaque balise <code>
. On constate que pour le bloc de code final, le balisage avec l'élément pre
ne suffit pas, il doit contenir un élément code
pour respecter les spécifications.
Le marquage de chaque balise <code>
est relativement fastidieux dans ce cas. Il vaut mieux opter pour la solution proposée ci-après.
Identification dans une balise ancêtre
Ici, seule la balise <section>
sera affublée de la classe language-markup
ce qui entraînera la coloration de toutes les parties encadrées par la balise <code>
. Beaucoup moins de travail, ne trouvez-vous pas ? Voici donc le même exemple avec la simplification proposée.
@import url(http://fonts.googleapis.com/css?family=Questrial);
@import url(http://fonts.googleapis.com/css?family=Arvo);
@font-face {
src: url(http://lea.verou.me/logo.otf);
font-family: 'LeaVerou';
}
/*
Shared styles
*/
section h1,
#features li strong,
header h2,
footer p {
font: 100% Rockwell, Arvo, serif;
}
/*
#languages-list li[data-id="javascript"] {
border-bottom: 1px solid #aaa;
padding-bottom: 1em;
margin-bottom: 1em;
margin-right: 1em;
}
Les plugins ajoutent des fonctionnalités supplémentaires à l'outil.
En voici trois que j'utilise:
Ressources
- Line Highlight : permet de mettre en surbrillance une ou plusieurs lignes.