Ich möchte C/C++/Java/C # usw.-Quellcodes auf meiner Website hervorheben.
Wie kann ich das machen?
Ist es eine CPU-intensive Aufgabe, den Quellcode hervorzuheben?
Sie können dies entweder serverseitig oder clientseitig tun. Es ist nicht sehr prozessorintensiv, aber wenn Sie es clientseitig (mit Javascript) machen, wird es eine merkliche Verzögerung geben. Die meisten clientseitigen Lösungen basieren auf der Syntax-Hervorhebungs-Engine von Google Code. Dies scheint die beliebteste zu sein: SyntaxHighlighter
Serverseitige Lösungen sind in der Regel flexibler, insbesondere in Bezug auf die Definition neuer Sprachen und die Konfiguration ihrer Hervorhebung (z. B. verwendete Farben). Ich benutze GeSHi, eine PHP Lösung mit einem mäßig netten Plugin für Wordpress. Es gibt auch einige Bibliotheken, die für Java erstellt wurden, und sogar einige, die auf VIM basieren (normalerweise muss ein Perl-Modul über CPAN installiert werden).
Kurzum: Sie haben einige Möglichkeiten, nach welchen Kriterien? Es ist schwierig, eine solide Empfehlung abzugeben, ohne Ihre Anforderungen zu kennen.
Ich verwende GeSHi ("Generic Syntax Highlighter") auf Pastebin.com
In Pastebin ist der Datenverkehr sehr hoch. Daher speichere ich die Ergebnisse der Umwandlung im Cache, wodurch die Last auf jeden Fall reduziert wird.
Persönlich bevorzuge ich Offline-Tools: Ich sehe nicht den Sinn, den Code (besonders große) für jede gelieferte Seite oder noch schlimmer für jeden Browser (für JS-Bibliotheken) immer wieder zu analysieren, da Diese Bibliotheken verzögern sich häufig (Sie sehen häufig die Rohquelle, bevor sie formatiert wird).
Es gibt eine Reihe von Werkzeugen, um diese Aufgabe zu erledigen, von denen einige bereits erwähnt wurden. Ich verwende nur die Exportfunktion meines Lieblingseditors (SciTE), weil sie nur die von mir sorgfältig eingerichteten Farboptionen berücksichtigt ... :-) Und sie kann auch XML, PDF, RTF und LaTeX ausgeben.
Ich benutze google-code-prettify . Es ist am einfachsten einzurichten und funktioniert hervorragend mit allen Sprachen im C-Stil.
Pygement ist eine gute Python-Bibliothek zum Generieren von HTML-, RTF-, ANSI- (Terminal-Style) oder LaTeX-Code. Es unterstützt eine große Auswahl an Sprachen (C, C++, Lua, Erlang, ...) und Sie können sogar Ihren eigenen Ausgabeformatierer schreiben.
Ich benutze SyntaxHighligher auf meinem Blog .
Führen Sie es einfach durch ein Tool wie: http://www.gnu.org/software/src-highlite/
Wenn Sie PHP verwenden, können Sie mit GeSHi viele verschiedene Sprachen hervorheben. Ich habe es schon einmal benutzt und es funktioniert ganz gut. Ein schnelles googeln wird auch GeSHi-Plugins für wordpress und drupal aufdecken.
Ich würde das Hervorheben nicht als CPU-intensiv betrachten, es sei denn, Sie möchten Megabyte davon auf einmal anzeigen. Und selbst dann wäre die CPU-Auslastung minimal und Ihr Hauptproblem wäre die Übertragungsgeschwindigkeit für alles.