دانشنامه بهائی
Bahaipediaدانشنامه بهائی
منو
تغییرات اخیر
مقالهٔ تصادفی
راهنما دربارهٔ مدیاویکی
در پروژه‌های دیگر
ابزارها
پیوندها به این صفحه
تغییرات مرتبط
بارگذاری پرونده
صفحه‌های ویژه
نسخهٔ قابل چاپ
پیوند پایدار
اطلاعات صفحه
پودمان
بحث
نمایش تاریخچه
به سامانه وارد نشده‌اید
بحث
مشارکت‌ها
ساخت حساب
ورود
Navigation
Navigation
Navegación
Navigation
ナビゲーション
Điều hướng
导航
Navegação
ناوبری
Навигация
تغییرات اخیر
مقالهٔ تصادفی
راهنما دربارهٔ مدیاویکی
در پروژه‌های دیگر
Learn more
Weitere Informationen
Aprender más
En savoir plus
詳しく読む
Tìm hiểu thêm
了解更多
Saiba mais
یاد بگیرید بیشتر
Узнать больше
آئین بهائی
بهاءالله
عبدالبهاء
آموزه های بهایی
Tools
Werkzeuge
Herramientas
Outils
ツール
Công cụ
工具
Ferramentas
ابزارها
Инструменты
پیوندها به این صفحه
تغییرات مرتبط
بارگذاری پرونده
صفحه‌های ویژه
نسخهٔ قابل چاپ
پیوند پایدار
اطلاعات صفحه
Translations
Übersetzungen
Traducciones
Traductions
各言語版
Bản dịch
翻译
Traduções
به زبان‌های دیگر
Переводы

پودمان:Namespace detect/data

از دانشنامه بهائی
پرش به:ناوبری، جستجو

توضیحات این پودمان می‌تواند در پودمان:Namespace detect/data/توضیحات قرار گیرد.

--------------------------------------------------------------------------------
--                          Namespace detect data                             --
-- This module holds data for [[Module:Namespace detect]] to be loaded per    --
-- page, rather than per #invoke, for performance reasons.                    --
--------------------------------------------------------------------------------

local cfg = require('Module:Namespace detect/config')

local function addKey(t, key, defaultKey)
	if key ~= defaultKey then
		t[#t + 1] = key
	end
end

-- Get a table of parameters to query for each default parameter name.
-- This allows wikis to customise parameter names in the cfg table while
-- ensuring that default parameter names will always work. The cfg table
-- values can be added as a string, or as an array of strings.

local defaultKeys = {
	'main',
	'talk',
	'other',
	'subjectns',
	'demospace',
	'demopage'
}

local argKeys = {}
for i, defaultKey in ipairs(defaultKeys) do
	argKeys[defaultKey] = {defaultKey}
end

for defaultKey, t in pairs(argKeys) do
	local cfgValue = cfg[defaultKey]
	local cfgValueType = type(cfgValue)
	if cfgValueType == 'string' then
		addKey(t, cfgValue, defaultKey)
	elseif cfgValueType == 'table' then
		for i, key in ipairs(cfgValue) do
			addKey(t, key, defaultKey)
		end
	end
	cfg[defaultKey] = nil -- Free the cfg value as we don't need it any more.
end

local function getParamMappings()
	--[[
	-- Returns a table of how parameter names map to namespace names. The keys
	-- are the actual namespace names, in lower case, and the values are the
	-- possible parameter names for that namespace, also in lower case. The
	-- table entries are structured like this:
	-- {
	--   [''] = {'main'},
	--   ['wikipedia'] = {'wikipedia', 'project', 'wp'},
	--   ...
	-- }
	--]]
	local mappings = {}
	local mainNsName = mw.site.subjectNamespaces[0].name
	mainNsName = mw.ustring.lower(mainNsName)
	mappings[mainNsName] = mw.clone(argKeys.main)
	mappings['talk'] = mw.clone(argKeys.talk)
	for nsid, ns in pairs(mw.site.subjectNamespaces) do
		if nsid ~= 0 then -- Exclude main namespace.
			local nsname = mw.ustring.lower(ns.name)
			local canonicalName = mw.ustring.lower(ns.canonicalName)
			mappings[nsname] = {nsname}
			if canonicalName ~= nsname then
				table.insert(mappings[nsname], canonicalName)
			end
			for _, alias in ipairs(ns.aliases) do
				table.insert(mappings[nsname], mw.ustring.lower(alias))
			end
		end
	end
	return mappings
end

return {
	argKeys = argKeys,
	cfg = cfg,
	mappings = getParamMappings()
}
برگرفته از «https://fa.bahaipedia.org/index.php?title=پودمان:Namespace_detect/data&oldid=92»
این صفحه آخرین‌بار در ‏۳۱ مارس ۲۰۱۹ ساعت ‏۰۲:۳۷ ویرایش شده است.
محتوایات تحت اجازه‌نامهٔ Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License هستند مگر اینکه خلافش ذکر شده باشد.
سیاست حفظ حریم خصوصی
دربارهٔ دانشنامه بهائی
تکذیب‌نامه‌ها
Powered by MediaWiki