Обсуждение участника:Alex Smotrov/histcomb.js
Документация
Описание
Скрипт улучшает читабельность страниц историй правок:
- последовательные правки одного участника группируются вместе (с возможностью разворачивания)
- размер версии заменяется разностью с предыдущей версией (как в списке наблюдения)
- ссылки «обсуждение», «вклад» и «отменить» укорачиваются до одной буквы
- ваши правки выделяются светло-зелёным фоном
Дополнительно:
- Ссылка * слева от Сравнить выбранные версии разворачивает/сворачивает сразу всё.
- Ссылка «Все авторы» под заголовком статьи ведёт на полезный инструмент на тулсервере ( пример).
Скрипт проверен в IE 6/7, Opera 9.1, Firefox 1.5
Пример
- (текущ) (пред) 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:
javascript:function addOnloadHook(f){f()};importScript('User:Alex_Smotrov/histcomb.js')
Статическая установка
(скрипт вызывается всегда)
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)
Принудительное включение/отключение
Быть может можно сделать так чтобы скрипт запускался только по нажатию кнопки? Или что бы была кнопа типа „свернуть/развернуть“? Иногда нужно просмотреть описание правок, а разворачивать каждую по отдельности долго.--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)