Modulo:Lapdan ti katkategoria
Dokumentasion ti modulo
Daytoy ket simple a modulo a mangikkat kadagiti kategoria manipud iti teksto ti wiki. Kas pagarigan, no maipasa ti kodigo ti "foo[[Kategoria:Ti kategoria]]
", daytoy ket mangisubli laeng iti "foo
".
Ti modulo ket husto a mangtengngel kadagiti kategoria a natalawan iti pamay-an ti dua a tuldek, dagiti nagan ti kategoria a manginayon kadagiti imbalido a karakter a kas ti ">
", ken dagiti kategoria a napalikmutan kadagiti wtiketa ti nowiki. Nupay kasta, daytoy ket saan a mangsuporta ti komleks a teksto ti wiki a kas dagiti naiyumok a silsilpo wenno dagiti salamangka a balikas a kas ti __TOC__
. Urayno kasta, daytoy ket mabalin pay met a mangikkat kadagiti kaaduan a katkategoria manipud iti naited a teksto ti wiki.
Panagusar
urnosen{{#invoke:Lapdan ti katkategoria|main|maikabil a teksto}}
Dagiti pagarigan
urnosenKodigo | Maiparuar |
---|---|
{{#invoke:Lapdan ti katkategoria|main|foo}}
|
foo |
{{#invoke:Lapdan ti katkategoria|main|foo[[Kategoria:Ti kategoria]]}}
|
foo |
{{#invoke:Lapdan ti katkategoria|main|foo[[Kategoria:Ti kategoria]]bar[[Kategoria:Sabali pay a kategoria]]}}
|
foobar |
{{#invoke:Lapdan ti katkategoria|main|foo{{{ti_parametro|[[Kategoria:Bar]]}}}}}
|
foo |
{{#invoke:Lapdan ti katkategoria|main|foo[[Kategoria:Silpo ti madi a kaa[]tegoria]}}
|
foo[[Kategoria:Silpo ti madi a ka[]tegoria]] |
{{#invoke:Lapdan ti katkategoria|main|foo[[:Kategoria:Pamay-an ti dua a tuldek]]}}
|
fooKategoria:Pamay-an ti dua a tuldek |
{{#invoke:Lapdan ti katkategoria|main|foo[[Kategoria:Naipipa a silpo|bar]]}}
|
foo |
{{#invoke:Lapdan ti katkategoria|main|foo[[Kategoria:Naipipa a silpo|ba[]r]]}}
|
foo |
{{#invoke:Lapdan ti katkategoria|main|foo[[silpo a di-kategoria]]}}
|
foosilpo a di-kategoria |
{{#invoke:Lapdan ti katkategoria|main|foo[[ Kategoria : Dagiti kategoria nga addaan iti baetan ]]}}
|
foo |
-- This is a simple module to strip categories from wikitext. It does
-- not support nested links or magic words like __TOC__, etc. Even so,
-- it should still handle most categories.
local p = {}
-- Detects if a category link is valid or not. If it is valid,
-- the function returns the blank string. If not, the input
-- is returned with no changes.
local function processCategory( all, submatch )
local beforePipe = mw.ustring.match( submatch, '^(.-)[%s_]*|[%s_]*.-$' )
beforePipe = beforePipe or submatch
if mw.ustring.match( beforePipe, '[%[%]<>{}%c\n]' ) then
return all
else
return ''
end
end
-- Preprocess the content if we aren't being called from #invoke,
-- and pass it to gsub to remove valid category links.
local function suppress( content, isPreprocessed )
if not isPreprocessed then
content = mw.getCurrentFrame():preprocess( content )
end
content = mw.ustring.gsub(
content,
'(%[%[[%s_]*[kK][aA][tT][eE][gG][oO][rR][iI][aA][%s_]*:[%s_]*(.-)[%s_]*%]%])',
processCategory
)
return content
end
-- Get the content to suppress categories from, and find
-- whether the content has already been preprocessed. (If the
-- module is called from #invoke, it has been preprocessed already.)
function p.main( frame )
local content, isPreprocessed
if frame == mw.getCurrentFrame() then
content = frame:getParent().args[1]
if frame.args[1] then
content = frame.args[1]
end
isPreprocessed = true
else
content = frame
isPreprocessed = false
end
return suppress( content, isPreprocessed )
end
return p