Обсуждение участника: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)
})

ваш monobook.js


Параметры (указаны со значениями по умолчанию):

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.jsAlex 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)[ответить]

пожелания

[править код]
Перенесено со страницы en:user talk:Alex Smotrov/histcomb.js.

Недурно, но есть вопросы и замечания:

  1. Нельзя ли сделать фон потемнее? Я вижу настройку задания цвета, но сам я цвет подобрать не могу, не дизайнер.
  2. где теперь можно узнать текущий размер страницы, если все размеры стали относительными? Причём, иногда хочется видеть размер и для промежуточных версий (чтобы можно было сравнить с размером после или до правок).

Спасибо. -- 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)
  1. Тогда не будете ли вы столь любезны, чтобы подсказать какой-нибудь цветовой код, который нужно указать перед подключением скрипта (хотя встроенный код был бы всё же лучше :-))? На мой взгляд, что-то типа бордового было бы лучше, чем зелёный.
  2. 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.one07: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

[править код]

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)[ответить]