Модуль:HF/Infobox/Seasons: различия между версиями
Перейти к навигации
Перейти к поиску
[непроверенная версия] | [непроверенная версия] |
Нет описания правки |
Нет описания правки |
||
Строка 47: | Строка 47: | ||
local previous = | local previous = | ||
MN { | MN { | ||
'Сезон', | 'Сезон мультсериала', | ||
args['номер сезона'], | args['номер сезона'], | ||
'-1', | '-1', | ||
Строка 57: | Строка 57: | ||
function Infobox.seasonNumber (frame) | function Infobox.seasonNumber (frame) | ||
local args = getArgs(frame) | local args = getArgs(frame) | ||
if args[' | if args['номер сезона'] then | ||
mw.smw.set { ['Сезон номер'] = args['номер сезона'] } | mw.smw.set { ['Сезон номер'] = args['номер сезона'] } | ||
return ("''Сезон'' #%s"):format( args['номер сезона'] ) | return ("''Сезон'' #%s"):format( args['номер сезона'] ) | ||
Строка 67: | Строка 67: | ||
local nextseason = | local nextseason = | ||
MN { | MN { | ||
' | 'Сезон мультсериала', | ||
args['эпизод'], | args['эпизод'], | ||
'1', | '1', | ||
['мультсериал'] = args['мультсериал'] | ['мультсериал'] = args['мультсериал'] | ||
} | } | ||
return nextseason and ('%s'):format( nextseason ) or nil | return nextseason and ('%s'):format( nextseason ) or nil | ||
end | end |
Версия от 21:47, 17 марта 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/MediaNav')._MediaNav
-- Языковые функции
local language = mw.language.new('ru')
-- Шаблон Константы
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('Сезоны мультсериалов по алфавиту') )
if args['безымянный'] == 'Да' then
mw.smw.set{ ['Обслуживание'] = 'Название' }
table.insert( out, ("''%s''"):format( pageTitle:match("%s*[^(]*") ) )
else
table.insert( out, pageTitle:match("%s*[^(]*") )
end
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['название'] or pageTitle:match("[^(]*")
end
end
-- Предыдущий сезон
function Infobox.seasonPrevious (frame)
local args = getArgs(frame)
local previous =
MN {
'Сезон мультсериала',
args['номер сезона'],
'-1',
['мультсериал'] = args['мультсериал']
}
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 ("''Сезон'' #%s"):format( args['номер сезона'] )
end
end
-- Следующий сезон
function Infobox.seasonNext (frame)
local args = getArgs(frame)
local nextseason =
MN {
'Сезон мультсериала',
args['эпизод'],
'1',
['мультсериал'] = args['мультсериал']
}
return nextseason and ('%s'):format( nextseason ) or nil
end
-------------------------------------------------------------------
-- Экспортируемые функции (используются в этом и других модулях) --
-------------------------------------------------------------------
-- Нет.
-------------------------------------------------
-- Вывод (отправьте его обратно как угодно) --
-------------------------------------------------
return Infobox