Я хочу выделить на своем веб-сайте исходные коды C / C++ / Java / C# и т. д.
Как я могу это сделать?
Выделение исходного кода требует интенсивного использования ЦП?






Просто запустите его с помощью такого инструмента, как: http://www.gnu.org/software/src-highlite/
Я использую GeSHi ("Generic Syntax Highlighter") на pastebin.com
У pastebin высокий трафик, поэтому я кэширую результаты преобразования, что, безусловно, снижает нагрузку.
Вы можете сделать это на стороне сервера или на стороне клиента. Это не очень загружает процессор, но если вы сделаете это на стороне клиента (используя Javascript), будет заметное отставание. Большинство решений на стороне клиента основаны на механизме подсветки синтаксиса Google Code. Кажется, это самый популярный: SyntaxHighlighter
Серверные решения имеют тенденцию быть более гибкими, особенно в том, что касается определения новых языков и настройки их выделения (например, используемых цветов). Я использую GeSHi, PHP-решение с неплохим плагином для Wordpress. Есть также несколько библиотек, созданных для Java, и даже некоторые, основанные на VIM (обычно требуется установка модуля Perl из CPAN).
Вкратце: у вас довольно много вариантов, каковы ваши критерии? Трудно дать твердую рекомендацию, не зная своих требований.
Если вы используете PHP, вы можете использовать GeSHi для выделения множества разных языков. Я использовал его раньше, и он работает довольно хорошо. Быстрый поиск в Google также обнаружит плагины GeSHi для Wordpress и друпал.
Я бы не стал считать выделение ресурсоемким, если вы не собираетесь отображать мегабайты всего сразу. И даже тогда загрузка процессора будет минимальной, и вашей главной проблемой будет скорость передачи всего этого.
Я использую google-code-prettify. Его проще всего настроить, и он отлично работает со всеми языками C-стиля.
Пигмент - хорошая библиотека Python для генерации кода HTML, RTF, ANSI (терминальный стиль) или LaTeX. Он поддерживает большой выбор языков (C, C++, Lua, Erlang, ...), и вы даже можете написать свой собственный модуль форматирования вывода.
Лично я предпочитаю автономные инструменты: я не вижу смысла анализировать код (особенно большие) снова и снова для каждой обслуживаемой страницы или, что еще хуже, в каждом браузере (для JS-библиотек), потому что, как указано выше, эти библиотеки часто отстают (вы часто видите исходный код до того, как он отформатирован).
Для этой работы существует ряд инструментов, некоторые из которых указаны выше. Я просто использую функцию экспорта моего любимого редактора (SciTE), потому что он просто уважает выбор цвета, который я тщательно настроил ... :-) И он также может выводить XML, PDF, RTF и LaTeX.
Код, который я использовал для этого, был опубликован в статье Раскрашивание исходного кода.