it-swarm-ru.tech

Как выделить исходный код в HTML?

Я хочу выделить исходные коды C/C++/Java/C # и т.д. На моем веб-сайте.

Как я могу это сделать?

Это интенсивная загрузка процессора для выделения исходного кода?

25
Niyaz

Вы можете сделать это на стороне сервера или на стороне клиента. Это не очень интенсивно использует процессор, но если вы сделаете это на стороне клиента (используя Javascript), будет заметное отставание. Большинство решений на стороне клиента вращаются вокруг механизма подсветки синтаксиса Google Code. Это, кажется, самый популярный: SyntaxHighlighter

Серверные решения имеют тенденцию быть более гибкими, особенно в плане определения новых языков и настройки их выделения (например, используемых цветов). Я использую GeSHi, который является PHP решением с умеренно хорошим плагином для Wordpress. Есть также несколько библиотек, построенных для Java, и даже некоторые, основанные на VIM (обычно требующие установки модуля Perl из CPAN).

Короче говоря: у вас есть довольно много вариантов, каковы ваши критерии? Трудно дать твердую рекомендацию, не зная ваших требований.

27
Daniel Spiewak

Я использую GeSHi («Обобщение синтаксиса») на Pastebin.com

У Pastebin большой трафик, поэтому я кеширую результаты преобразования, что, безусловно, снижает нагрузку.

11
Paul Dixon

Лично я предпочитаю автономные инструменты: я не вижу смысла анализировать код (особенно большие) снова и снова для каждой обслуживаемой страницы или, что еще хуже, в каждом браузере (для библиотек JS), потому что, как указано выше, эти библиотеки часто запаздывают (вы часто видите необработанный исходный код перед его форматированием).

Есть несколько инструментов для этой работы, некоторые из которых указаны выше. Я просто использую функцию экспорта моего любимого редактора (SciTE), потому что он просто учитывает выбор цвета, который я тщательно настроил ... :-) И он также может выводить XML, PDF, RTF и LaTeX.

6
PhiLho

Я использую google-code-prettify . Он прост в настройке и прекрасно работает со всеми языками в стиле Си.

5
Kristof Neirynck

Pygment - хорошая библиотека Python для генерации кода HTML, RTF, ANSI (в стиле терминала) или LaTeX. Он поддерживает широкий спектр языков (C, C++, Lua, Erlang, ...), и вы даже можете написать свой собственный форматер вывода.

5
Stacker

Если вы используете jEdit , вы можете использовать плагин Code2HTML .

1
Javier

Я использую SyntaxHighligher on мой блог .

0
Brad Wilson

Просто запустите его с помощью такого инструмента, как: http://www.gnu.org/software/src-highlite/

0
DJ Capelis

Если вы используете PHP, вы можете использовать GeSHi , чтобы выделить много разных языков. Я использовал его раньше, и он работает довольно хорошо. Быстрый поиск в Google также обнаружит плагины GeSHi для wordpress и drupal .

Я бы не подумал, что подсветка потребляет слишком много ресурсов процессора, если вы не собираетесь отображать мегабайты всего этого сразу. И даже в этом случае загрузка процессора будет минимальной, и вашей главной проблемой будет скорость передачи данных.

0
Mark Embling