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

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


Документация
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 arrayTable = require('Module:HF/Infobox').arrayTable
-- Generates lists
local L = require('Module:List')
-- Шаблон Константы
local stripLinkToTarget = '^%[*([^%[|]*)|?'
-- Заголовок любой страницы, вызывающей функцию
local pageTitle = mw.title.getCurrentTitle().text
---------------------------------------------------------
-- Открытые функции (вызываются из шаблона или статьи) --Сезоны мультсериала «{{{мультсериал|}}}»
---------------------------------------------------------
function Infobox.nameCharacter(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.voiceJapanese(frame)
	local args = getArgs(frame)
	local options = {
		['SemanticPropertyName'] = 'Актёр озвучивания',
		['Link'] = 'default'
	}
	local values = arrayTable ( args['японский голос'], ',%s*', options, frame )
	--return table.concat( classes, ', ' )
	return L.makeList( 'unbulleted' , values )
end

function Infobox.voiceRussian(frame)
	local args = getArgs(frame)
	local options = {
		['SemanticPropertyName'] = 'Актёр дубляжа',
		['Link'] = 'default'
	}
	local values = arrayTable ( args['русский голос'], ',%s*', options, frame )
	--return table.concat( classes, ', ' )
	return L.makeList( 'unbulleted' , values )
end

-------------------------------------------------------------------
-- Экспортируемые функции (используются в этом и других модулях) --
-------------------------------------------------------------------
-- Нет.
-------------------------------------------------
-- Вывод (отправьте его обратно как угодно) --
-------------------------------------------------
return Infobox