Модуль: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['боруто аниме'] == 'Да' then
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['мультсериал']
}
}
--{{tlx|1=MediaNav|2=Media Category|3=Release Number|4=Direction|5=shippuden=Value|6=boruto=Value}}
return nextseason and ('%s'):format( nextseason ) or nil
return nextseason and ('%s'):format( nextseason ) or nil
end
end

Версия от 21:47, 17 марта 2020


Документация
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