Документация по модулю [ просмотреть ] [ изменить ] [ историю ] [ очистить ] Этот модуль выводит различные виды списков. В настоящее время он поддерживает маркированные списки, не маркированные списки, горизонтальные списки, упорядоченные списки (нумерованные или алфавитные) и горизонтальные упорядоченные списки. Это позволяет легко стилизовать css список или отдельные элементы списка.
Применение
Быстрое использование
{{#invoke: list | функция | первый элемент | второй пункт | третий элемент | ...}}
Все параметры
{{#invoke: list | функция
| первый элемент | второй пункт | третий пункт | ...| start = начальный номер для упорядоченных списков
| type = тип нумерации для упорядоченных списков
| list_style_type = тип маркера для упорядоченных списков (использует CSS)
| class = class
| style = style
| list_style = style for the list
| item_style = style for все элементы списка
| item1_style = стиль для первого элемента списка | item2_style = стиль для второго элемента списка | ...| item1_value = значение для первого элемента списка | item2_value = значение для второго элемента списка | ...| indent = отступ для горизонтальных списков
}}
Аргументы, переданные из родительского шаблона
{{#invoke: list | функция }}
Функции
Название функции | Производит | Пример вывода | Шаблон с использованием функции |
---|
bulleted | Маркированные списки | - Первый пункт
- Второй предмет
- Третий пункт
| {{bulleted list}} |
unbulleted | Списки без маркировки | - Первый пункт
- Второй предмет
- Третий пункт
| {{unbulleted list}} |
horizontal | Горизонтальные маркированные списки | - Первый пункт
- Второй предмет
- Третий пункт
| {{hlist}} |
ordered | Упорядоченные списки (нумерованные списки и алфавитные списки) | - Первый пункт
- Второй предмет
- Третий пункт
| {{ordered list}} |
horizontal_ordered | Горизонтальные упорядоченные списки | - Первый пункт
- Второй предмет
- Третий пункт
| |
Параметры
- Позиционные параметры (
1
, 2
, 3
...) - это элементы списка. Если элементы списка отсутствуют, модуль ничего не выведет. start
- устанавливает начальный элемент для упорядоченных списков. Это может быть начальный номер для нумерованных списков или начальная буква для алфавитных списков. Горизонтальные упорядоченные списки поддерживают только числа.type
- тип маркера, используемого в упорядоченных списках. Возможные значения: «1» для чисел (по умолчанию), «A» для прописных букв, «a» для строчных букв, «I» для прописных римских цифр и «i» для строчных римских цифр. Не поддерживается в горизонтальных упорядоченных списках. См. Также list_style_type
параметр.list_style_type
- тип маркера, используемого в упорядоченных списках. Здесь используется стиль CSS и доступно больше типов, чем в type
параметре, использующем атрибут html . Возможные значения перечислены на странице типа списка MDN . Поддержка может зависеть от браузера. list-style-type
- псевдоним для этого параметра.class
- настраиваемый класс для ...
тегов, окружающих список, например plainlinks
.style
- собственный стиль css для ...
тегов, окружающих список, например font-size: 90%;
.list_style
- собственный стиль css для самого списка. Формат такой же, как для |style=
параметра.item_style
- собственный стиль css для всех элементов списка ( - ...
тегов). Формат такой же, как для |style=
параметра.item1_style
, item2_style
, item3_style
... - Пользовательские стили CSS для каждого из элементов списка. Формат такой же, как для |style=
параметра.item1_value
, item2_value
, item3_value
... - пользовательские значения для данного элемента списка. Элементы списка, следующие за данным, будут увеличиваться с указанного значения. Значение должно быть положительным целым числом. (Обратите внимание, что этот параметр влияет только на упорядоченные списки.)indent
- этот параметр делает отступ в списке только для горизонтальных и горизонтальных упорядоченных списков. Значение должно быть числом, например 2
. Отступ рассчитывается в em и в 1,6 раза превышает указанное значение. Если отступ не указан, значение по умолчанию равно нулю.
Примеры
Маркированные списки
Код | Результат |
---|
{{#invoke:list|bulleted|First item|Second item|Third item}} | - Первый пункт
- Второй предмет
- Третий пункт
|
{{#invoke:list|bulleted|First item|Second item|Third item|item_style=color:blue;}} | - Первый пункт
- Второй предмет
- Третий пункт
|
{{#invoke:list|bulleted|First item|Second item|Third item|item1_style=background-color:yellow;|item2_style=background-color:silver;}} | - Первый пункт
- Второй предмет
- Третий пункт
|
Списки без маркировки
Код | Результат |
---|
{{#invoke:list|unbulleted|First item|Second item|Third item}} | - Первый пункт
- Второй предмет
- Третий пункт
|
{{#invoke:list|unbulleted|First item|Second item|Third item|item_style=color:blue;}} | - Первый пункт
- Второй предмет
- Третий пункт
|
{{#invoke:list|unbulleted|First item|Second item|Third item|item1_style=background-color:yellow;|item2_style=background-color:silver;}} | - Первый пункт
- Второй предмет
- Третий пункт
|
Горизонтальные списки
Код | Результат |
---|
{{#invoke:list|horizontal|First item|Second item|Third item}} | - Первый пункт
- Второй предмет
- Третий пункт
|
{{#invoke:list|horizontal|First item|Second item|Third item|indent=2}} | - Первый пункт
- Второй предмет
- Третий пункт
|
Упорядоченные списки
Код | Результат |
---|
{{#invoke:list|ordered|First item|Second item|Third item}} | - Первый пункт
- Второй предмет
- Третий пункт
|
{{#invoke:list|ordered|First item|Second item|Third item|start=3}} | - Первый пункт
- Второй предмет
- Третий пункт
|
{{#invoke:list|ordered|First item|Second item|Third item|type=i} | - Первый пункт
- Второй предмет
- Третий пункт
|
{{#invoke:list|ordered|First item|Second item|Third item|list_style_type=lower-greek}} | - Первый пункт
- Второй предмет
- Третий пункт
|
Горизонтальные упорядоченные списки
Код | Результат |
---|
{{#invoke:list|horizontal_ordered|First item|Second item|Third item}} | - Первый пункт
- Второй предмет
- Третий пункт
|
{{#invoke:list|horizontal_ordered|First item|Second item|Third item|start=3}} | - Первый пункт
- Второй предмет
- Третий пункт
|
{{#invoke:list|horizontal_ordered|First item|Second item|Third item|indent=2}} | - Первый пункт
- Второй предмет
- Третий пункт
|
Категория отслеживания / обслуживания
- Категория: Шаблоны списков с устаревшими параметрами (0)
Смотрите также
Выше документация является включена через от модуля: Список / док . ( Редактировать | история )
Редакторы могут экспериментировать в этом модуле в песочнице ( редактировать | дифф ) и testcases ( редактировать | прогона ) страниц.
Подстраницы этого модуля .
- Этот модуль выводит разные виды списков. На данный момент помечено,- поддерживаются не маркированные, горизонтальные, упорядоченные и горизонтально упорядоченные списки.локальный libUtil = требуется ( 'libraryUtil' )локальный checkType = libUtil . checkTypelocal mTableTools = require ( 'Модуль: TableTools' )местный p = {}local listTypes = {[ 'bulleted' ] = правда ,[ 'unbulleted' ] = правда ,[ 'horizontal' ] = истина ,[ 'заказанный' ] = правда ,[ 'horizontal_ordered' ] = правда}функция p . makeListData ( listType , аргументы )- Создает таблицу данных для передачи в p.renderList.локальные данные = {}- Классыданные . классы = {}если listType == 'horizontal' или listType == 'horizontal_ordered', тогдаtable.insert ( данные . классы , 'hlist hlist-separated' )elseif listType == 'unbulleted', затемtable.insert ( данные . классы , 'простой список' )конецtable.insert ( данные . классы , аргументы . класс )- Основной стиль divданные . style = args . стиль- Отступ для горизонтальных списковесли listType == 'horizontal' или listType == 'horizontal_ordered', тогдалокальная отступа = ToNumber ( арг . отступ )indent = отступ и отступ * 1,6 или 0если отступ > 0, тоданные . marginLeft = отступ .. 'em'конецконец- Типы стилей списков для упорядоченных списков- Это может быть «1, 2, 3», «a, b, c» или ряд других. Стиль списка- тип устанавливается либо атрибутом "type", либо CSS "list-style-type"-- имущество.если listType == ' order ' или listType == 'horizontal_ordered', тогда данные . listStyleType = аргументы . list_style_type или args [ 'тип-стиля-списка' ]данные . тип = аргументы [ 'тип' ]- Обнаруживать атрибуты недопустимого типа и пытаться преобразовать их в- свойства CSS в стиле списка.если data . тип а не данные . listStyleTypeа не ToString ( данные . типа ): находят ( '^% S * [1AaIi]% S * $' )тогдаданные . listStyleType = данные . типданные . type = nilконецконец- Тип списка теговесли listType == ' order ' или listType == 'horizontal_ordered', тогдаданные . listTag = 'ол'ещеданные . listTag = 'ul'конец- Начальный номер для упорядоченных списковданные . start = args . Началоесли listType == 'horizontal_ordered', тогда- Применить исправление, чтобы получить стартовые номера при работе с горизонтальными упорядоченными списками.локальная startNum = ToNumber ( данные . начать )если startNum, тоданные . counterReset = 'listitem' .. tostring ( startNum - 1 )конецконец- Стиль списка - ul_style и ol_style включены для обратной совместимости. Нет - проводится различие для упорядоченных и неупорядоченных списков.данные . listStyle = аргументы . list_style- Список предметов- li_style включен для обратной совместимости. item_style был включен- чтобы было легче понять не кодировщикам.данные . itemStyle = аргументы . item_style или аргументы . li_styleданные . items = {}для i , num в ipairs ( mTableTools . numKeys ( args )) doместный элемент = {}пункт . content = args [ число ]пункт . style = args [ 'элемент' .. tostring ( число ) .. '_style' ]или args [ 'item_style' .. tostring ( num )]пункт . значение = аргументы [ 'элемент' .. строка ( число ) .. '_значение' ]или args [ 'item_value' .. tostring ( num )]table.insert ( данные . элементы , элемент )конецвернуть данныеконецфункция p . renderList ( данные )- Отображает список HTML.- Вернуть пустую строку, если элементов списка нет.если type ( data . items ) ~ = 'table' или # data . items < 1, затемвернуться ''конец- Визуализировать основной тег div.локальный корень = mw . html . создать ( 'div' )для i , класс в ipairs ( data . classes или {}) doкорень : addClass ( класс )конецкорень : css {[ 'margin-left' ] = data . marginLeft }если data . стиль тогдаКорень : cssText ( данные . стиль )конец- Визуализировать тег списка.local list = root : tag ( data . listTag или 'ul' )список: attr { start = data . начало , тип = данные . type }: css {[ 'counter-reset' ] = данные . counterReset ,[ 'list-style-type' ] = данные . listStyleType}если data . listStyle тогдасписок : cssText ( data . listStyle )конец- Визуализировать элементы спискадля i , t в ipairs ( data . items или {}) doлокальный элемент = список : тег ( 'ли' )если data . itemStyle тогдаэлемент : cssText ( data . itemStyle )конецесли т . стиль тогдаэлемент : cssText ( т . стиль )конецпункт: attr { значение = t . значение }: wikitext ( т . содержание )конецвернуться в строку ( корень )конецфункция p . renderTrackingCategories ( аргументы )local isDeprecated = false - отслеживает устаревшие параметры.для k , v в парах ( args ) делаемk = tostring ( k )если k : find ( '^ item_style% d + $' ) или k : find ( '^ item_value% d + $' ), тоisDeprecated = истинаперерывконецконецместное ret = ''если isDeprecated, тоret = ret .. '[[Категория: Список шаблонов с устаревшими параметрами]]'конецвозвращение в отставкеконецфункция p . makeList ( listType , аргументы )если не listType или не listTypes [ listType ], тоошибка ( string.format ("неверный аргумент №1 для 'makeList' ('% s' не является допустимым типом списка)" ,tostring ( listType )), 2 )конецcheckType ( 'makeList' , 2 , аргументы , 'таблица' )локальные данные = стр . makeListData ( listType , аргументы )локальный список = p . renderList ( данные )local trackingCategories = p . renderTrackingCategories ( аргументы ) список возврата .. отслеживаниеКатегорииконецдля listType в парах ( listTypes ) сделайтеp [ listType ] = функция ( фрейм )local mArguments = require ( 'Модуль: аргументы' )local origArgs = аргументы . getArgs ( frame , {valueFunc = функция ( ключ , значение )если не значение или не mw . ustring . find ( value , '% S' ) затем вернуть nil endесли мв . ustring . find ( значение , '^% s * [% * # ;:]' ) затемвозвращаемое значениеещевозвращаемое значение : match ( '^% s * (.-)% s * $' )конецвернуть нольконец})- Скопируйте все аргументы в новую таблицу для более быстрой индексации.местные аргументы = {}для к , V в паре ( origArgs ) делаетargs [ k ] = vконецвозврат п . makeList ( listType , аргументы )конецконецвернуть p