FANDOM


NavboxBuilder — это модуль для создания навбоксов.

Функции

  • Неограниченное количество строк и секций;
  • Возможность сворачивания навбокса или любой его секции;
  • Возможность настраивания параметров;
  • Документация параметров может быть импортирована из Dev Wiki, включая настроенные названия параметров.

Как установить

Чтобы использовать этот модуль, вам понадобится подключить на вашей вики расширение Scribunto. Если оно недоступно в вашем сообществе, просто отправьте запрос через «Служебная:Contact».

Модуль

Самая первая вещь — сам модуль. Не нужно копировать весь код. Просто создайте модуль под названием Модуль:NavboxBuilder (или с любым другим, не забудьте при этом изменить имя при вызове #invoke) и вставьте этот код:

return require('Dev:NavboxBuilder/ru')

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

CSS

Здесь нужно выполнить две вещи. Во-первых, импортировать стиль, придающий структуру навбоксу. Для этого добавьте следующий код в самую верхнюю часть в Common.css или Wikia.css:

@import url("//dev.wikia.com/load.php?mode=articles&articles=Global_Lua_Modules/NavboxBuilder/code.css&only=styles");

Во-вторых, изменить внешний вид шаблонов. Подробная информация в разделе о дизайне.

Шаблон

Модуль используется так же, как и обычный шаблон. Нужно создать шаблон (например: Шаблон:Навбокс) со следующим кодом:

<onlyinclude>{{#invoke:NavboxBuilder|create}}</onlyinclude>

== Параметры ==
{{#invoke:NavboxBuilder|documentation|ru}}

Теперь созданный шаблон примет параметры, описанные ниже.

Эти параметры также могут быть переданы прямо вызову #invoke и будут действовать по умолчанию. Их значения будут перекрыты теми, что переданы шаблону.

Исключением являются параметры стиля. В этом случае будут использоваться оба параметра.

Пример выше также включает в себя часть, которая добавит документацию с параметрами на вашу вики.

{{#invoke:NavboxBuilder|documentation|ru}}

Документация будет на языке вашей вики (если перевод существует) и отобразит установленные параметры.

Можно изменить язык документации, уточнив его в дополнительном параметре

{{#invoke:NavboxBuilder|documentation|<код языка>}}

Если вы хотите помочь с переводом, подробная информация расположена на странице обсуждения.

Параметры

Ниже расположен перечень всех возможных параметров. Для отображения навбокса требуется наличие хотя бы одного списка. Помимо этого, все остальные параметры необязательны.

Основные

  • Название – основное название навбокса.
  • Ссылки – ссылки, отображающиеся на левой стороне от названия.
    • Здесь может вставляться вики-разметка.
    • Для работы этого параметра требуется Название.
  • Положение – отвечает за то, закрытый или открытый навбокс по умолчанию.
    • Значения: свёрнутое или открытое (нечувствительны к регистру).
    • Пустое или неопознанное значение по умолчанию откроет навбокс.
    • Для работы этого параметра требуется Название.
  • Верхний и Нижний – поля выше и ниже разделов и изображений.
  • Левое изображение и Правое изображение – поля рядом с разделами, чаще всего используемые для вставки изображений.
    • Помимо изображений, сюда можно вставлять любой контент.

Разделы

Разделы содержат в себе все списки с тем же номером или номером выше следующего раздела.

  • Заголовок n – оглавление раздела.
    • n – любое положительное число.
    • Для его отображения требуется хотя бы один список.
  • Левое изображение n и Правое изображение n – поля рядом со списками этого раздела, чаще всего используемые для вставки изображений.
    • n – номер существующего оглавления раздела.
    • Помимо изображений, сюда можно вставлять любой контент.
  • Положение n – отвечает за то, закрытый или открытый раздел по умолчанию.
    • n – номер существующего раздела.
    • Значения: свёрнутое или открытое (нечувствительны к регистру).
    • Пустое или неопознанное значение по умолчанию откроет раздел.
  • Положение заголовка – то же, что и выше, но влияет на все заголовки.
    • Значения: свёрнутое или открытое (нечувствительны к регистру).
    • Пустое или неопознанное значение по умолчанию откроет раздел.
    • Может быть перезаписано через Положение n

Списки

  • Список n – строчка со списком ссылок.
    • n – любое положительное число.
  • Группа n – оглавление списка.
    • n – номер существующего списка или подсписка.

Подсписки отображаются как внутренние части списка с тем же n.

  • Список n.m – строчка со списком ссылок.
    • n и m – любое положительное число.
  • Группа n.m – оглавление подсписка.
    • n и m – номер существующего подсписка.

Стиль

  • Навбокс класс и Навбокс стиль – применяются к основному элементу навбокса.
  • Название класс и Название стиль – применяются к элементу названия.
  • База класс и База стиль – применяются ко всем группам, подгруппам, заголовкам и полям выше и ниже.
  • Верхний класс и Верхний стиль – применяются к полю выше.
  • Нижний класс и Нижний стиль – применяются к полю ниже.
  • Изображение класс и Изображение стиль – применяются к полю с изображением.
  • Левое изображение класс и Левое изображение стиль – применяются к левому полю с изображением.
  • Правое изображение класс и Правое изображение стиль – применяются к правому полю с изображением.
  • Заголовок класс и Заголовок стиль – применяются ко всем заголовкам.
  • Заголовок n класс и Заголовок n стиль – применяются к заголовкам с номером n.
  • Левое изображение n класс и Левое изображение n стиль – применяются к левому полю с изображением в разделе с номером n.
  • Правое изображение n класс и Правое изображение n стиль – применяются к правому полю с изображением в разделе с номером n.
  • Группа класс и Группа стиль – применяются ко всем группам.
  • Подгруппа класс и Подгруппа стиль – применяются ко всем подгруппам.
  • Группа n класс и Группа n стиль – применяются к группам с номером n.
  • Группа n.m класс и Группа n.m стиль – применяются к подгруппам с номерами n и m.
  • Список класс и Список стиль – применяются ко всем спискам.
  • Список n класс и Список n стиль – применяются к спискам с номером n.
  • Список n.m класс и Список n.m стиль – применяются к спискам с номерами n и m.

Установка параметров

Импортируя модуль, скопируйте это и вставьте свои параметры:

return require('Dev:NavboxBuilder').changeParameters{
    -- Настройки
    links = 'Ссылки',
    state = 'Положение',
 
    -- Поля
    title = 'Название',
    above = 'Верхний',
    below = 'Нижний',
    limage = 'Левое изображение',
    rimage = 'Правое изображение',
 
    -- Разделы
    header_n = 'Заголовок #',
    limage_n = 'Левое изображение #',
    rimage_n = 'Правое изображение #',
    state_n = 'Положение #',
 
    -- Группы
    group_n = 'Группа #',
    group_n_m = 'Группа #.#',
    list_n = 'Список #',
    list_n_m = 'Список #.#',
 
    -- CSS
    navbox_class = 'Навбокс класс',
    navbox_style = 'Навбокс стиль',
    title_class = 'Название класс',
    title_style = 'Название стиль',
    base_class = 'База класс',
    base_style = 'База стиль',
    above_class = 'Верхний класс',
    above_style = 'Верхний стиль',
    below_class = 'Нижний класс',
    below_style = 'Нижний стиль',
    image_class = 'Изображение класс',
    image_style = 'Изображение стиль',
    limage_class = 'Левое изображение класс',
    limage_style = 'Левое изображение стиль',
    rimage_class = 'Правое изображение класс',
    rimage_style = 'Правое изображение стиль',
    header_class = 'Заголовок класс',
    header_style = 'Заголовок стиль',
    header_n_class = 'Заголовок # класс',
    header_n_style = 'Заголовок # стиль',
    limage_n_class = 'Левое изображение # класс',
    limage_n_style = 'Левое изображение # стиль',
    rimage_n_class = 'Правое изображение # класс',
    rimage_n_style = 'Правое изображение # стиль',
    group_class = 'Группа класс',
    group_style = 'Группа стиль',
    group_n_class = 'Группа # класс',
    group_n_style = 'Группа # стиль',
    subgroup_class = 'Подгруппа класс',
    subgroup_style = 'Подгруппа стиль',
    group_n_m_class = 'Группа #.# класс',
    group_n_m_style = 'Группа #.# стиль',
    list_class = 'Список класс',
    list_style = 'Список стиль',
    list_n_class = 'Список # класс',
    list_n_style = 'Список # стиль',
    list_n_m_class = 'Список #.# класс',
    list_n_m_style = 'Список #.# стиль',
 
    -- Значения
    value_expanded = 'открытое',
    value_collapsed = 'свёрнутое',
}

Примеры

Ниже находятся несколько примеров, демонстрирующих то, на что способен этот модуль и как этого добиться.

Примечание: образцы используют {{NavboxBuilder}} для стиля.

Заголовок и несколько строк

{{Navbox
| Название = Lorem ipsum

| Группа 1 = Dolor
| Список 1 = Consectetur · adipiscing · elit

| Группа 2 = Sit
| Список 2 = Sed · commodo · quam · sed · orci · varius · bibendum
}}

Сворачиваемый навбокс

{{Navbox
| Название = Lorem ipsum
| Положение = закрытое
...
}}

Ссылки шаблонов

{{Navbox
| Название = Lorem ipsum
| Ссылки = [[Template:NavboxBuilder|v]] · [[Template talk:NavboxBuilder|d]]
...
}}

Название и группы необязательны

{{Navbox
| Группа 1 = Dolor
| Список 1 = Consectetur · adipiscing · elit

| Список 2 = Sed · commodo · quam · sed · orci · varius · bibendum
}}

Верхнее и нижнее поля

{{Navbox
...
| Верхний = In pellentesque sapien justo
| Нижний = Vel accumsan justo pulvinar non
...
}}

Разделы

{{Navbox
...
| Группа 1 = Dolor
| Список 1 = Consectetur · adipiscing · elit
| Заголовок 2 = Mauris scelerisque | Группа 2 = Sit | Список 2 = Sed · commodo · quam · sed · orci · varius · bibendum
| Заголовок 10 = Duis ornare aliquet | Группа 11 = Curabitur sem ex | Список 11 = faucibus · eu maximus · sit · amet
| Группа 12 = Vestibulum | Список 12 = Cras · laoreet · ex · at · efficitur · auctor }}

Сворачиваемые разделы

{{Navbox
...
| Заголовок 1 = Mauris scelerisque
| Положение 1 = открытое
| Группа 1 = Sit
| Список 1 = Sed · commodo · quam · sed · orci · varius · bibendum
| Заголовок 2 = Duis ornare aliquet | Положение 2 = collapsed | Группа 2 = Curabitur sem ex | Список 2 = faucibus · eu maximus · sit · amet
| Группа 3 = Vestibulum | Список 3 = Cras · laoreet · ex · at · efficitur · auctor }}

Изображения

{{Navbox
...
| Левое изображение = [[File:Example.jpg|x166px]]
...
| Заголовок 2 = Mauris scelerisque
| Правое изображение 2 = [[File:Example.jpg|x25px]]
...
| Заголовок 10 = Duis ornare aliquet
| Правое изображение 10 = [[File:Example.jpg|x53px]]
...
}}

Подгруппы

{{Navbox
| Название = Lorem ipsum

| Группа 1 = Dolor
| Группа 1.1 = Sit
| Список 1.1 = Consectetur · adipiscing · elit
| Группа 1.2 = Amet
| Список 1.2 = Sed · commodo · quam · sed · orci · varius · bibendum

| Группа 2 = Quisque
| Список 2.1 = Mauris · facilisis · condimentum · pretium
| Список 2.2 = Proin · dictum · dui · felis
}}

Стиль

{{Navbox
...
| Название класс = neutral
| Группа стиль = color: red;
| Список стиль = color: blue;
| Список 12 стиль = color: green;
}}

Общий пример

{{Navbox
| Название = Lorem ipsum
| Положение = collapsed
| Ссылки = [[Template:NavboxBuilder|v]] · [[Template talk:NavboxBuilder|d]]
| Верхний = Cras laoreet, ex at efficitur auctor
| Нижний = Nunc vel condimentum tellus

| Группа 1 = Dolor
| Список 1 = Consectetur · adipiscing · elit

| Группа 2 = Sit
| Список 2 = Sed · commodo · quam · sed · orci · varius · bibendum

| Заголовок 10 = Bibendum
| Положение 10 = expanded
| Правое изображение 10 = [[File:Example.jpg|x43px]]
| Группа 10 = Curabitur 
| Группа 10.1 = Dolor
| Список 10.1 = Consectetur · adipiscing · elit
| Группа 10.2 = Sit
| Список 10.2 = Sed · commodo · quam · sed · orci · varius · bibendum

| Заголовок 20 = Aenean est lectus
| Положение 20 = collapsed
| Список 20 = Vestibulum · ante · ipsum · primis in faucibus · orci · luctus · et ultrices · posuere · cubilia · Curae

| Группа стиль = width: 75px
| База стиль = color: navy
}}

Дополнительные настройки

Эти настройки влияют на то, как импортируется модуль:

local NBB = require('Dev:NavboxBuilder')
 
Здесь расположены ваши настройки
 
return NBB

N и M

Если вам хочется изменить N и M в документации, это делается таким способом:

NBB.n = "ваша замена букве N"
NBB.m = "ваша замена букве M"

Note: Шаблоны и функции парсера не будут работать. Только HTML-синтаксис, например, курсив и теги.

Дизайн

Если вам хочется оформить навбокс, у вас есть несколько способов. Во-первых, можно использовать параметры, желательно с их передачей вызову #invoke в качестве параметров по умолчанию. Существует также несколько классов, взятых из темы вики, таких как color1 и accent. По умолчанию ими можно оформить навбокс следующим образом:

With as little as this in your Navbox template:

{{#invoke:NavboxBuilder|create
| Навбокс класс = toc
| Название класс = color1
| База класс = accent
| Список класс = color2
}}

Другой способ изменения стиля — это использование Common.css или Wikia.css. Ниже — инструкция по классам.

  • Основной элемент навбокса
    • .navbox
    • .mw-collapsible — если сворачивается
    • .mw-collapsed — если свёрнут
  • Название
    • .navbox-title
    • .mw-collapsible-toggle — если навбокс сворачивается
    • .mw-collapsible-toggle-expanded — если навбокс открыт
    • .mw-collapsible-toggle-collapsed — если навбокс свёрнут
  • Верхнее и нижнее поле
    • .navbox-above и .navbox-below
  • Левое и правое изображения (и основные, и в секциях)
    • .navbox-image
  • Заголовок разделов
    • .navbox-header
    • .mw-collapsible-toggle — если раздел сворачивается
    • .mw-collapsible-toggle-expanded — если раздел открыт
    • .mw-collapsible-toggle-collapsed — если раздел свёрнут
  • Строки
    • .navbox-odd — для строк с нечётными номерами
    • .navbox-even — для строк с чётными номерами
  • Группы
    • .navbox-group
  • Подгруппы
    • .navbox-subgroup
  • Списки
    • .navbox-list
    • .navbox-nogroup — если строки расположены вне группы
  • Дополнительные классы
    • .navbox-padding — оформление отступов между элементами. Применяется ко всем спискам, группам, подгруппам и верхним/нижним полям. Но не к заголовкам и названию.
    • .navbox-base — выделяет заголовки. Применяется ко всем группам, подгруппам, заголовкам и верхним/нижним полям.

Пространство

Если вам хочется изменить пространство между строками, то нужно изменить следующее:

.navbox-table {
    border-spacing: 3px;
}
.navbox-table-wrapper {
    margin: 0 -3px -3px;
}
.navbox > .navbox-table-wrapper:first-child,
.navbox-section > .navbox-table-wrapper:first-child {
    margin-top: -3px;
}
.navbox-section {
    margin-top: 3px;
}
Community content is available under CC-BY-SA unless otherwise noted.