Модуль:HF/Infobox/Seasons: различия между версиями
Перейти к навигации
Перейти к поиску
[непроверенная версия] | [отпатрулированная версия] |
Нет описания правки |
Нет описания правки |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 9: | Строка 9: | ||
-- Функции MediaNav | -- Функции MediaNav | ||
local MN = require('Module:HF/MediaNavs')._MediaNav | local MN = require('Module:HF/MediaNavs')._MediaNav | ||
-- | -- Вспомогательные функции (локальные, чтобы не беспокоиться о пространствах имен) | ||
local | local mediaDebutList = require('Module:HF/Infobox').mediaDebutList | ||
-- Шаблон Константы | -- Шаблон Константы | ||
local stripLinkToTarget = '^%[*([^%[|]*)|?' | local stripLinkToTarget = '^%[*([^%[|]*)|?' | ||
-- Заголовок любой страницы, вызывающей функцию | -- Заголовок любой страницы, вызывающей функцию | ||
local pageTitle = mw.title.getCurrentTitle().text | local pageTitle = mw.title.getCurrentTitle().text | ||
--------------------------------------------------------- | --------------------------------------------------------- | ||
-- Открытые функции (вызываются из шаблона или статьи) --Сезоны мультсериала «{{{мультсериал|}}}» | -- Открытые функции (вызываются из шаблона или статьи) --Сезоны мультсериала «{{{мультсериал|}}}» | ||
Строка 26: | Строка 23: | ||
if mw.title.getCurrentTitle().isContentPage == true then | if mw.title.getCurrentTitle().isContentPage == true then | ||
table.insert( out, HF.Category('Сезоны мультсериалов по алфавиту') ) | table.insert( out, HF.Category('Сезоны мультсериалов по алфавиту') ) | ||
table.insert( out, pageTitle ) | |||
mw.smw.set { ['Название'] = pageTitle:gsub(''',"'") } | mw.smw.set { ['Название'] = pageTitle:gsub(''',"'") } | ||
return table.concat( out ) .. ( args['ref'] or '' ) | return table.concat( out ) .. ( args['ref'] or '' ) | ||
Строка 39: | Строка 32: | ||
return args['название'] | return args['название'] | ||
else | else | ||
return args['название'] | return args['название'] | ||
end | end | ||
end | end | ||
Строка 45: | Строка 38: | ||
function Infobox.seasonPrevious (frame) | function Infobox.seasonPrevious (frame) | ||
local args = getArgs(frame) | local args = getArgs(frame) | ||
local Items = args['мультсериал'] | |||
local Nums = args['номер сезона'] | |||
local previous = | local previous = | ||
MN { | MN { | ||
'сезон мультсериала', | 'сезон мультсериала', Nums, '-1', | ||
Items, Number | |||
} | } | ||
return previous and ('%s'):format( previous ) or nil | return previous and ('%s'):format( previous ) or nil | ||
Строка 68: | Строка 61: | ||
local nextseason = | local nextseason = | ||
MN { | MN { | ||
'сезон мультсериала', | 'сезон мультсериала', args['номер сезона'], '1', | ||
args['мультсериал'], Number | |||
args['мультсериал'], | |||
} | } | ||
return nextseason and ('%s'):format( nextseason ) or nil | return nextseason and ('%s'):format( nextseason ) or nil |
Текущая версия от 12:25, 12 августа 2020
Этому шаблону не хватает документации. Вы можете помочь проекту, сделав описание шаблона: что он делает, как его использовать, какие параметры он принимает. Это поможет другим использовать его. Для оформления можете воспользоваться {{doc}} или {{doc-inline}}. Не забывайте помещать описание внутрь <noinclude></noinclude>. P.S. Также не забываем про категорию. |
local Infobox = {}
-------------------------------------
-- Библиотеки и глобальные функции --
-------------------------------------
-- обозначает высокочастотный
local HF = require('Module:HF')
-- Анализирует параметры вызова и шаблона, удаляет пробелы и удаляет пробелы.
local getArgs = require('Module:Arguments').getArgs
-- Функции MediaNav
local MN = require('Module:HF/MediaNavs')._MediaNav
-- Вспомогательные функции (локальные, чтобы не беспокоиться о пространствах имен)
local mediaDebutList = require('Module:HF/Infobox').mediaDebutList
-- Шаблон Константы
local stripLinkToTarget = '^%[*([^%[|]*)|?'
-- Заголовок любой страницы, вызывающей функцию
local pageTitle = mw.title.getCurrentTitle().text
---------------------------------------------------------
-- Открытые функции (вызываются из шаблона или статьи) --Сезоны мультсериала «{{{мультсериал|}}}»
---------------------------------------------------------
function Infobox.titleSeasons(frame)
local args = getArgs(frame)
local out = {}
if mw.title.getCurrentTitle().isContentPage == true then
table.insert( out, HF.Category('Сезоны мультсериалов по алфавиту') )
table.insert( out, pageTitle )
mw.smw.set { ['Название'] = pageTitle:gsub(''',"'") }
return table.concat( out ) .. ( args['ref'] or '' )
elseif mw.title.getCurrentTitle().namespace == 10
and not pageTitle:match('/testcases') then
--return nil
return args['название']
else
return args['название']
end
end
-- Предыдущий сезон
function Infobox.seasonPrevious (frame)
local args = getArgs(frame)
local Items = args['мультсериал']
local Nums = args['номер сезона']
local previous =
MN {
'сезон мультсериала', Nums, '-1',
Items, Number
}
return previous and ('%s'):format( previous ) or nil
end
-- Текущий сезон
function Infobox.seasonNumber (frame)
local args = getArgs(frame)
if args['номер сезона'] then
mw.smw.set { ['Сезон номер'] = args['номер сезона'] }
return args['номер сезона']
end
end
-- Следующий сезон
function Infobox.seasonNext (frame)
local args = getArgs(frame)
local nextseason =
MN {
'сезон мультсериала', args['номер сезона'], '1',
args['мультсериал'], Number
}
return nextseason and ('%s'):format( nextseason ) or nil
end
-------------------------------------------------------------------
-- Экспортируемые функции (используются в этом и других модулях) --
-------------------------------------------------------------------
-- Нет.
-------------------------------------------------
-- Вывод (отправьте его обратно как угодно) --
-------------------------------------------------
return Infobox