وحدة:Category handler/shared
المظهر
| صُنّفت هذه الوحدة على أنها محمية. تصل الوحدة لهذه المرحلة عندما تستخدم في صفحات كثيرة جدًا. فيجب أن تحمى بسبب أن عمليات التخريب أو الأخطاء تطال الكثير من الصفحات. كما هناك تعديلات غير مجدية تتم على هذه الوحدات تسبب تعب للخادم، إذا كنت ترى أن تعدل هذه الوحدة طبق تعديلك على الملعب أولا وبعد اختباره استدعِ أحدًا لديه صلاحية التعديل لتطبيقه . |
| صفحة وحدة لوا متضمنة في قرابة 955٬000 صفحة ، أو تقريباً 10% إجمالاً. لتجنب التخريبات الكبيرة والتحميل على الخادم، يجب اختبار أي تغييرات في الوحدة في /الملعب أو /المختبر أو صفحات فرعية، أو عبر ملعب الوحدة. يمكن إضافة التغييرات المختبرة إلى هذه الصفحة في تعديل واحد. فكر في مناقشة التغييرات في صفحة نقاش قبل تنفيذها. |
الاستخدام
{{#استدعاء:Category handler/shared|اسم_الوظيفة}}
-- This module contains shared functions used by [[Module:Category handler]]
-- and its submodules.
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)
-- We don't use title.nsText for the namespace name because it adds
-- underscores.
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