Обсуждение участника:Alex Smotrov/histcomb.js
См. также актуальную версию от Jaguar K
Скрипт улучшает читабельность страниц историй правок:
- последовательные правки одного участника группируются вместе
- размер версии заменяется разностью с предыдущей (как в списке наблюдения)
- ссылки «обсуждение», «вклад» и «отменить» укорачиваются до одной буквы
- собственные правки выделяются светло-зелёным фоном
Дополнительно:
- Ссылка [±] слева от Сравнить выбранные версии разворачивает/сворачивает сразу всё.
- Ссылка «Все авторы» под заголовком статьи ведёт на полезный инструмент на тулсервере ( пример).
Скрипт проверен в IE 6 / 7, Opera 9, Firefox 1.5 / 2
Пример:
- (текущ) (пред) o o 14:50, апреля 1, 2007 Вася (обсуждение | вклад) (2 250 байтов) (→Вопрос спасибо) (отменить)
- (текущ) (пред) o o 14:07, апреля 1, 2007 Невнимательный (обсуждение | вклад) (2 184 байтов) (→Вопрос вот так) (отменить)
- (текущ) (пред) o o 14:06, апреля 1, 2007 Невнимательный (обсуждение | вклад) (2 182 байтов) (→Вопрос ой нет) (отменить)
- (текущ) (пред) o o 14:05, апреля 1, 2007 Невнимательный (обсуждение | вклад) (2 185 байтов) (→Вопрос ответ) (отменить)
- (текущ) (пред) o o 14:00, апреля 1, 2007 Вася (обсуждение | вклад) (2 131 байтов) (→Вопрос вот такой вопрос) (отменить)
превращается в
- (текущ) (пред) o o 14:50, апреля 1, 2007 Вася (о | в) (+66) (→Вопрос спасибо) (×)
- (текущ) (пред) o o 14:07, апреля 1, 2007 Невнимательный (о | в) (+23) [3] (×)
- (текущ) (пред) o o 14:00, апреля 1, 2007 Вася (о | в) (+108) (→Вопрос вот такой вопрос) (×)
Демонстрация без установки:
перейти на любую страницу истории, скопировать в адресную строку браузера и нажать Enter:
importScript('User:Alex_Smotrov/histcomb.js'); void 0
Статическая установка
(скрипт вызывается всегда)
importScript('User:Alex Smotrov/histcomb.js')
→ ваш monobook.js
Динамический вызов
(скрипт загружается только после нажатия на такую ссылку: Сравнить выбранные версии Улучшить… )
if (wgAction == 'history') //динамический вызов histComb.js
addOnloadHook(function(){
var pagehis = document.getElementById('pagehistory')
if (!pagehis) return
var lnk = document.createElement('a')
lnk.style.marginLeft = '10px'
lnk.href = '#'
lnk.appendChild(document.createTextNode('Улучшить…'))
lnk.onclick=function(){this.parentNode.removeChild(this);importScript('User:Alex_Smotrov/histcomb.js')}
pagehis.parentNode.insertBefore(lnk, pagehis)
})
Параметры (указаны со значениями по умолчанию):
histCombLeaveComment = false //если true, то оставить описание у последней «схлопнутой» правки
histCombMyBg = '#F0FFF0' //цвет фона у «своих» правок (светло-зелёный)
histCombTalk = 'о' //строка, заменяющая «обсуждение»
histCombContrib = 'в' //строка, заменяющая «вклад»
Описание правки
[править код]Предложение: Сделать описание комбинированной правки путём конкатенации описаний составляющих её правок. Длину можно ограничить примерно 200 символами. --Zserghei 18:33, 3 мая 2007 (UTC)
- Я подумаю над реализацией, однако возможно сделаю это дополнительным параметром. К сожалению, эта конкатенация (как и большинство остальных действий) должна проводиться сразу после загрузки страницы, и если делать слишком много действий, то просто будет тормозить показ страниц историй ∴ Alex Smotrov 20:01, 3 мая 2007 (UTC)
- К сожалению, мне так и не пришло в голову хорошего варианта комбинировать описание. Добавил только возможность оставлять последнее описание (см «Параметры» выше) ∴ Alex Smotrov 21:50, 16 июля 2007 (UTC)
- я как раз над этим сегодня думал, и у меня такая идея: что, если в группе есть комментарии, то её надо просто как-то пометить/выделить? Например, специальным текстом на тёмном фоне (!) между размером и знаком отмены (x). Тогда будет ясно, какую группу стоит развернуть для изучения состава и комментариев, а какую можно и не разворачивать. -- AVBtalk 19:40, 29 июля 2008 (UTC)
Принудительное включение/отключение
[править код]Быть может можно сделать так чтобы скрипт запускался только по нажатию кнопки? Или что бы была кнопа типа „свернуть/развернуть“? Иногда нужно просмотреть описание правок, а разворачивать каждую по отдельности долго.--Dennis Myts 09:27, 14 июля 2007 (UTC)
- Оба предложения реализованы, см. «динамический вызов» и «Описание» в документации ∴ Alex Smotrov 21:50, 16 июля 2007 (UTC)
- Мерси.--Dennis Myts 07:32, 17 июля 2007 (UTC)
В английской Википедии
[править код]Как перенести подобную программку в Английскую Википедию? --Earendil 16:20, 19 июля 2007 (UTC)
- Там этот скрипт уже тоже есть, даже код для его добавления себе такой же, см. en:User talk:Alex Smotrov/histcomb.js ∴ Alex Smotrov 17:36, 19 июля 2007 (UTC)
Недочёт
[править код]Прежде всего, спасибо вам за этот скрипт. Но есть один неприятный недочёт. Захожу в историю правок статьи Дубна, не совершая никаких лишних действий, ставлю один радиобаттон на «13:41, 18 августа 2007», другой на «15:59, 27 августа 2007», нажимаю на «Сравнить версии», показывает сравнение между «Версия 18:41, 13 августа 2007» и «15:59, 27 августа 2007». То есть, скрипт выбирает неправильную начальную дату. Хочу, чтобы в этом случае показывал от «13:41, 18 августа 2007». Нелогичность текущего поведения особенно явно видна, если попробовать перед нажатием «Сравнить версии» раскрыть нижнюю группу, в этом случае покажет как надо. У меня Firefox 2.0.0.9. Saproj 09:02, 6 ноября 2007 (UTC)
- Действительно, похоже что при сворачивании правок скрипт вообще не должен был менять radio buttons. Исправил, спасибо. P.S. Большинство участников пользуются обычно ссылками «пред.». P.P.S. Сгенерированные даты типа «13:41, 18 августа 2007» в истории правок зависят от смещения часового пояса в настройках, поэтому у разных участников могут отличаться ∴ AlexSm 21:32, 7 ноября 2007 (UTC)
- Спасибо, работает. Ссылкой «пред.» я как-то не пользовался раньше. Попробовал сейчас — удобно. Про разные часовые пояса я не подумал, да. Saproj 21:52, 7 ноября 2007 (UTC)
пожелания
[править код]Недурно, но есть вопросы и замечания:
- Нельзя ли сделать фон потемнее? Я вижу настройку задания цвета, но сам я цвет подобрать не могу, не дизайнер.
- где теперь можно узнать текущий размер страницы, если все размеры стали относительными? Причём, иногда хочется видеть размер и для промежуточных версий (чтобы можно было сравнить с размером после или до правок).
Спасибо. -- AVBtalk 16:52, 28 July 2008 (UTC)
- Please move this section to ru:User talk:Alex Smotrov/histcomb.js. #1: no. #2: I recommend "dynamic installation", but even after the script was executed, revision sizes can be found in tooltips (hover your mouse over the differences). —AlexSm 21:46, 28 July 2008 (UTC)
- Тогда не будете ли вы столь любезны, чтобы подсказать какой-нибудь цветовой код, который нужно указать перед подключением скрипта (хотя встроенный код был бы всё же лучше
)? На мой взгляд, что-то типа бордового было бы лучше, чем зелёный.
- tooltips - о! а слона-то я и не заметил.
Спасибо -- AVBtalk 19:40, 29 июля 2008 (UTC)
- Какой бы ни был цвет фона, он уже используется другими участниками, которые вероятно к нему привыкли. Я стараюсь не менять таких вещей без особой необходимости. Для выбора цвета есть много разных программ, но ничего конкретного в данный момент я посоветовать не могу. Чтобы не делать лишних правок, конечный результат можно тестировать так: перейти на страницу истории без этого скрипта (то есть например временно завершить сеанс), скопировать в адресную строку браузера
javascript: histCombMyBg='#F0FFF0'; importScript('User:Alex Smotrov/histcomb.js'); void 0
- нажать Enter и проверить результат. Затем перезагрузить страницу (Ctrl-R) и снова скопировать это в адресную строку, немного изменив значение histCombMyBg; продолжать тестирование, пока не найдётся подходящий цвет. Конечно, как минимум надо помнить, что цвет задается в виде RGB (красный, зелёный, синий). —AlexSm 20:21, 29 июля 2008 (UTC)
- не, такой медленный способ - это не для меня. И даже если мне показать таблицу выбора цвета в стиле фотожопа - и то я бы мучался. Я ведь мучался с подбором цветов ещё во времена текстовых экранов, когда всех доступных цветов (текста) было всего-то 8... Я потому и прошу готовое решение. -- AVBtalk 21:18, 29 июля 2008 (UTC)
Баг на страницах со скрытыми правками
[править код]Если в истории (или её части, показанной на странице) есть скрытые правки, гаджет не работает на правках выше скрытой, в частности не выводится общий [+/-]. См. например здесь MaxBioHazard 22:24, 18 февраля 2012 (UTC)
Двойной показ разницы в размере в истории правок
[править код]После перехода на МВ 1.19, где имеется встроенный показ разницы в размере, твой скрипт создаёт такое. ♪ anonim.one ♪ 07:07, 1 марта 2012 (UTC)
проблемы в работе скрипта
[править код]Скрипт со вчерашнего дня перестал работать на некоторых страницах. Например, я его сейчас не вижу на странице http://ru.wikipedia.org/w/index.php?title=ВП:Запросы_к_администраторам&action=history -- AVBtalk 15:42, 16 декабря 2012 (UTC) Вот ещё пример такой страницы: http://ru.wikipedia.org/w/index.php?title=ВП:К_переименованию/13_декабря_2012&action=history -- AVBtalk 22:58, 18 декабря 2012 (UTC)
Возможные ошибки в связи с отключением wikibits.js
[править код]![]() | Поступил запрос на изменение защищённой страницы. За этим шаблоном должно следовать полное и детальное описание запроса, чтобы участник, не знакомый с предметом, мог выполнить его без промедлений. Если автор запроса знает JavaScript, лучше всего сразу приготовить код. Предложенные изменения должны быть либо очевидными, либо поддержаны консенсусом. |
Alex Smotrov, обратите внимание, что код этого скрипта может содержать следующие ошибки, вызванные использованием устаревшего кода, удалённого из движка «Медиавики» (скрипта wikibits.js, см. технические новости):
- Замените
doneOnloadHook
,onloadFuncts
,addOnloadHook
илиrunOnloadHook
на следующий код:jQuery( function( $ ) { // ваш код } );
$( название_функции );
- Полный список возможных ошибок и их решений: Legacy Javascript § wikibits.js (на mediawiki.org, англ.).
Если это сообщение пришло по ошибке и в скрипте нет проблемного кода, проигнорируйте его.
Используйте {{ping|Saint Johann}}
, чтобы получить дополнительные пояснения.
St. Johann от лица инженеров русской Википедии
Отправлено NapalmBot 22:19, 4 мая 2017 (UTC)