Модуль:HF/Infobox/AnimeSeries

Материал из Викимультии — энциклопедии мультипликации
Перейти к навигации Перейти к поиску


Документация
local Infobox = {}
-------------------------------------
-- Библиотеки и глобальные функции --
-------------------------------------
-- обозначает высокочастотный
local HF = require('Module:HF')
-- Анализирует параметры вызова и шаблона, удаляет пробелы и удаляет пробелы.
local getArgs = require('Module:Arguments').getArgs
-- Функции MediaNav
local MN = require('Module:HF/MediaNav')._MediaNav
-- Вспомогательные функции (локальные, чтобы не беспокоиться о пространствах имен)
local mediaDebutList = require('Module:HF/Infobox').mediaDebutList
-- Заголовок любой страницы, вызывающей функцию
local pageTitle = mw.title.getCurrentTitle().text
-----------------------------------------------------------
-- Локальные функции (используются только в этом модуле) --
-----------------------------------------------------------
-- Нет.
---------------------------------------------------------
-- Открытые функции (вызываются из шаблона или статьи) --
---------------------------------------------------------
-- Основное название
function Infobox.titleSeries(frame)
	local args = getArgs(frame)
	if mw.title.getCurrentTitle().isContentPage == true then
		local out = {}
		table.insert( out, HF.Category('Аниме-сериалы по алфавиту') )
		table.insert( out, HF.Category('Аниме по алфавиту') )
		
		-- Название
		if args['название'] then
			-- Название указано
			mw.smw.set{
				['Название'] = args['название'],
				['Названия'] = args['название'],
				['Аниме-сериал'] = args['название'],
				['Аниме'] = args['название']
			}
			table.insert( out, ('%s'):format(mw.text.trim(args['название']:match('[^(]*'))) )
		else
			-- Название не указано
			mw.smw.set {
				['Название'] = tostring(pageTitle:match("[^(]*"):gsub(''',"'")),
				['Названия'] = pageTitle:match("[^(]*")
			}
			table.insert( out, ('%s'):format(mw.text.trim(pageTitle:match('[^(]*'))) )
		end
		--Кандзи
		if args['киридзи'] then
			mw.smw.set {
				['Кандзи'] = args['кандзи'],
				['Названия'] = args['кандзи']
			}
		end
		--Киридзи
		if args['киридзи'] then
			mw.smw.set {
				['Киридзи'] = args['киридзи'],
				['Названия'] = args['киридзи']
			}
		end
		
		return table.concat( out ) .. ( args['ref'] or '' )
	elseif mw.title.getCurrentTitle().namespace == 10 and not pageTitle:match('/testcases') then
		--return nil
		return ( args['название'] and args['название']:match('[^(]*') ) or pageTitle:match("[^(]*")
	else
		return ( args['название'] and args['название']:match('[^(]*') ) or pageTitle:match("[^(]*")
	end
end
-------------------------------------------------------------------
-- Экспортируемые функции (используются в этом и других модулях) --
-------------------------------------------------------------------
-- Нет.
----------------------------------------------
-- Вывод (отправьте его обратно как угодно) --
----------------------------------------------
return Infobox