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

Материал из Викимультии — энциклопедии мультипликации
Перейти к навигации Перейти к поиску
[непроверенная версия][отпатрулированная версия]
← Новая страница: «local Infobox = {} ------------------------------------- -- Библиотеки и глобальные функции -- -----------------------------------...»
 
Нет описания правки
 
(не показано 5 промежуточных версий этого же участника)
Строка 11: Строка 11:
-- Вспомогательные функции (локальные, чтобы не беспокоиться о пространствах имен)
-- Вспомогательные функции (локальные, чтобы не беспокоиться о пространствах имен)
local mediaDebutList = require('Module:HF/Infobox').mediaDebutList
local mediaDebutList = require('Module:HF/Infobox').mediaDebutList
local arrayTable = require('Module:HF/Infobox').arrayTable
-- Generates lists
local L = require('Module:List')
-- Шаблон Константы
-- Шаблон Константы
local stripLinkToTarget = '^%[*([^%[|]*)|?'
local stripLinkToTarget = '^%[*([^%[|]*)|?'
Строка 18: Строка 21:
-- Открытые функции (вызываются из шаблона или статьи) --Сезоны мультсериала «{{{мультсериал|}}}»
-- Открытые функции (вызываются из шаблона или статьи) --Сезоны мультсериала «{{{мультсериал|}}}»
---------------------------------------------------------
---------------------------------------------------------
function Infobox.titleSeasons(frame)
function Infobox.nameCharacter(frame)
local args = getArgs(frame)
local args = getArgs(frame)
local out = {}
local out = {}
Строка 35: Строка 38:
end
end
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
-------------------------------------------------------------------
-------------------------------------------------------------------
-- Экспортируемые функции (используются в этом и других модулях) --
-- Экспортируемые функции (используются в этом и других модулях) --

Текущая версия от 23:08, 14 февраля 2021


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