Модуль:Сайт: различия между версиями

Материал из Кадровый состав НКВД 1935-1939
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 16: Строка 16:
['www.centrasia.ru']          = { type = 'site',  name = 'ЦентрАзия]', },
['www.centrasia.ru']          = { type = 'site',  name = 'ЦентрАзия]', },
['www.pogranec.ru']          = { type = 'forum',  name = 'Погранец]', },
['www.pogranec.ru']          = { type = 'forum',  name = 'Погранец]', },
['pogranec.ru']              = { type = 'forum',  name = 'Погранец]', },
['stalin.memo.ru']            = { type = 'stalin', name = '', },
['stalin.memo.ru']            = { type = 'stalin', name = '', },
unknow                        = { type = 'unknow', name = '', },
unknow                        = { type = 'unknow', name = '', },

Версия от 00:03, 20 января 2017

Для документации этого модуля может быть создана страница Модуль:Сайт/doc

local pp = {}

local tabType = {
	site = { what = '[%s сайт ', where = 'на [%s сайте ', },
	forum = { what = '[%s форум ', where = 'на [%s форуме ', },
	stalin = { what = '«[%s Сталинские списки]»', where = 'в «[%s Сталинских списках]»', }, -- просто для примера
	ref = { what = '[%s Справочник ', where = 'в [%s Справочнике ', },
	unknow = { what = '[[Категория:Незарегистрированный сайт]]сайт %s', where = '[[Категория:Незарегистрированный сайт]]на сайте %s', },
}
local tabSite = {
	['www.alexanderyakovlev.org'] = { type = 'site',   name = 'Фонда А. Н. Яковлева]', },
	['www.nkvdgugb.ru']           = { type = 'site',   name = 'А. М. Григоряна]', },
	['www.knowbysight.info']      = { type = 'ref',    name = 'по истории Коммунистической партии и Советского Союза]', },
	['forum.mozohin.ru']          = { type = 'forum',  name = 'О. Мозохина]', },
	['shieldandsword.mozohin.ru'] = { type = 'site',   name = 'В. Мзареулова]', },
	['www.centrasia.ru']          = { type = 'site',   name = 'ЦентрАзия]', },
	['www.pogranec.ru']           = { type = 'forum',  name = 'Погранец]', },
	['pogranec.ru']               = { type = 'forum',  name = 'Погранец]', },
	['stalin.memo.ru']            = { type = 'stalin', name = '', },
	unknow                        = { type = 'unknow', name = '', },
}



pp[''] = function ( frame )
	local para = frame.args
	local whatwhere = mw.text.trim( para[1] or '' )
	if whatwhere == '' then
		whatwhere = 'what'
	end

	local args = frame:getParent().args
	local url = mw.text.trim( args[1] or '' )
	local uri = mw.uri.new( url )
	if not uri then
		return '<span class=error>(не смогли разобрать «' .. url .. '»)</span>'
	end
	local site = tabSite[uri.host]
	if not site then
		site = tabSite.unknow
	end
	return mw.ustring.format( tabType[site.type][whatwhere] .. site.name, url )
end

return pp