Подсветка синтаксиса
Плагин выделения синтаксиса
Плагин Syntax Highlighter с Prism.js интеграцией является универсальным дополнением к вашему веб-сайту, обеспечивающим выделение фрагментов кода и их легкую читаемость. Благодаря привлекательному визуальному представлению кода этот плагин гарантирует оптимальное взаимодействие как разработчиков, так и читателей. Ниже приведено подробное руководство по включению и настройке плагина выделения синтаксиса для максимальной полезности.
Включение плагина
- Откройте приложение Publii и перейдите в раздел Инструменты и плагины.
- Найдите плагин выделения синтаксиса в списке установленных плагинов.
- Нажмите кнопку переключения в левом нижнем углу панели плагинов, чтобы активировать его.
Настройки выделения синтаксиса
После включения плагина выделения синтаксиса вы можете получить доступ к экрану его настроек. Здесь настройки удобно разделены на три категории: "Конфигурация темы", "Параметры отображения" и "Дополнительные параметры".
Настройка темы
Группа "Конфигурация темы" позволяет изменять внешний вид выделенного кода. Вот настройки, которые вы можете настроить в рамках этой группы:
- Темы: Выберите одну из шести отличительных цветовых тем, чтобы изменить внешний вид выделенного кода. Доступные варианты включают бежевый, черный, коричневый, серый, фиолетовый и белый.
Параметры отображения
В разделе "Параметры отображения" представлено несколько способов настройки отображения вашего кода. Настройки, доступные в этой группе, могут помочь сделать ваш код более читаемым и доступным для других:
- Показывать номера строк: Включите эту функцию для нумерации каждой строки вашего кода. Это дает читателям более доступную точку отсчета.
- Кнопка "Копировать в буфер обмена": Позволяет пользователям копировать фрагменты кода всего одним щелчком мыши.
- Встроенный просмотр цвета: Эта функция удобна для таблиц стилей и позволяет читателям визуализировать цветовые коды с помощью встроенного предварительного просмотра.
- Автоматическое связывание: преобразуйте URL-адреса и электронные письма в вашем коде в интерактивные ссылки.
- Показывать скрытые символы: Эта функция выявляет скрытые символы, такие как табуляции и разрывы строк. Это особенно полезно для тех, кто стремится глубже понять базовые структуры кода.
Дополнительные параметры
Раздел "Дополнительные параметры" позволяет настроить способ загрузки скриптов плагина. Вот настройки, доступные в этой группе:
- Загрузка: решите, куда вы хотите загружать скрипты выделения синтаксиса:
- Только на страницах публикаций
- На всех страницах (исключая страницы "404’ и ‘поиск’)
Помните, после внесения желаемых изменений крайне важно нажать на кнопку "Сохранить" в правом нижнем углу экрана настроек, чтобы убедиться, что ваши изменения вступили в силу.
Использование плагина выделения синтаксиса
Плагин выделения синтаксиса в Publii предлагает универсальные опции для интеграции кода в ваш контент, будь то с помощью редактора блоков или расширенного редактора WYSIWYG.
Интеграция с редактором блоков
С редактором блоков встраивать код просто. Когда вы пишете свой код внутри блока кода, он автоматически форматируется и выделяется в соответствии с указанным языком. Этот метод гарантирует корректное отображение кода при минимальном ручном вмешательстве.
Интеграция с редактором WYSIWYG
Редактор WYSIWYG теперь включает специальную функцию для встраивания кода. К ней можно получить доступ с помощью кнопки в меню редактора. При нажатии на эту кнопку появляется всплывающее окно, позволяющее выбрать язык программирования из выпадающего меню и ввести свой код в текстовую область. Этот метод автоматически обертывает ваш код необходимой разметкой для подсветки синтаксиса.
Встраивание кода вручную
Ручное встраивание кода по-прежнему доступно для пользователей, предпочитающих более практичный подход или не использующих редактор блоков. Введите следующую разметку в редакторе WYSIWYG и добавьте соответствующий класс для языка вашего кода.:
Примечание: Класс "language-sufix" представляет язык, на котором вы написали свой код. Суффикс, сокращение языка в таблице выше, следует добавить в конец класса. Например, класс для HTML-кода будет "language-html".
Этот плагин поддерживает следующие языки (точно так же, как редактор блоков):
| Language | Suffix |
|---|---|
| Apache Configuration | apacheconf |
| Bash | bash |
| BASIC | basic |
| Batch | batch |
| BBcode | bbcode |
| C | c |
| C-like | clike |
| C++ | cpp |
| ColdFusion Script | cfscript |
| CSS | css |
| Dart | dart |
| Docker | docker |
| Elm | elm |
| GDScript | gdscript |
| Git | git |
| GLSL | glsl |
| Go | go |
| GraphQL | graphql |
| HAML | haml |
| Handlebars | handlebars |
| Haskell | haskell |
| HTML | html |
| HTTP | http |
| INI | ini |
| Java | java |
| JavaScript | javascript |
| JavaScript Extras | js-extras |
| JSONP | jsonp |
| JSX | jsx |
| JSON | json |
| Kotlin | kotlin |
| LaTeX | latex |
| Less | less |
| Lisp | lisp |
| Lua | lua |
| Makefile | makefile |
| Markdown | markdown |
| Markup | markup |
| Markup Templating | markup-templating |
| MATLAB | matlab |
| NASM | nasm |
| Nginx | nginx |
| Objective-C | objective-c |
| Pascal | pascal |
| Perl | perl |
| PHP | php |
| PowerShell | powershell |
| Pug | pug |
| Python | python |
| R | r |
| Regular Expressions | regex |
| RSS | rss |
| Ruby | ruby |
| SASS | sass |
| SCSS | scss |
| Scala | scala |
| Scheme | scheme |
| SQL | sql |
| Swift | swift |
| Twig | twig |
| TypeScript | typescript |
| VB.NET | vbnet |
| Visual Basic | visual-basic |
| YAML | yaml |
Настройка внешнего вида выделения синтаксиса
Плагин выделения синтаксиса позволяет настраивать внешний вид блоков кода с помощью переменных CSS. Это дает вам полный контроль над внешним видом вашего кода и позволяет создавать единый стиль для всего вашего веб-сайта.
Плагин предлагает шесть предопределенных тем для подсветки синтаксиса. Вы можете легко адаптировать и переопределять эти темы, скопировав CSS-блоки (переменные) ниже в пользовательский инструмент CSS.
Если вы хотите использовать другую тему для темного режима (например, черную тему), сохраняя другую тему в светлом режиме, вы можете добиться этого с помощью prefers-color-scheme медиа-запроса. Вот как вы можете применить черную тему для темного режима: