Вики Сообщества

ПОДРОБНЕЕ

Вики Сообщества
Advertisement
Вики Сообщества

Эта страница — лишь перевод и адаптация страницы «Make yourself a Wikia-MacGyver: Adding custom scripts» в блоге Grunny
Привет всем. Если вы меня ещё не знаете, меня зовут Grunny и меня часто можно найти за созданием инструментов на JavaScript, чтобы сделать легче жизнь сообщества. Одним из наиболее мощных (и весёлых!) аспектов движка MediaWiki является то, что любой зарегистрированный пользователь может настроить вики-проект сам, используя CSS и уже упомянутый ранее JavaScript. Многие люди могут не иметь каких-либо знаний или опыта в работе с этими кодировками, однако совсем необязательно придумывать что-то новое, многие инструменты уже доступны для использования, просто добавив одну или две строки в вашу подстраницу.

Одним из лучших мест, где можно посмотреть на пользовательские скрипты Викии, является Wikia Developers Wiki, где множество пользователей поделилось рядом полезных скриптов для работы с Викией, созданных ими. Я хотел бы остановится на некоторых из них здесь, чтобы вы знали, как можно установить их для собственных нужд.

Пара терминов, которые вы обязательно должны знать:

  • Global.js — находится на Community Central и добавляет (при создании страницы User:ВашеИмя/global.js на Community Central) нужные вам скрипты для показывания на всех викиях, которые вы посещаете.
  • Wikia.js — страница для кода, который будет загружаться только на той вики, где он помещён. Если вы создадите страницу Участник:ВашеИмя/wikia.js на этом вики-проекте, то код, расположенный там, будет работать только на этом вики-проекте. Для людей, использующих Monobook, предусмотрен вариант с «Участник:ВашеИмя/monobook.js».
  • Common.js — каждая вики может иметь свой Common.js, который будет загружаться всем участникам вики-проекта.

AJAX-обновление

JSBlog1

Страница свежих правок после включения AjaxRC

Это, пожалуй, наиболее широко используемый скрипт с Wikia Developers Wiki. Скрипт AjaxRC позволяет включить на странице свежих правок, вики-активности и/или списка наблюдения автоматическое обновление, совершаемое каждую минуту. Для установки скрипта для себя вы можете поместить следующую строчку в свой global.js/wikia.js/monobook.js:

importScriptPage( 'AjaxRC/code.js', 'dev' ); // AJAX-обновление некоторых страниц

Если вы хотите, чтобы скрипт обновлял не только вышеуказанные страницы, укажите список подстраниц следующим образом (добавив новую строчку в свой global.js/wikia.js/monobook.js):

var ajaxPages = ["Special:Watchlist","Special:Contributions","Special:WikiActivity"]; // AJAX-обновление некоторых страниц

Чтобы добавить другие подстраницы в список, поставьте после Special:WikiActivity запятую и укажите страницу в формате "<страница>" (именно с кавычками). Вы также можете изменить текст, который добавляется рядом с флажком включения AJAX-обновления (по умолчанию — «AJAX»), добавив следующую строчку (вместо «AJAX-обновление» можно вставить любой другой текст):

var AjaxRCRefreshText = 'АJAX-обновление';

Вы можете включить скрипт и для всех участников вашего проекта, добавив приведённое выше на страницу MediaWiki:Common.js.

Кнопка «Очистить кэш»

Действие скрипта PurgeButton

Возможность очистить кэш страницы или обновить её бывает очень полезна, когда страница «застряла» и не обновляется после того, как вы загрузили новую версию файла или сделали ещё одно изменение. Обычно единственным способом сделать обновление страницы является добавление ?action=purge в адресную строку, однако это не очень удобно. К счастью, есть полезный скрипт для добавления кнопки очистки кэша.

Для установки скрипта для себя вы можете поместить следующую строчку в свой global.js/wikia.js/monobook.js:

importScriptPage( 'PurgeButton/code.js', 'dev' ); // Кнопка очистки кэша страницы

Вы можете изменить текст на кнопке (по умолчанию — «Refresh»), добавив следующую строчку (вместо «Обновить» можно добавить любой другой текст):

var PurgeButtonText = 'Обновить';

Вы можете включить скрипт и для всех участников вашего проекта, добавив приведённое выше на страницу MediaWiki:Common.js.

Сворачивающиеся таблицы

Создание областей, которые могут быть скрыты, является хорошим способом добавить контент, который может не относится прямым образом к статье, например, навигационные таблицы. Множество вики-проектов используют для этого скрипт под названием ShowHide.

Это хороший скрипт для включения на всей вики (добавив следующий код в MediaWiki:Common.js):

importScriptPage( 'ShowHide/code.js', 'dev' ); // Сворачивающиеся таблицы

От себя: лично мне больше нравится реализация, которая сделана в этом вики-проекте через MediaWiki:Navigation.js (образец таковой вы можете видеть выше). Чтобы реализовать таковое у себя, добавьте следующий код в MediaWiki:Common.js:

importScriptPage( 'MediaWiki:Navigation.js', 'ru.community' ); // Сворачивающиеся таблицы

Что ещё?

Вы можете увидеть многие забавные вещи, сделанные с помощью JavaScript, и многие отличные гаджеты и небольшие скрипты на Wikia Developers Wiki. Также там можно найти список улучшений, созданных с помощью JS.

Какой у вас наиболее любимый инструмент, созданный с помощью JS/CSS? Писали ли вы когда-нибудь скрипты? Пишите ниже.

Advertisement