Підсвічування коду на сайті засобами Js та Css / ~#root -i Підсвічування коду на сайті засобами Js та Css / ~#root -i Підсвічування коду на сайті засобами Js та Css / ~#root -i Підсвічування коду на сайті засобами Js та Css / ~#root -i Підсвічування коду на сайті засобами Js та Css / ~#root -i Підсвічування коду на сайті засобами Js та Css / ~#root -i Підсвічування коду на сайті засобами Js та Css / ~#root -i Підсвічування коду на сайті засобами Js та Css / ~#root -i
  • RU
  • UA
  • EN
  • Створити інтернет-магазин
  • Документація
  • Блог
    • Unix-подібні ОС
    • Php
    • MySQL
    • JavaScript
    • Менеджери пакетів
    • Docker
    • Seo
  • Допоміжні сервіси
    • Короткі посилання
    • Oбмін переглядами YouTube
  • Вхід
  • Реєстрація
  • Головна
  • JavaScript
  • Підсвічування коду на сайті засобами Js та Css

Підсвічування коду на сайті засобами Js та Css

Ведучи свій сайт, описуючи рядки коду, я став помічати, що для кращої читання потрібне мінімальне підсвічування. Трохи погугливши, я натрапив на десятки рішень на базі різних фреймворків. Я не горів бажанням багато цією дрібницею займатися (все ж ліньки - двигун прогресу). Натрапив на найпростіший спосіб такої реалізації засобами Js та Css. Справжній вихідник тут .

Так як у мене на сайті підключений jQuery, я взяв цей код Js :

(function($){

$.fn.syntax = function(){
return this.each(function(){
var jqCode = $(this);
var code = jqCode.html();
code = code
.replace(/(var|function|typeof|new|return|if|for|in|while|break|do|continue|case|switch)([^a-z0-9\$_])/g,'<span class="kwrd-code">$1</span>$2')
.replace(/(\{|\}|\]|\[|\|)/gi,'<span class="kwrd-code">$1</span>')
.replace(/(\/\/[^\n\r]*(\n|\r\n))/g,'<span class="comm-code">$1</span>')
.replace(/('.*?')/g,'<span class="str-code">$1</span>')
.replace(/([az\_\$][a-z0-9_]*)\(/gi,'<span class="func-code">$1</span>(')
.replace(/\t/g,' ');
jqCode.html(code);
});
}

})(jQuery);

$('code.code').syntax();

Можна зрозуміти, що replace за правилами потрібні нам вирази, лапки і просто правила на span з певними класами.

Щоб цей код подіяв, вставте його в js-файл і підключіть на свій сайт.

Рядок $('code.code').syntax() - запускає код для тега code у якого є клас code. <code class='code'></code> .

І ось цей синтаксис :

.str-code{color:red}/* Рядки червоні */
.func-code{color:blue}/* Користувач-функції сині */
.comm-code{color:orange}/* Коменти оранжеві */
.kwrd-code{font-weight:bold}/* Ключові слова напівжирні */
.str-code span{color: red;font-weight:normal}/* Все всередині рядка — рядок */
.comm-code span{color:orange;font-weight:normal}/* Все всередині коментаря — коментар */

Аналогічно слід створити файл css і підключити його до сторінки, де використовується верхній js скрипт. Оскільки всі span, які він створює, оформляються саме цими правилами.

21 Травня 18
521
0

Відгуки

Ім'я
Електронна пошта
Рейтинг
Відгук

Інші статті з категорії

01 Квітня 2021

У input тільки числа на js

Простий скрипт на JS, фільтрація введення інформації в input. Введення лише чисел.

02 Лютого 2020

Перемістити блок у мобільній версії на JQuery

Розглянемо як перенести блок мобільної версії, якщо в десктопній версії він знаходиться в іншому місці. Скористайтеся засобами Jquery.

29 Січня 2019

Gulp Error watch path ENOSPC у gaze.js або grunt.js

Розглянемо можливість вирішення проблеми під час запуску Gulp в Ubuntu 18.04 з помилкою Error: watch /path/ ENOSPC. Розберемо, що таке настройки max_user_watches.

Категорії

  • Unix-подібні ОС
  • Php
  • MySQL
  • JavaScript
  • Менеджери пакетів
  • Docker
  • Seo

Останні коментарі

Добрый день, Сергей. Я на более новых версиях блют...
root-i
23.02.23
Пробовал на transmart колонке. Ничего из перечисле...
Сергей
20.02.23
HenryMit, может быть
root-i
07.02.23
Неофрейдизм — это… Определение, принципы, представ...
HenryMit
07.02.23

Ділюсь інформацією у якій я вимагав допомоги та розбираючись витрачав багато часу. Якщо інформація допомогла хоча б одній людині, то цей сайт створений не дарма.

Подяка на продовження роботи сайту:
Контакти

Telegram Viber Mail

Пошук по сайту

  • Вхід
  • Реєстрація

Сайт працює на chmod -R