Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

я использую ГеШи («Общий маркер синтаксиса») на Pastebin.com

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

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

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

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

я использую Google-код-уточнение.Его проще всего настроить, и он отлично работает со всеми языками стиля C.

Если вы используете jПравить, вы можете использовать Код2HTML плагин.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top