web-dev-qa-db-fra.com

Comment mettre en évidence le code source en HTML?

Je souhaite mettre en évidence les codes sources C/C++/Java/C # etc. sur mon site Web.

Comment puis-je faire ceci?

Est-ce que la mise en surbrillance du code source nécessite beaucoup de temps d'UC?

25
Niyaz

Vous pouvez faire cela côté serveur ou côté client. Ce n'est pas très gourmand en ressources processeur, mais si vous le faites côté client (avec Javascript), il y aura un décalage notable. La plupart des solutions côté client tournent autour du moteur de coloration syntaxique de Google Code. Cela semble être le plus populaire: SyntaxHighlighter

Les solutions côté serveur ont tendance à être plus flexibles, notamment en ce qui concerne la définition de nouvelles langues et la configuration de leur mise en surbrillance (par exemple, les couleurs utilisées). J'utilise GeSHi, qui est une solution PHP avec un plugin modérément agréable pour Wordpress. Il existe également quelques bibliothèques construites pour Java, et même certaines basées sur VIM (nécessitant généralement l'installation d'un module Perl à partir de CPAN).

En bref: vous avez plusieurs options, quels sont vos critères? Il est difficile de faire une recommandation solide sans connaître vos exigences.

27
Daniel Spiewak

J'utilise GeSHi ("Generic Syntax Highlighter") sur Pastebin.com

Pastebin a un trafic élevé, je mets donc en cache les résultats de la transformation, ce qui réduit certainement la charge.

11
Paul Dixon

Personnellement, je préfère les outils hors ligne: je ne vois pas l'intérêt d'analyser le code (en particulier les plus gros) encore et encore, pour chaque page servie, ou pire, sur chaque navigateur (pour les bibliothèques JS), car comme indiqué ci-dessus, ces bibliothèques sont souvent à la traîne (vous voyez souvent une source brute avant qu’elle ne soit formatée).

Il existe un certain nombre d'outils pour faire ce travail, certains mentionnés ci-dessus. J'utilise simplement la fonction d'exportation de mon éditeur préféré (SciTE), car elle respecte simplement les choix de couleurs que j'ai soigneusement configurés ... :-). Elle peut également générer des formats XML, PDF, RTF et LaTeX.

6
PhiLho

J'utilise google-code-prettify . C'est le plus simple à configurer et fonctionne très bien avec tous les langages de style C.

5
Kristof Neirynck

Pygment est une bonne bibliothèque Python pour générer du code HTML, RTF, ANSI (style terminal) ou LaTeX. Il supporte un large éventail de langues (C, C++, Lua, Erlang, ...) et vous pouvez même écrire votre propre formateur de sortie.

5
Stacker

Si vous utilisez jEdit , vous pouvez utiliser le plugin Code2HTML .

1
Javier

J'utilise SyntaxHighligher on mon blog .

0
Brad Wilson

Il suffit de l’exécuter via un outil tel que: http://www.gnu.org/software/src-highlite/

0
DJ Capelis

Si vous utilisez PHP, vous pouvez utiliser GeSHi pour mettre en surbrillance de nombreuses langues. Je l'ai déjà utilisé et ça marche plutôt bien. Une recherche rapide permettra également de découvrir les plugins GeSHi pour wordpress et drupal .

Je n’envisagerais pas de mettre en évidence une utilisation intensive du processeur, à moins que vous n’ayez l’intention d’afficher simultanément des mégaoctets. Et même dans ce cas, la charge du processeur serait minime et votre principal problème serait la vitesse de transfert.

0
Mark Embling