Подсветка кода
Реализуйте библиотеку для подсветки кода языков программирования.
Основные возможности проекта
- Библиотека для подсветки синтаксиса кода.
- Поддержка нескольких языков программирования.
- Несколько тем оформления (светлая, темная).
- Автоматическое определение языка.
- Публикация на 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).
- Корректности подсветки для каждого поддерживаемого языка.
- Работе с большими объемами кода.
Дополнительные возможности
- Копирование кода в буфер обмена.
- Подсветка ошибок в коде.
- Кастомные правила подсветки (добавление своих ключевых слов).