Вікікнігі
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.1
first-letter
Мультымедыя
Адмысловае
Размовы
Удзельнік
Размовы з удзельнікам
Вікікнігі
Размовы пра Вікікнігі
Файл
Размовы пра файл
MediaWiki
Размовы пра MediaWiki
Шаблон
Размовы пра шаблон
Даведка
Размовы пра даведку
Катэгорыя
Размовы пра катэгорыю
TimedText
TimedText talk
Модуль
Размовы пра модуль
Event
Event talk
Брытанская кухня
0
3401
8048
2026-05-06T21:04:17Z
Jarash
1066
Новая старонка: «'''Кухня Злучанага Каралеўства''' знаходзіцца пад моцным уплывам месца знаходжаньня Брытаніі як астаўной нацыі непадалёк ад берагу мацерыковай Еўропы, блізка ад палярнага струменю, які прыводзіць да знакамітага непрадказальнага надвор’я і істотнай р...»
8048
wikitext
text/x-wiki
'''Кухня Злучанага Каралеўства''' знаходзіцца пад моцным уплывам месца знаходжаньня Брытаніі як астаўной нацыі непадалёк ад берагу мацерыковай Еўропы, блізка ад палярнага струменю, які прыводзіць да знакамітага непрадказальнага надвор’я і істотнай розніцы паміж порамі году, што прыводзіць да сувязі страў з пэўнай парой году, калі расліны з’яўляюцца і знікаюць з доступу.
== Вядомыя стравы ==
* [[Рэцэпт:Пудынг|Пудынг]]
* [[Рэцэпт:Рыба і чыпсы|Рыба і чыпсы]]
{{Stub-meta
|article = пра кухню
| category =
|image = P Food.png}}
[[Катэгорыя:Нацыянальныя кухні]]
7g3idyf6e8x8ke642c2jrye4t9omrkr
Модуль:Message box/configuration
828
3402
8049
2026-05-06T21:12:25Z
Jarash
1066
Новая старонка: «-------------------------------------------------------------------------------- -- Канфігурацыя Message box -- -- -- -- Гэты модуль утрымлівае канфігурацыйныя звесткі для [[Module:Message box]]. -- ---------------------------------------------------------------------------...»
8049
Scribunto
text/plain
--------------------------------------------------------------------------------
-- Канфігурацыя Message box --
-- --
-- Гэты модуль утрымлівае канфігурацыйныя звесткі для [[Module:Message box]]. --
--------------------------------------------------------------------------------
return {
ambox = {
types = {
speedy = {
class = 'ambox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'ambox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'ambox-content',
image = 'Ambox important.svg'
},
style = {
class = 'ambox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'ambox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'ambox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'ambox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
allowBlankParams = {'talk', 'sect', 'date', 'issue', 'fix', 'subst', 'hidden'},
allowSmall = true,
smallParam = 'left',
smallClass = 'mbox-small-left',
substCheck = true,
classes = {'metadata', 'ambox'},
imageEmptyCell = true,
imageCheckBlank = true,
imageSmallSize = '20x20px',
imageCellDiv = true,
useCollapsibleTextFields = true,
imageRightNone = true,
sectionDefault = 'article',
allowMainspaceCategories = true,
templateCategory = 'Шаблоны:Шаблоны-паведамленні для артыкулаў',
templateCategoryRequireName = true,
templateErrorCategory = 'Шаблоны:Шаблоны-паведамленні для артыкулаў з прапушчанымі параметрамі',
templateErrorParamsToCheck = {'issue', 'fix', 'subst'},
removalNotice = '<small>[[en:w:Help:Maintenance template removal|Даведайцеся, як і калі прыбраць гэтае паведамленне]]</small>',
templatestyles = 'Module:Message box/ambox.css'
},
cmbox = {
types = {
speedy = {
class = 'cmbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'cmbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'cmbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'cmbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'cmbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'cmbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'cmbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'cmbox'},
imageEmptyCell = true,
templatestyles = 'Module:Message box/cmbox.css'
},
fmbox = {
types = {
warning = {
class = 'fmbox-warning',
image = 'Ambox warning pn.svg'
},
editnotice = {
class = 'fmbox-editnotice',
image = 'Information icon4.svg'
},
system = {
class = 'fmbox-system',
image = 'Information icon4.svg'
}
},
default = 'system',
showInvalidTypeError = true,
classes = {'fmbox'},
imageEmptyCell = false,
imageRightNone = false,
templatestyles = 'Module:Message box/fmbox.css'
},
imbox = {
types = {
speedy = {
class = 'imbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'imbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'imbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'imbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'imbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'imbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
license = {
class = 'imbox-license licensetpl',
image = 'Imbox-license.svg'
},
["license-related"] = {
class = 'imbox-license',
image = 'Imbox-license.svg'
},
featured = {
class = 'imbox-featured',
image = 'Cscr-featured.svg',
imageNeedsLink = true
},
notice = {
class = 'imbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'imbox'},
imageEmptyCell = true,
below = true,
templateCategory = 'File message boxes',
templatestyles = 'Module:Message box/imbox.css'
},
ombox = {
types = {
speedy = {
class = 'ombox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'ombox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'ombox-content',
image = 'Ambox important.svg'
},
style = {
class = 'ombox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'ombox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'ombox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'ombox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'ombox'},
allowSmall = true,
imageEmptyCell = true,
imageRightNone = true,
templatestyles = 'Module:Message box/ombox.css'
},
tmbox = {
types = {
speedy = {
class = 'tmbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'tmbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'tmbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'tmbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'tmbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'tmbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'tmbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'tmbox'},
allowSmall = true,
imageRightNone = true,
imageEmptyCell = true,
templateCategory = 'Talk message boxes',
templatestyles = 'Module:Message box/tmbox.css'
}
}
o9msadej0zkewbxgmkv0ubdk91634qq
Модуль:Category handler
828
3403
8050
2026-05-06T21:32:00Z
Jarash
1066
Новая старонка: «-------------------------------------------------------------------------------- -- -- -- АПРАЦОЎШЧЫК КАТЭГОРЫЙ -- -- -- -- Гэты модуль рэалізуе шаблон {{category handler}} на мове Lua, -- --...»
8050
Scribunto
text/plain
--------------------------------------------------------------------------------
-- --
-- АПРАЦОЎШЧЫК КАТЭГОРЫЙ --
-- --
-- Гэты модуль рэалізуе шаблон {{category handler}} на мове Lua, --
-- з некалькімі паляпшэннямі: падтрымліваюцца ўсе прасторы назваў і ўсе --
-- псеўданімы прастораў назваў, імёны прастораў назваў чытаюцца --
-- аўтаматычна для лакальнай вікі. Гэты модуль патрабуе --
-- [[Модуль:Namespace detect]] і [[Модуль:Yesno]], якія павінны існаваць --
-- у лакальнай вікі. Ён можа быць сканфігураваны для розных вікі шляхам --
-- змянення знаэнняў у [[Модуль:Category handler/config]], і старонкі --
-- могуць быць занесеныя ў чорны спіс каб яны не траплялі ў катэгорыі --
-- выкарыстоўваючы [[Модуль:Category handler/blacklist]]. --
-- --
--------------------------------------------------------------------------------
-- Загрузка неабходных модуляў
local yesno = require('Module:Yesno')
-- Павольна загружаюцца рэчы, якія нам не заўсёды патрэбныя
local mShared, mappings
local p = {}
--------------------------------------------------------------------------------
-- Дапоможныя функцыі
--------------------------------------------------------------------------------
local function trimWhitespace(s, removeBlanks)
if type(s) ~= 'string' then
return s
end
s = s:match('^%s*(.-)%s*$')
if removeBlanks then
if s ~= '' then
return s
else
return nil
end
else
return s
end
end
--------------------------------------------------------------------------------
-- Клас CategoryHandler
--------------------------------------------------------------------------------
local CategoryHandler = {}
CategoryHandler.__index = CategoryHandler
function CategoryHandler.new(data, args)
local obj = setmetatable({ _data = data, _args = args }, CategoryHandler)
-- Задаць загаловак аб’екта
do
local pagename = obj:parameter('demopage')
local success, titleObj
if pagename then
success, titleObj = pcall(mw.title.new, pagename)
end
if success and titleObj then
obj.title = titleObj
if titleObj == mw.title.getCurrentTitle() then
obj._usesCurrentTitle = true
end
else
obj.title = mw.title.getCurrentTitle()
obj._usesCurrentTitle = true
end
end
-- Задаць значэнни параметраў для падаўлення
for _, key in ipairs{'nocat', 'categories'} do
local value = obj:parameter(key)
value = trimWhitespace(value, true)
obj['_' .. key] = yesno(value)
end
do
local subpage = obj:parameter('subpage')
local category2 = obj:parameter('category2')
if type(subpage) == 'string' then
subpage = mw.ustring.lower(subpage)
end
if type(category2) == 'string' then
subpage = mw.ustring.lower(category2)
end
obj._subpage = trimWhitespace(subpage, true)
obj._category2 = trimWhitespace(category2) -- не выдаляць пустыя значэнні
end
return obj
end
function CategoryHandler:parameter(key)
local parameterNames = self._data.parameters[key]
local pntype = type(parameterNames)
if pntype == 'string' or pntype == 'number' then
return self._args[parameterNames]
elseif pntype == 'table' then
for _, name in ipairs(parameterNames) do
local value = self._args[name]
if value ~= nil then
return value
end
end
return nil
else
error(string.format(
'няправільны ключ канфігурацыі "%s"',
tostring(key)
), 2)
end
end
function CategoryHandler:isSuppressedByArguments()
return
-- Паглядзець, ці зададзены аргумент падаўлення катэгорыі.
self._nocat == true
or self._categories == false
or (
self._category2
and self._category2 ~= self._data.category2Yes
and self._category2 ~= self._data.category2Negative
)
-- Праверыць, ці мы на падстаронцы, і паглядзець, ці падаўдяюцца катэгорыі
-- на аснове нашага статусу падстаронкі.
or self._subpage == self._data.subpageNo and self.title.isSubpage
or self._subpage == self._data.subpageOnly and not self.title.isSubpage
end
function CategoryHandler:shouldSkipBlacklistCheck()
-- Праверыць, ці аргументы падаўлення катэгорыі паказваюць, што нам
-- трэба прапусціць праверку чорнага спісу.
return self._nocat == false
or self._categories == true
or self._category2 == self._data.category2Yes
end
function CategoryHandler:matchesBlacklist()
if self._usesCurrentTitle then
return self._data.currentTitleMatchesBlacklist
else
mShared = mShared or require('Module:Category handler/shared')
return mShared.matchesBlacklist(
self.title.prefixedText,
mw.loadData('Module:Category handler/blacklist')
)
end
end
function CategoryHandler:isSuppressed()
-- Даведацца, ці катэгорыі палаўляюцца аргументамі ці
-- супадзеннем у чорным спісе.
return self:isSuppressedByArguments()
or not self:shouldSkipBlacklistCheck() and self:matchesBlacklist()
end
function CategoryHandler:getNamespaceParameters()
if self._usesCurrentTitle then
return self._data.currentTitleNamespaceParameters
else
if not mappings then
mShared = mShared or require('Module:Category handler/shared')
mappings = mShared.getParamMappings(true) -- забірае карты з mw.loadData
end
return mShared.getNamespaceParameters(
self.title,
mappings
)
end
end
function CategoryHandler:namespaceParametersExist()
-- Даведацца, ці пазначаныя якія-небудзь параметры прасторы назваў.
-- Мы выкарыстоўваем парадак "усё" --> параметры прасторы назваў --> "іншае" так, як
-- гэта рабіў стары шаблон.
if self:parameter('all') then
return true
end
if not mappings then
mShared = mShared or require('Module:Category handler/shared')
mappings = mShared.getParamMappings(true) -- забірае карты з mw.loadData
end
for ns, params in pairs(mappings) do
for i, param in ipairs(params) do
if self._args[param] then
return true
end
end
end
if self:parameter('other') then
return true
end
return false
end
function CategoryHandler:getCategories()
local params = self:getNamespaceParameters()
local nsCategory
for i, param in ipairs(params) do
local value = self._args[param]
if value ~= nil then
nsCategory = value
break
end
end
if nsCategory ~= nil or self:namespaceParametersExist() then
-- Існуюць параметры прасторны назваў - прасунутае выкарыстанне.
if nsCategory == nil then
nsCategory = self:parameter('other')
end
local ret = {self:parameter('all')}
local numParam = tonumber(nsCategory)
if numParam and numParam >= 1 and math.floor(numParam) == numParam then
-- nsCategory цэлы
ret[#ret + 1] = self._args[numParam]
else
ret[#ret + 1] = nsCategory
end
if #ret < 1 then
return nil
else
return table.concat(ret)
end
elseif self._data.defaultNamespaces[self.title.namespace] then
-- Параметры прасторы назваў не існуюць, простае выкарыстанне.
return self._args[1]
end
return nil
end
--------------------------------------------------------------------------------
-- Экспарт
--------------------------------------------------------------------------------
local p = {}
function p._exportClasses()
-- Выкарыстоўваецца для мэтаў тэставання.
return {
CategoryHandler = CategoryHandler
}
end
function p._main(args, data)
data = data or mw.loadData('Module:Category handler/data')
local handler = CategoryHandler.new(data, args)
if handler:isSuppressed() then
return nil
end
return handler:getCategories()
end
function p.main(frame, data)
data = data or mw.loadData('Module:Category handler/data')
local args = require('Module:Arguments').getArgs(frame, {
wrappers = data.wrappers,
valueFunc = function (k, v)
v = trimWhitespace(v)
if type(k) == 'number' then
if v ~= '' then
return v
else
return nil
end
else
return v
end
end
})
return p._main(args, data)
end
return p
n6cdtpludrtrnrsxubyco4xe4hhszxa
Модуль:Category handler/data
828
3404
8051
2026-05-06T21:34:31Z
Jarash
1066
Новая старонка: «-- Гэты модуль сабірае звесткі, якія неабходна перадаць у [[Модуль:Category handler]] з выкарыстаннем -- mw.loadData. Гэта ўключае канфігурацыныя звесткі і ці бягучая -- старонка супадае з назвай у чорным спісе. local data = require('Module:Category handler/config') local mShared = require('Module:Category handler/sh...»
8051
Scribunto
text/plain
-- Гэты модуль сабірае звесткі, якія неабходна перадаць у [[Модуль:Category handler]] з выкарыстаннем
-- mw.loadData. Гэта ўключае канфігурацыныя звесткі і ці бягучая
-- старонка супадае з назвай у чорным спісе.
local data = require('Module:Category handler/config')
local mShared = require('Module:Category handler/shared')
local blacklist = require('Module:Category handler/blacklist')
local title = mw.title.getCurrentTitle()
data.currentTitleMatchesBlacklist = mShared.matchesBlacklist(
title.prefixedText,
blacklist
)
data.currentTitleNamespaceParameters = mShared.getNamespaceParameters(
title,
mShared.getParamMappings()
)
return data
px0w60tjnnc8yfyhsloggd5ejtdzjh5
Модуль:Category handler/config
828
3405
8052
2026-05-06T21:56:37Z
Jarash
1066
Новая старонка: «-------------------------------------------------------------------------------- -- Канфігурацыйныя звесткі для [[Модуль:Category handler]] -- -- Назвы параметраў у залежнасці ад мовы і значэнні могуць задавацца тут.-- -- Для карфігурацыі чорнага спісу, глядзіце [[Модуль:Category handler/blacklist]]...»
8052
Scribunto
text/plain
--------------------------------------------------------------------------------
-- Канфігурацыйныя звесткі для [[Модуль:Category handler]] --
-- Назвы параметраў у залежнасці ад мовы і значэнні могуць задавацца тут.--
-- Для карфігурацыі чорнага спісу, глядзіце [[Модуль:Category handler/blacklist]]. --
--------------------------------------------------------------------------------
local cfg = {} -- Не змяняйце гэты радок.
--------------------------------------------------------------------------------
-- Пачатак канфігурацыйных звестак --
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-- Імёны параметраў --
-- Гэтыя канфігурацыйныя элементы вазначаюць асаблівыя імёны параметраў. --
-- Каб дадаць адно дадатковае імя, вы можаце выкарыстаць гэты фармат: --
-- --
-- foo = 'імя параметра', --
-- --
-- Каб дадаць некалькі імёнаў, вы можаце выкарыстаць гэты фармат: --
-- --
-- foo = {'імя параметра 1', 'імя параметра 2', 'імя параметра 3'}, --
--------------------------------------------------------------------------------
cfg.parameters = {
-- nocat і падаўленне параметраў катэгорый
-- катэгорызацыі. Яны выкарыстоўваюцца з модулем Yesno, і працуюць наступным чынам:
--
-- cfg.nocat:
-- Вынік yesno() Эфект
-- true Катэгарызацыя падаўляецца
-- false Катэгарызацыя дазваляецца, і
-- прапускаецца праверка чорнага спісу
-- nil Катэгарызацыя дазваляецца
--
-- cfg.categories:
-- Вынік yesno() Эфект
-- true Катэгарызацыя дазваляецца, і
-- прапускаецца праверка чорнага спісу
-- false Катэгарызацыя падаўляецца
-- nil Катэгарызацыя дазваляецца
nocat = 'nocat',
categories = 'categories',
-- Імя параметра для састарэлага параметра "category2". Гэта абыходзіць
-- чорны спіс, калі ўсталявана cfg.category2Yes, і падаўляе
-- катэгарызацыю, калі прысутнічае, але роўна любому значэнню, акрамя
-- cfg.category2Yes або cfg.category2Negative.
category2 = 'category2',
-- cfg.subpage — гэта імя параметра, каб указаць, як паводзіць сябе на
-- падстаронках.
subpage = 'subpage',
-- Параметр для даных, якія вяртаюцца ва ўсіх прасторах імёнаў.
all = 'all',
-- Імя параметра для даных, якія вяртаюцца, калі для выяўленай
-- прасторы імёнаў не ўказаны даныя.
other = 'other',
-- Імя параметра, якое выкарыстоўваецца для ўказання старонкі, адрознай ад
-- бягучай; выкарыстоўваецца для тэставання і дэманстрацыі.
demopage = 'page',
}
--------------------------------------------------------------------------------
-- Значэнні параметраў --
-- Гэта зададзеныя значэнні, якія можна выкарыстоўваць з пэўнымі параметрамі. --
-- Можа быць указана толькі адно значэнне, напрыклад: --
--
-- cfg.foo = 'назва значэння' --
--------------------------------------------------------------------------------
-- Наступныя налады выкарысз параметрам cfg.category2. Усталяванне
-- cfg.category2 у cfg.category2Yes абыходзіць чорны спіс, і калі cfg.category2
-- прысутнічае, але роўнае чаму-небудзь іншаму, акрамя cfg.category2Yes або
-- cfg.category2Negative, гэта падаўляе катэгарызацыю.
cfg.category2Yes = 'yes'
cfg.category2Negative = '¬'
-- Наступныя налады выкарыстоўваюцца з параметрам cfg.subpage.
-- cfg.subpageNo — значэнне, каб не катэгарызаваць на падстаронках;
-- cfg.subpageOnly — значэнне, каб катэгарызаваць толькі на падстаронках.
cfg.subpageNo = 'no'
cfg.subpageOnly = 'only'
--------------------------------------------------------------------------------
-- Прасторы імёнаў па змаўчанні --
-- Гэта табліца прастор імёнаў, па якіх па змаўчанні выконваецца катэгарызацыя. --
-- Ключы — нумары прастор імёнаў. --
--------------------------------------------------------------------------------
cfg.defaultNamespaces = {
[ 0] = true, -- галоўная
[ 6] = true, -- файл
[ 12] = true, -- дапамога
[ 14] = true, -- катэгорыя
[100] = true, -- партал
[108] = true, -- кніга
}
--------------------------------------------------------------------------------
-- Абгорткі --
-- Гэта шаблон абгорткі або спіс шаблонаў абгортак, якія будуць перадавацца ў --
-- [[Module:Arguments]]. --
--------------------------------------------------------------------------------
cfg.wrappers = 'Template:Category handler'
--------------------------------------------------------------------------------
-- Канец канфігурацыйных даных --
--------------------------------------------------------------------------------
return cfg -- Не рэдагуйце гэты радок.
o4xeffp2j45c13y9taybs2x2diikllh