Вікікнігі bewikibooks https://be.wikibooks.org/wiki/%D0%93%D0%B0%D0%BB%D0%BE%D1%9E%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D0%B0%D1%80%D0%BE%D0%BD%D0%BA%D0%B0 MediaWiki 1.47.0-wmf.2 first-letter Мультымедыя Адмысловае Размовы Удзельнік Размовы з удзельнікам Вікікнігі Размовы пра Вікікнігі Файл Размовы пра файл MediaWiki Размовы пра MediaWiki Шаблон Размовы пра шаблон Даведка Размовы пра даведку Катэгорыя Размовы пра катэгорыю TimedText TimedText talk Модуль Размовы пра модуль Event Event talk Модуль:Category handler/shared 828 3406 8053 2026-05-14T06:23:54Z Jarash 1066 Новая старонка: «-- Гэты модуль утрымлівае агульныя функцыі, якія выкарыстоўваюцца [[Модуль:Category handler]] -- і ягонымі падмодулямі. local p = {} function p.matchesBlacklist(page, blacklist) for i, pattern in ipairs(blacklist) do local match = mw.ustring.match(page, pattern) if match then return true end end return false end function p.getParamMappings(useLoadData) local dataP...» 8053 Scribunto text/plain -- Гэты модуль утрымлівае агульныя функцыі, якія выкарыстоўваюцца [[Модуль:Category handler]] -- і ягонымі падмодулямі. local p = {} function p.matchesBlacklist(page, blacklist) for i, pattern in ipairs(blacklist) do local match = mw.ustring.match(page, pattern) if match then return true end end return false end function p.getParamMappings(useLoadData) local dataPage = 'Module:Namespace detect/data' if useLoadData then return mw.loadData(dataPage).mappings else return require(dataPage).mappings end end function p.getNamespaceParameters(titleObj, mappings) -- Мы не выкарыстоўваем title.nsText для імені прасторы назваў, таму што яна дадае -- падкрэсліванні. local mappingsKey if titleObj.isTalkPage then mappingsKey = 'talk' else mappingsKey = mw.site.namespaces[titleObj.namespace].name end mappingsKey = mw.ustring.lower(mappingsKey) return mappings[mappingsKey] or {} end return p 0w3fx8qy1988sypp4pk487a5sj03oes Модуль:Category handler/blacklist 828 3407 8054 2026-05-14T06:43:50Z Jarash 1066 Новая старонка: «-- Гэты модуль утрымлівае чорны спіс, які выкарыстоўваецца [[Модуль:Category handler]]. -- Старонкі, якія адпавядаюць узорам Lua у гэтым спісе, не будуць катэгарызавацца, толькі калі -- катэгарызацыя не патрабуецца яўна. return { '^Галоўная старонка', -- не катэгарызавац...» 8054 Scribunto text/plain -- Гэты модуль утрымлівае чорны спіс, які выкарыстоўваецца [[Модуль:Category handler]]. -- Старонкі, якія адпавядаюць узорам Lua у гэтым спісе, не будуць катэгарызавацца, толькі калі -- катэгарызацыя не патрабуецца яўна. return { '^Галоўная старонка', -- не катэгарызаваць галоўную старонку. -- Не катэгарызаваць наступныя старонкі і іх падстаронкі. -- "%f[/\0]" адпавядае, калі наступны сімвал "/" ці канец радка. -- Не катэгарызаваць падстаронкі гэтых старонак, але дазваляць -- катэгарызацыю асноўнай старонкі. -- Не катэгарызаваць архівы. '/[аА]рхіў', } kpwpcninisqd88wr3xb2haa3nufy0kk Модуль:Namespace detect/data 828 3408 8055 2026-05-14T06:56:45Z Jarash 1066 Новая старонка: «-------------------------------------------------------------------------------- -- Звесткі для вызначэння прасторы назваў -- -- Гэты модуль утрымлівае звесткі для [[Модуль:Namespace detect]], якія -- -- загружаюцца на кожную старонку, замест выкарыстання #invoke, з прычыны -- -- эфе...» 8055 Scribunto text/plain -------------------------------------------------------------------------------- -- Звесткі для вызначэння прасторы назваў -- -- Гэты модуль утрымлівае звесткі для [[Модуль:Namespace detect]], якія -- -- загружаюцца на кожную старонку, замест выкарыстання #invoke, з прычыны -- -- эфектыўнасці. -- -------------------------------------------------------------------------------- local cfg = require('Модуль:Namespace detect/config') local function addKey(t, key, defaultKey) if key ~= defaultKey then t[#t + 1] = key end end -- Узяць табліцу параметраў для запыту кожнага імені параметра. -- Гэта дазваляе вікі налажваць імёны параметраў у табліцы cfg, пры гэтым -- імёны параметраў па змоўчванні будуць заўсёды працаваць. Табліца значэнняў cfg -- можа быць дададзеная як радок, ці як масіў радкоў. 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 -- Вызваліць значэнне cfg, таму што яно нам больш не патрэбнае. end local function getParamMappings() --[[ -- Вяртае табліцу адпаведнікаў імёнаў параметраў імёнам прастораў назваў. Ключы - -- гэта насамрэч імёны прастораў назваў, малымі літарамі, значэнні - гэта магчымыя -- імёны параметраў для гэтых прастораў назваў, таксама малымі літарамі. Запісы -- табліцы маюць наступную структуру: -- { -- [''] = {'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 -- Выключыць асноўную прастору назваў. 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() } 0sm9hj1vww36q7yirzq56o0gei6ukz9 Модуль:Namespace detect/config 828 3409 8056 2026-05-14T07:46:43Z Jarash 1066 Новая старонка: «-------------------------------------------------------------------------------- -- Канфігурацыйныя звесткі для вызначэння прасторы назваў -- -- -- -- Гэты модуль утрымлівае канфігурацыйныя звесткі для Модуля:Namespace -- -- detect. Тут вы можаце л...» 8056 Scribunto text/plain -------------------------------------------------------------------------------- -- Канфігурацыйныя звесткі для вызначэння прасторы назваў -- -- -- -- Гэты модуль утрымлівае канфігурацыйныя звесткі для Модуля:Namespace -- -- detect. Тут вы можаце лакалізаваць модуль да мовы вашай вікі. -- -- -- -- Каб актывізаваць канфігурацыйны элемент, трэба вынесці яго з-пад -- -- каментарыя. Гэта значыць, трэба выдаліць тэкст "-- " у пачатку радка. -- -------------------------------------------------------------------------------- local cfg = {} -- Не рэдагуйце гэты радок. -------------------------------------------------------------------------------- -- Імёны параметраў -- -- Гэтыя элементы канфігурацыі вызначаюць асаблівыя імёны параметраў. -- -- Параметры, якія дадаюцца тут, будуць працаваць у дапаўненне да -- -- першапачатковых імёнаў параметраў па-англійску. Каб дадаць адно новае імя, -- -- вы можаце выкарыстаць гэты фармат: -- -- -- -- cfg.foo = 'parameter name' -- -- -- -- Каб дадаць некалькі імёнаў, вы можаце выкарыстаць гэты фармат: -- -- -- -- cfg.foo = {'parameter name 1', 'parameter name 2', 'parameter name 3'} -- -------------------------------------------------------------------------------- ---- Гэты параметр паказвае змест для асноўнай прасторы назваў: -- cfg.main = 'main' ---- Гэты параметр паказвае прасторы назваў размоў: -- cfg.talk = 'talk' ---- Гэты параметр паказвае змест "іншых" прастораў назваў (прасторы назваў, для якіх ---- параметры не вызначаныя): -- cfg.other = 'other' ---- Гэты параметр робіць так, каб старонкі размоў вялі сябе як быццам яны з’яўюяюцца адпаведнай ---- прасторай назваў суб’екта. Звярніце ўвагу, што параметр выкарыстоўваецца з [[Модуль:Yesno]]. ---- Рэдагуйце гэты модуль, каб змяніць значэнне па змоўчванні "yes", "no", і г. д. -- cfg.subjectns = 'subjectns' ---- Гэты параметр устанаўлівае прастору назваў для дэманстрацыі: -- cfg.demospace = 'demospace' ---- Гэты параметр устанаўлівае пэўную старонку для параўнання: cfg.demopage = 'page' -------------------------------------------------------------------------------- -- Канфігурацыя табліцы -- -- Гэтыя элементы канфігурацыі дазваляюць наладку функцыі "table", -- -- якая выкарыстоўваецца для стварэння табліцы магчымых параметраў у модулі -- -- дакументацыі. -- -------------------------------------------------------------------------------- ---- Загаловак слупка прасторы назваў у вікітабліцы, якая ўтрымлівае спіс ---- магчымых параметраў з прастораў не размоў. -- cfg.wikitableNamespaceHeader = 'Namespace' ---- Загаловак вікітабліцы, які ўтрымлівае спіс магчымых параметраў з прастораў ---- не размоў. -- cfg.wikitableAliasesHeader = 'Aliases' -------------------------------------------------------------------------------- -- Канец канфігурацыйных звестак -- -------------------------------------------------------------------------------- return cfg -- Не рэдагуйце гэты радок. 3pfeo5e632uu9q08g9cizndw25p10yv