Featured Article Contest Widget

**Featured Article Contest Widget** — скрипт, созданный специально для Ахонг Вики для отслеживания и публикации текущих результатов локального конкурса "Избранная статья месяца".

## Установка

Для установки скрипта нужно вставить следующий код:

```
importArticles({
 type: 'script',
 articles: [
 'u:ru.axong:MediaWiki:FeaturedArticleContest.js'
 ]
})

```

на страницу MediaWiki:Common.js вашего википроекта.

Для правильного отображения виджета требуется CSS. На Ахонг Вики используется следующий код:

**Код оформления виджета на Ахонг Вики**

```
.rate-bar-box {
 border: 1px #000 solid;
 border-radius: 45px;
 height: 20px;
}
.rate-bar {
 background: linear-gradient(0deg, #008be3 0%, #006cb0 100%);
 height: inherit;
 border-radius: inherit
}
.rate-text {
 color: #FFF;
 position: absolute;
 font-size: 0.8em
}

```

## Описание

При правильно установленных настройках (см. раздел) в правой части страницы (рельсе) появится блок.

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

## Настройки

Скрипт имеет систему настроек. Их можно установить на странице **MediaWiki:Custom-FACW**:

 1
 2
 3
 4
 5
 с 6 по n

Ниже приведен пример настройки скрипта:

```
<syntaxhighlight lang="javascript">
Конкурс №25
Вы можете проголосовать в <a href="$1">этой</a> теме.
true
3810
Как банить: 7
История одного участника: 10
Интересные факты: 2
Я возьму избу!: 0

```

А если появляющийся при каждой загрузке страницы блок вас раздражает, вставьте на свою личную JS-страницу строку `window.FACWDisabled = true;`.

## Оформление блока

Для оформления блока по-своему вы можете использовать следующие классы:

* `.rail-module` отвечает за вид блока в целом. Будьте осторожны с этим классом: он также влияет на остальные блоки рельсы.
* `.rate-bar-box` задает дизайн контейнеров полос с результатами (прогрессбаров).
* `.rate-bar` оформляет уже сами прогрессбары.
* `.rate-text` влияет на вид текста внутри прогрессбаров. Для корректного отображения прогрессбаров требуется наличие свойства `position: absolute`.

## История версий

* (FA) **[31.08.2019]:** первое появление скрипта.
* (PP / D) **Версия 1.0 [31.08.2019]:** публикация скрипта.
* (D) **Версия 1.1 [06.09.2019]:** исправлено дублирование виджета при загрузке страницы. Ссылки теперь ведут не на Ахонг Вики, то есть появилась возможность использовать скрипт на любом проекте.
* (D) **Версия 1.2 [08.03.2020]:** переписана система настроек, теперь она находится на **MediaWiki:Custom-FACW**. При отсутствии голосов (очки всех номинантов равны нулю) больше не выдается `NaN%`.
* (D) **Версия 1.2.1 [18.03.2020]:** исправлено неверное толкование пункта настроек, отвечающего за состояние виджета. Добавлена возможность скрыть его для себя.

## От автора

Идея к скрипту появилась поздним вечером 30 августа, накануне подведения итогов августовского конкурса. Тогда же был написан прототип виджета на чистом HTML. Для этого понадобились, разумеется, гугловский "код элемента" и мой любимый PortableCSSPad.

На реализацию ушел весь следующий день. Механизм создания элементов получился прост, как арбуз. Пришлось, однако, очень долго мучаться с получением информации со страницы из ПИ "Module". jQuer'евский метод `$.get()` я разобрал быстро, но сложнее было именно разобрать все, что на ней написано. В конце концов и этот скрипт был реализован.