Bahaipedia
Bahaipediaدانشنامه بهائی
Trình đơn
Trợ giúp về MediaWiki
Trang ngẫu nhiên
Thay đổi gần đây
Tại dự án khác
Công cụ
Các liên kết đến đây
Thay đổi liên quan
Tải lên tập tin
Trang đặc biệt
Tải về bản in
Liên kết thường trực
Thông tin trang
Mô đun
Thảo luận
Xem lịch sử
Chưa đăng nhập
Tin nhắn
Đóng góp
Tạo tài khoản
Đăng nhập
Navigation
Navigation
Navegación
Navigation
ナビゲーション
Điều hướng
导航
Navegação
ناوبری
Навигация
Trợ giúp về MediaWiki
Trang ngẫu nhiên
Thay đổi gần đây
Tại dự án khác
Learn more
Weitere Informationen
Aprender más
En savoir plus
詳しく読む
Tìm hiểu thêm
了解更多
Saiba mais
یاد بگیرید بیشتر
Узнать больше
Tôn giáo Baha'i
Đức Baha'u'llah
Đức ‘Abdu’l-Baha
Tools
Werkzeuge
Herramientas
Outils
ツール
Công cụ
工具
Ferramentas
ابزارها
Инструменты
Các liên kết đến đây
Thay đổi liên quan
Tải lên tập tin
Trang đặc biệt
Tải về bản in
Liên kết thường trực
Thông tin trang
Translations
Übersetzungen
Traducciones
Traductions
各言語版
Bản dịch
翻译
Traduções
به زبان‌های دیگر
Переводы

Mô đun:Namespace detect/data

Từ Bahaipedia
Bước tới:điều hướng, tìm kiếm

Có thể viết tài liệu về mô đun này tại Mô đun:Namespace detect/data/tài liệu.

--------------------------------------------------------------------------------
--                          Namespace detect data                             --
-- This module holds data for [[Mô đun:Namespace detect]] to be loaded per    --
-- page, rather than per #gọi, for performance reasons.                    --
--------------------------------------------------------------------------------

local cfg = require('Mô đun: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()
}
Lấy từ “https://vi.bahaipedia.org/index.php?title=Mô_đun:Namespace_detect/data&oldid=147”
Trang này được sửa đổi lần cuối vào ngày 6 tháng 4 năm 2019, 03:06.
Nếu không có ghi chú khác, nội dung này được cấp phép Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.
Quy định quyền riêng tư
Giới thiệu Bahaipedia
Lời phủ nhận
Powered by MediaWiki