На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: B.V., ANDLL
  
    > Подсветка синтаксиса , 13.03.04/
      Несколько релизов:
      1. Song - 13.03.04
      2. Tishaishii
      3. Leprecon
      4. Mixxx

      ExpandedWrap disabled
         Program MySuperProgram;
        Begin
         WriteLn('This is line');
        End.
        4) Mixxx (скрипт) + Song (внедрение в форум)
        Реализована клиентская подсветка.
        Отличается от серверной тем, что работа по подсветке (обрамление текста программы в BB теге code цветовыми HTML тегами) производится не php парсером на серверной стороне, а самим браузером клиента (участника форума).
        Оставлена возможность переключения на серверную подсветку для медленных машин, браузеров, не поддерживающия Java Script, в случаях когда использование ява скрипта невозможно.

        Подсветка реализована на тех же регулярных выражениях что и серверная, поэтому не пришлось писать отдельную админку для настроек правил подсветки. Просто при редактировании правил подсветки модератором изменяется специальный js файл.
        Подсветка реализована из файла ява скрипта - ядро подсветки + файлы данных (тоже js) с правилами подсветки.
        При выводе топика клиента форум собирает информацию о том, какие типы подсветок встречаются на выводимой странице.
        Позже, когда HTML поток страницы собран, форум включает в него в заголовок только те js файлы с правилами подсветки, которые были использованы. Таким образом достигается минимальный трафик.
        В среднем в топиках используется максимум 1 или 2 подсветки и трафик от скрипта составляет не более 5 кб. После загрузки скрипта в кеш браузера, скрипт кешируется и при последующих загрузках используется уже из кеша, не тратя трафик на загрузку скрипта в следующий раз.
        При изменении правил подсветки имя файла скрипта меняется, чтобы браузер подгрузил и закешировал уже новую версию файла правил подсветки.
        Посмотреть на работу скрипта можно по этой ссылке (используются все допустимые подсветки): http://forum.sources.ru/index.php?act=legends&CODE=bbcode
        На данной странице используется скрипт ядра клиентской подсветки + все правила подсветки, которые есть на форуме.
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0407 ]   [ 14 queries used ]   [ Generated: 18.05.24, 09:57 GMT ]