Question

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

Comment puis-je faire cela?

Le travail sur le code source nécessite-t-il beaucoup de ressources de la part du processeur?

Était-ce utile?

La solution

Vous pouvez le faire 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, en particulier 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, 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.

Autres conseils

J'utilise GeSHi ("Generic Syntax Highlighter") le 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.

Personnellement, je préfère les outils hors ligne: je ne vois pas l’intérêt d’analyser le code (surtout les plus gros) encore et encore, pour chaque page servie, ou pire, pour chaque navigateur (pour les bibliothèques JS), car souligné 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 plusieurs outils pour effectuer 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.

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

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

Si vous utilisez jEdit , vous souhaiterez peut-être utiliser le plug-in Code2HTML .

Exécutez-le simplement à l'aide d'un outil comme: http://www.gnu.org/ logiciel / src-highlite /

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

Je ne considérerais pas que le surlignage nécessite beaucoup de ressources 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 pour tout cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top