请输入您要查询的百科知识:

 

词条 Module:Ns has subpages
释义 -- This module implements Ns has subpages.-- While the template is fairly simple, this information is made available to-- Lua directly, so using a module means that we don't have to update the-- template as new namespaces are added.

local p = {}

function p._main(ns, frame)

-- Get the current namespace if we were not passed one.

if not ns then

ns = mw.title.getCurrentTitle().namespace

end

-- Look up the namespace table from mw.site.namespaces. This should work

-- for a majority of cases.

local nsTable = mw.site.namespaces[ns]

-- Try using string matching to get the namespace from page names.

-- Do a quick and dirty bad title check to try and make sure we do the same

-- thing as {{NAMESPACE}} in most cases.

if not nsTable and type(ns) == 'string' and not ns:find('[<>|%[%]{}]') then

local nsStripped = ns:gsub('^[_%s]*:', )

nsStripped = nsStripped:gsub(':.*$', )

nsTable = mw.site.namespaces[nsStripped]

end

-- If we still have no match then try the {{NAMESPACE}} parser function,

-- which should catch the remainder of cases. Don't use a mw.title object,

-- as this would increment the expensive function count for each new page

-- tested.

if not nsTable then

frame = frame or mw.getCurrentFrame()

local nsProcessed = frame:callParserFunction('NAMESPACE', ns)

nsTable = nsProcessed and mw.site.namespaces[nsProcessed]

end

return nsTable and nsTable.hasSubpages

end

function p.main(frame)

local ns = frame:getParent().args[1]

if ns then

ns = ns:match('^%s*(.-)%s*$') -- trim whitespace

ns = tonumber(ns) or ns

end

local hasSubpages = p._main(ns, frame)

return hasSubpages and 'yes' or

end

return p

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/12 6:05:06