РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
124 of 126 menu

Подсветка кода

Реализуйте библиотеку для подсветки кода языков программирования.

Основные возможности проекта

  • Библиотека для подсветки синтаксиса кода.
  • Поддержка нескольких языков программирования.
  • Несколько тем оформления (светлая, темная).
  • Автоматическое определение языка.
  • Публикация на GitHub с документацией.

Поддерживаемые языки

Библиотека должна поддерживать подсветку для языков:

  • JavaScript.
  • PHP.
  • Python.
  • Java.
  • C++.
  • HTML/CSS.
  • SQL.

Функциональность библиотеки

Библиотека должна предоставлять следующие возможности:

  • Подсветка ключевых слов, строк, комментариев, чисел, операторов.
  • Автоматическое определение языка по содержимому или атрибуту.
  • Вывод в виде HTML с CSS-классами для стилизации.
  • Поддержка разных тем оформления.

Параметры настройки

При инициализации можно передавать параметры:

  • language - язык программирования (auto для автоматического определения).
  • theme - тема оформления (light, dark, или кастомная).
  • lineNumbers - показывать ли номера строк.

Использование библиотеки

Пример использования библиотеки:

  • Подключить CSS-файл с темой оформления.
  • Подключить JS-файл с библиотекой.
  • Обернуть код в тег с указанием языка.
  • Вызвать функцию подсветки.

Публикация на GitHub

Библиотека должна быть выложена на GitHub с:

  • README.md с описанием и инструкцией по установке.
  • Демо-страницей с примерами для всех поддерживаемых языков.
  • Исходным кодом библиотеки.

Тестирование

Библиотека должна быть протестирована на:

  • Разных браузерах (Chrome, Firefox, Safari, Edge).
  • Корректности подсветки для каждого поддерживаемого языка.
  • Работе с большими объемами кода.

Дополнительные возможности

  • Копирование кода в буфер обмена.
  • Подсветка ошибок в коде.
  • Кастомные правила подсветки (добавление своих ключевых слов).
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить