Модуль:HF/Infobox/Seasons: различия между версиями

Материал из Викимультии — энциклопедии мультипликации
Перейти к навигации Перейти к поиску
[непроверенная версия][отпатрулированная версия]
Нет описания правки
Нет описания правки
 
(не показано 10 промежуточных версий этого же участника)
Строка 7: Строка 7:
-- Анализирует параметры вызова и шаблона, удаляет пробелы и удаляет пробелы.
-- Анализирует параметры вызова и шаблона, удаляет пробелы и удаляет пробелы.
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
-- Создает списки
-- Функции MediaNav
local L = require('Module:List')
local MN = require('Module:HF/MediaNavs')._MediaNav
-- Языковые функции
-- Вспомогательные функции (локальные, чтобы не беспокоиться о пространствах имен)
local language = mw.language.new('ru')
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('Сезоны мультсериалов по алфавиту') )
if args['безымянный'] == 'Да' then
table.insert( out, pageTitle )
mw.smw.set{ ['Обслуживание'] = 'Название' }
table.insert( out, ("''%s''"):format( pageTitle:match("%s*[^(]*") ) )
else
table.insert( out, pageTitle:match("%s*[^(]*") )
end
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['название'] or pageTitle:match("[^(]*")
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 {
'Сезон', args['номер сезона'], '-1',
'сезон мультсериала', Nums, '-1',
args['мультсериал']
Items, Number
}
}
return previous and ('%s'):format( previous ) or nil
return previous and ('%s'):format( previous ) or nil
Строка 55: Строка 51:
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 args['номер сезона']
end
end
end
end
Строка 65: Строка 61:
local nextseason =
local nextseason =
MN {
MN {
'Эпизод', args['эпизод'], '1',
'сезон мультсериала', args['номер сезона'], '1',
args['мультсериал']
args['мультсериал'], Number
}
}
return nextseason and ('%s'):format( nextseason ) or nil
return nextseason and ('%s'):format( nextseason ) or nil

Текущая версия от 12:25, 12 августа 2020


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