Ru-Board.club
← Вернуться в раздел «Тестирование»

» Тест подсветки кода

Автор: Brodyaga
Дата сообщения: 25.02.2008 10:07
Cheery

Цитата:
отловить выделение и спрятать столбец с номерами

Скажи, что ты шутишь!

Скажите мне, как обстоит дело с автогенерацией классов CSS? типа autoload в PHP? Т.е. несуществующий класс line_24 создается при его вызове или при загрузке.
Просто тогда можно было бы обойти текстовые номера строк, заменив их одним длинным изображением(фоновым) с цифрами, вычисляя его позиционирование для текущего номера строки.

Конечно я знаю, что решениями такого рода занимаются проктологи, но...

Добавлено:
http://web-maste.ru/brodyaga/syntax/syntaxruboard.php?number=20
Что-нибудь в таком ключе

Добавлено:
Есть ещё один вариант, гораздо менее ресурсоемкий.
Создать файл с 1234567890 и для номера строки JS-ом создавать количество div'ов с бэкграундами, означающими цифры.
Т.е. для числа 127 будут созданы три дива с фонами 1, 2, 7. Дешево и сердито, можно ещё и оптимизировать для чисел, где идут по порядку цифры
Автор: Brodyaga
Дата сообщения: 25.02.2008 13:23
http://web-maste.ru/brodyaga/syntax/syntaxruboard1.php?number=2000
А вот и то, о чем я говорил, мне кажется скорость вполне неплохая. Даже отличная я бы сказал и трафика во много раз меньше тратится.

А прикрутить функцию lineNumber в этот JS-highlighter думаю не составит проблем.
Автор: Cheery
Дата сообщения: 25.02.2008 16:15
Brodyaga

Цитата:
Скажи, что ты шутишь!

может быть а может и нет
подумаю еще..

Цитата:
А вот и то, о чем я говорил, мне кажется скорость вполне неплохая

если не считать расползания цифр в 3 значном месте..

Проблема с картинками - лишние запросы.. хотя бы на проверку обновления картинки в кэше браузера.
если, правда, как и сказано через css.. но все равно - лишние 10 запросов к серверу.
Автор: Brodyaga
Дата сообщения: 25.02.2008 16:45
Cheery


Цитата:
3 значном месте..

это где такое?

Это больше вопрос верстки, а в каком браузере? В опере даже четырехзначные "выглядят"


Цитата:
Проблема с картинками - лишние запросы.. хотя бы на проверку обновления картинки в кэше браузера

Запрос ведь будет один. Прелоадинг изображений и другие гломурные дизайнерские штучки.

Добавлено:
Где десять то? Картинка ведь одна
Автор: Cheery
Дата сообщения: 25.02.2008 16:51
Brodyaga

Цитата:
Где десять то? Картинка ведь одна

а потом "нарезать" порции смещениями? эм.. при большом количестве строк это вызовет проблемы у слабой машины я думаю.


Цитата:
Это больше вопрос верстки, а в каком браузере?

FF
Автор: Brodyaga
Дата сообщения: 25.02.2008 16:55
Cheery

Цитата:
а потом "нарезать" порции смещениями? эм.. при большом количестве строк это вызовет проблемы у слабой машины я думаю.

Так на моей странице в данный момент так и происходит. Большие куски у нас запрещено правилами выкладывать не под [more], поэтому только тот, кто ищет - то найдет проблемы для слабой машины. Остальные куски кода до тысячи строк вообще никаких проблем вызывать не должны.

Цитата:
FF

Сейчас гляну, если найду его среди кучи других браузеров...
Автор: Cheery
Дата сообщения: 25.02.2008 16:56
Brodyaga

Цитата:
поэтому только тот, кто ищет - то найдет проблемы для слабой машины.

речь о Тест подсветки кода
Автор: Brodyaga
Дата сообщения: 25.02.2008 17:01
Cheery
Я знаю. Но по сравнению с работой самого хайлайтера выставление номера строки - мизерная работа. Я говорил о удобстве выделения, а о том, насколько этот хайлайтер оптимизирован - тут другой вопрос. В конце концов должны быть менее жадные аналоги.
Автор: Cheery
Дата сообщения: 25.02.2008 17:49
Brodyaga
да, и текст на картинках лучше делать в gif или png..
тут jpg судя по тем квадратикам, что окружают текст
Автор: Brodyaga
Дата сообщения: 25.02.2008 18:00
Хозяин - барин
http://web-maste.ru/brodyaga/syntax/syntaxruboard1.php?number=2000
Автор: Cheery
Дата сообщения: 25.02.2008 18:11
кстати.. обойти копирование цифр можно и иначе - вставить iframe.. в котором и сгенерировать уже нужный листинг
а нумерацию вне его..
главное, чтобы ничего не поплыло при этом.. но это верстка

Добавлено:
ps: да, я писал что у того с гугла нет подсветки перла, а по ссылке что дал на forall он есть.. это я пытался писать обработчик, но уж больно нужно он там пишется
Автор: Brodyaga
Дата сообщения: 25.02.2008 18:38
А что делать с прокручиванием длинных листингов? И вообще, как синхронизировать движение iframe?

http://homepage.hamburg.de/bandara/shBrush/HttpdApacheConfV13.html
Собственно тут сделано через списки, если я правильно понял...
Автор: Cheery
Дата сообщения: 25.02.2008 18:46
Brodyaga

Цитата:
Собственно тут сделано через списки, если я правильно понял...

так у них как раз гугловский тот скрипт.. просто более новая версия (опять же - августовская)
да, через списки

Цитата:
<ol class="dp-apache" start="1">
<li class="alt">
<span>
<span class="comment">#</span>
<span/>
</span>
</li>

синхронизовать то можно, если повозиться.. только надо ли
насчет списков хорошая идея
Автор: Brodyaga
Дата сообщения: 25.02.2008 18:48
Т.е. проблема в отсутствии перла?
Автор: Cheery
Дата сообщения: 25.02.2008 18:51
Brodyaga

Цитата:
Т.е. проблема в отсутствии перла?

да не только, думаю.. опять же - у основной программы хайлатер есть почти под любой язык регулярки..
http://www.andre-simon.de/doku/highlight/en/highlight_langs.html
и они легко трансформируются под тот скрипт, что указал.

плюс оно жрет меньше ресурсов - мне IE предложил остановить скрипт по той ссылке с апачевским конфигом из за скорости работы
Автор: Brodyaga
Дата сообщения: 25.02.2008 19:22
Короче возврат к тому, с чего было начато - серверная часть, консольное приложение, кеширование кода...JS хайлайтеры подходят для блогов, не для форумов.
Автор: Cheery
Дата сообщения: 25.02.2008 19:33
Brodyaga

Цитата:
JS хайлайтеры подходят для блогов, не для форумов.

с чего бы? я уже почти сделал со списком..
просто не до этого..
Автор: Brodyaga
Дата сообщения: 25.02.2008 19:37
Cheery
Просто обьемы кода разные

Я когда писал конференцию, тоже думал вебдванольных понтов добавить - подсветку на стороне клиента со всеми вытекающими красивостями. Это хорошо только для коротких сниппетов, но обьемные коды, и когда их много на странице(а в Web-программировании и не такое бывает) - сразу показывают, что клиентские хайлайтеры не панацея.
Естественно ИМХО, но у меня очень слабый компьютер по современным меркам, поэтому избыточные клиентские скрипты на сайтах я очень не люблю
Автор: Cheery
Дата сообщения: 25.02.2008 20:17
Собссно сделал
потом выложу.. я думаю подгружать языки через ajax.. или же чтобы батва на сервере смотрел какие юзаются и писал автоматом их загрузку в голову. ну или через document.write вставлять, просто тогда нужно заранее список вставлять в js языков, какие есть.. и проверять каким то образом, что файл уже подгрузился..



вернее почти.. cout куда то "съелся"
Автор: KADABRA
Дата сообщения: 25.02.2008 20:39
Хмм, такс. на http://forall.ru-board.com/Cheery/projects/syntax2/Tests.html явно старя версия скрипта, так как в новой номера строк уже по дефолту не выделяются
Автор: Cheery
Дата сообщения: 25.02.2008 20:43
KADABRA

Цитата:
явно старя версия скрипта, так как в новой номера строк уже по дефолту не выделяются

ессно.. щелкаем на знак вопроса - версия 1.3.. "новая" 1.5
но все равно - тот скрипт ест ресурсы
Автор: KADABRA
Дата сообщения: 25.02.2008 20:43
А, у меня и страничка эта с утра не обновлялась ))) не видел всего разговора

Добавлено:
Эмм, кхмм...
text(s)... странно что он ескейпит чё-то...

пошел курить дальше

Добавлено:
Ага, оно не так оказывается, а вот так!

Добавлено:
Занятно...

Вообще скрипты по разбору текста взрывают моск.

Добавлено:
Гатово

Добавлено:

Цитата:
вернее почти.. cout куда то "съелся"

Да ещё и отступы "съелись"

Добавлено:


Добавлено:
Блин, как же пейнт убивает цвета мастерски.

Добавлено:

Вот

Добавлено:
Чуть темнее ещё надо чётные строки сделать...

Добавлено:
А вякие кнопочти типа "expand", "plain" и т.д. нужны?

Добавлено:
Так. Plaint text точно нужно. Потому что копируется "попроченый" текст.
Автор: KADABRA
Дата сообщения: 25.02.2008 23:20
Есть кто живой?

Добавлено:
ой, не приклеилось сообщение.

Добавлено:
Я тут пока пофлужу...
Автор: Cheery
Дата сообщения: 25.02.2008 23:35
KADABRA
да я написал это все.. может и не столько красиво - фиг знает.. вот только
1) IE7 не хочет делать цвет фона у нумерации
2) опера обрезает пустые элементы списка.. идиотизм. вот за это и не люблю оперу

Добавлено:
мда.. и хоть цифры при выделении не выделяет, но все равно копирует в буфер
Автор: KADABRA
Дата сообщения: 26.02.2008 00:22
Cheery

Цитата:
мда.. и хоть цифры при выделении не выделяет, но все равно копирует в буфер

Угу, это я как раз тоже заметил. Так что нужен plain text.


Цитата:
да я написал это все..

Как быстро время летит, только вчера вроде было, а оказывается полгода прошло

Ну тогда чтобы сделать больше я автолоад для языков напишу
Автор: Cheery
Дата сообщения: 26.02.2008 00:23
KADABRA

Цитата:
Угу, это я как раз тоже заметил. Так что нужен plain text.

не нужен.. там есть финт ушами
Автор: KADABRA
Дата сообщения: 26.02.2008 00:33
Cheery

Цитата:
не нужен.. там есть финт ушами

Какой?
Автор: Cheery
Дата сообщения: 26.02.2008 00:34
KADABRA

Цитата:
Какой?

пока не знаю.. по ссылке на конфиг апача номера копируются не всегда.. иногда, правда, заменяются на #
пытаюсь разобраться в чем дело

Добавлено:
собственно в моем примере так же работает и в инете не видно примеров когда не работает выделение. так что, возможно, придется и с плейном.
Автор: KADABRA
Дата сообщения: 26.02.2008 00:43
Вот. Автозагрузка работает...
Автор: Cheery
Дата сообщения: 26.02.2008 00:45
на винграде не копируются номера - там сделано через таблицу
правда размер страницы тогда вырастает...

Страницы: 123

Предыдущая тема: Вопрос : куда подевался Svarga ?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.