Подсветка синтаксиса for Ucoz

     Пост обновлен. Хочу представить вам мою разработку для системы uCoz - скрипт детальной подсветки кода. Цветовая схема подсветки аналогична схеме из программы Dreamweaver 8. Скрипт умеет подсвечивать css код, javascript код и условные коды системы uCoz. Так же скрипт способен выводить в отдельном окне выделенный исходный код и переключать режим отображения кода: с переносом длинных строк и без. Благодаря удобному вызову, скрипт может быть вызван в любой момент. Вот пример работы подсветки:
Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Презентация подсветки</title>
<style type="text/css">
html, body {margin:0;padding:0;background:#FFFFFF;font:11px 'Verdana';}
/*  
  * многострочные комментраии работают только
  * в css и javascript блоках как и должны.
  */
.stylename {width:100px;height:auto !important;} /* выделяются все стили */
#myid {height:100%;width:expression(document.body.offsetWidth/2+'px');}
/* подсвечивается скрипт в css выражениях */
</style>
</head>
<body>
<!-- html теги подобного вида работают только в html, хотя  
и сереют в javascript как и в Dreamweaver8  
Далее идут спец теги:
-->
<form method="post" name="test" target="_blank">
  <input type="checkbox" value="" />
  <textarea name="test" cols="6" rows="7">
  текст в текстареа блоке
  </textarea>
</form>
<a href="http://studioad.ru" style='font-size:20px;'>Ссылка</a>
Обратите внимание, что в ссылке распознался атрибут style

А вот пример использования условных кодов системы ucoz:
Это форумЭто не форум

Это обычный текст со скобками {} [] (), кавычками "текст" 'текст' и знаками математических функций + - \ *
<img src="http://studioad.ru/image.jpg" alt="Описание" />
<table width="470" border="2" cellspacing="0" cellpadding="1">
<col/><col/>
  <tr>
  <td>Содержимое ячейки</td>
  </tr>
  <tr>
  <td>Содержимое ячейки</td>
  </tr>
</table>
<!-- теги отображаются правильно, теперь js -->
<script type="text/javascript">
// подсвечивает методы и ключевые слова

var number_8 = "11";
var number_9 = .5/9*4+27.2+parseInt(number_8);
// обратите внимание, как подсвечиваются цифры в именах переменных
// и просто в формулах, кстати да! =) - однострочные комментарии!
var a = document.getElementById('bla').replace(/(something|smth|anything)/ig,'Что либо');
var z = //gim; //пустое регулярное выражение
var p = "var q=/regular_expression/gm";
var bla45 = [/regular/g,/regular/im];
// правильная подсветка RegExp!
var b = "http://studioad.ru + $COMMENTS_NUM$"; // отличает однострочные комментарии от ссылок и распознает ucoz коды!
</script>
</body>
</html>

Установка на свой сайт

Сначала скопируйте этот код в шапку страниц, на которых собираетесь использовать скрипт (так же можете подключить отдельным файлом):
Code
<style type='text/css' media='screen'>
.bbCodeName{display:none!important;}
.codeMessage {white-space:nowrap;overflow:auto;max-height:none!important;margin:5px 0;padding:10px;background-color:#F3F3F3;color:#333;border:1px dashed #999!important;text-align:left;overflow-x:scroll\9}
.rowOne {background:#fff;}
.rowTwo {background:#f6f6f6;}
.codeMessage table{margin:0;border-collapse:collapse;width:100%;}
.codeMessage td {padding:0 5px 1px;font:12px 'Courier New',monospace;}
.decimal {width:1%;background:#3399ff;color:#fff;vertical-align:top;text-align:right;}
css{color:#F0F;}
js,htm{color:#000;}
figures {color:#f00;}
js exp {color:#060;}
js exppm {color:#960;}
symbols {color:#0047BD;}
tags {color:#0047BD;}
brackets {color:#0047BD;}
reserved {color:#0047BD;}
values {color:#0047BD;}
methods {color:#099;}
diffkeys {color:#909;}
important {color:#f00;}
ucoz {color:#8a0;}
params {color:#019;}
doctypes {color:#099;}
tables {color:#099;}
forms {color:#F90;}
anchors {color:#060;}
imgs {color:#909;}
styles {color:#909;}
styles commas, styles commas *{color:#060!important;}
csscommas, csscommas * {color:#060!important;}
scripts {color:#900;}
tags commas,js commas {color:#0047BD}
commas exp,commas exppm {color:#0047BD!important;}
csssymbols {color:#F0F;}
linecom,linecom *{color:#999!important;}
htmlcom,htmlcom *{color:#999!important;}
mlinecom,mlinecom *{color:#999!important;}
.ulight{color:#AAA;padding:5px 0 0;font-family:Arial !important;}
.ulight a{font-weight:bold;outline:0;}
.ulight a:link, .ulight a:visited, .ulight a:active{text-decoration:none;color:#888;}
.ulight a:hover{text-decoration:underline;color:#888;}
</style>
Затем в самый низ каждой страницы, после тега <body>, добавьте данный код (ну или вы можете аналогично подключить скрипт со своего сайта, заведомо его скачав):
Code
<script type="text/javascript" src="http://studioad.ru/diff/uLight.js?v10"></script>
Код отформатирован.

Первая версия:
- исправлена ошибка подсветки RegExp
- исправлено отображение цифр
- исправено отображение точки в десятичных дробях
- убраны лишние пробелы и исправлен баг подсветки методов
- испавлен баг лишних переносов строки при копировании css

Вторая версия:
- исправлен баг неправильного размера текстареа в выводимом окне
- добавлена подсветка setInterval

Третья версия:
- исправлена подсветка кавычек в style
- скрипт запакован и убран в файл

Четвертая версия:
- обновлен css
- исправлено отображение регулярных выражений

Пятая версия (важное обновление):
- обновлен css
- исправлено много багов
- добавлен режими отображения кода
- функции переписаны в объект
- добавлена подсветка ucoz кодов

Шестая версия (важное обновление):
- исправлено много багов по подсветке regexp

Седьмая версия (важное обновление):
- исправлены баги по подсветке regexp в сложных ситуациях
- добавлена подсветка css expressions
- исправлены множественные баги подсветки разных элементов
- переписан css и создан новый набор элементов

Восьмая версия (важное обновление):
- добавлена нумерация строк
- исправлено много багов

Девятая версия:
- что то исправил, не помню уже...

Десятая версия:
- умудрился забыть возвращать ucoz коды в css и в js, в этой версии эта досадная ошибка исправлена. Те кто подключил скрипт с моего сайта - радуйтесь, остальные - скачивайте новую версию.

Ставим новую версию! Версия скрипта в сообщении: 10

Жми на пятую!
45, 87, 10926
№87
Помогите задать ширину, а то растягивается и коверкает дизайн... Пробовал изменить? но изменяется только поле с кодом, а не сама таблица кода... Буду очень благодарен за помощь!!!
№86
Подправьте скрипт пожалуйста, а то ширина принудительно не выставляется ни как...
Ответ: Ну у меня же выставлена, вправляйте руки.
№85
Хочу сперва сказать огромное спасибо за работу, пользуюсь подсветкой уже давно, но вот в чем проблема, на старом дизайне код стоял хорошо, поставил новый дизайн и на форуме весь код в code растянулся на всю длину пока не нажмешь перенос строк, но это не очень удобно каждую вкладку нажимать пока дизайн не встанет на место, можно ли сделать так, что бы код переносился автоматом а при нажатии на "Не переносить строки" выравнивался в строчку? За ранее спс...
З.Ы. пробовал изменять 6 строчку в КСС для изменения ширины, не помогает...
№84
Скрипт хороший, слов нет, но - заметил баг : в коде он удаляет открывюший тег <p> . Надеюсь на исправление.
Ответ: обязательно исправлю
№83
всё работает только вот размер не могу уменьшит bula.3dn.ru/css.css помогите!
№82
Не могу изменить ширину. Помогите найти строчку с кодом!
Ответ: 6 строка css стилей
№81
класс! давно искал!!
№80
Изменил чуток, а именно:
.bbCodeName{display:none!important;}

на:
.bbCodeName{color: #fff; !important; background: #4674a2 url(http://unrealclan2010.ucoz.ru/Image/css_img_code.gif) no-repeat top right;}

№79
хнык я блондинка)))хочу сделать чат вставлю туда а он не вставляется что делать)))?
№78
как сделать что бы код был всегда в режиме "Не переносить строки"
Введите ваше имя или станьте Анонимусом:
Вы не робот? Вводите код капчи:
    © Блог StudioAD.ru 2010 год нашей эры. Не все права защищены... Копирование любой информации и материалов с обратной ссылкой приветствуется! Хостинг от uCoz.

    Если вам пришлись по душе материалы моего блога - подпишитесь на RSS дабы получать обновления незамедлительно! Я рад что вы читаете и комментируете мои экзерсисы, приятного времяпрепровождения.
Всегда работает перевозка для больного по Москве.
1 2 3 ... 8 9 »