Paramètre de couleur de coloration syntaxique pour la balise <code> en HTML
P粉032649413
2023-08-22 16:48:45
<p>Dans un extrait de code comme celui-ci...</p>
<pre class="brush:cs;toolbar:false;">
{
interneFoo()
{
pour (int i = 0 ; i < 42 ; ++i );
}
}
≪/pré>
<p>... Divers mots-clés, etc. sont colorés lorsqu'ils sont affichés dans mon navigateur. </p>
<p>Lorsque je clique sur "Afficher la source", je ne vois aucun code HTML spécial pour réaliser cette coloration. </p>
<p>Alors, comment cette mise en évidence des couleurs d'une syntaxe spécifique est-elle implémentée ? Par exemple, est-il intégré au navigateur ou est-il implémenté via un code JavaScript spécifique au site Web qui modifie le DOM dans le navigateur ? </p>
<p>J'ai trouvé qu'il était difficile de répondre à cette question via une recherche Google. </p>
Il existe une très bonne FAQ sur meta.SE Qu'est-ce que la coloration syntaxique et comment ça marche ? .
C'est très détaillé. Pour plus de commodité, je citerai les parties les plus pertinentes par rapport à votre question :
Comment ça marche ?
Lors de la création ou de la modification d'un message, la coloration syntaxique est attribuée à l'aperçu 5 secondes après que vous ayez arrêté de taper, en fonction du tag de la question.
Stack Exchange ne dispose pas de son propre moteur de coloration syntaxique. Il utilise highlight.js et n'utilise pas nécessairement la dernière version de la bibliothèque. Par conséquent, les bogues et demandes de fonctionnalités concernant la coloration syntaxique ne peuvent pas être traités par Stack Exchange.
Pourquoi mon code n'est-il pas mis en évidence correctement ?
[Continuer la lecture du message original... ]
Stack Overflow utilise la bibliothèque JS prettify de Google pour la coloration syntaxique. Il est exécuté après la transmission du code HTML du serveur au client. C'est pourquoi vous ne le voyez pas dans le code source HTML d'origine. Si vous avez installé un plugin de navigateur comme FireBug, vous pouvez inspecter le DOM une fois Prettify terminé.
Mise à jour 2020-09-14 :Stack Overflow est passé de prettify de Google à highlight.js.