Модуль:Disambig
Дакумэнтацыя модулю[прагляд] [рэдагаваць] [гісторыя] [абнавіць]
local p = {}
local disambigPostfix = " (неадназначнасьць)"
-- Асьцярожна, «дарагая» функцыя
function isDisambig( name )
local rootTitle = mw.title.new( name )
local rootTitleContent = rootTitle:getContent()
if rootTitle.isRedirect then -- прозьвішча можа быць перанакіраваньнем на сапраўдную старонку-неадназначнасьць
return isDisambig( mw.ustring.match( rootTitleContent, "%[%[(.*)%]%]" ) )
end
if mw.ustring.match( tostring( rootTitleContent ), "{{[Dd]isambig}}" )
or mw.ustring.match( tostring( rootTitleContent ), "{{[Нн]еадназначнасьць}}" )
or mw.ustring.match( tostring( rootTitleContent ), "{{[Нн]еадназначнасьць асобаў}}" ) then
return true
else
return false
end
end
function p.findDisambig( frame )
local rootText = mw.ustring.gsub( frame.args[1], "%s%b()$", "" )
if isDisambig( rootText ) then
return rootText
else
return rootText .. disambigPostfix
end
end
function p.findSurnameDisambig( frame )
local rootText = mw.ustring.gsub( frame.args[1], "%s%b()$", "" )
rootText = mw.ustring.match( rootText, "%s(%S+)$" )
if isDisambig( rootText ) then
return rootText
else
return rootText .. disambigPostfix
end
end
return p