ماڈیول:Numbered subpages
دستاویز [تخلیق]
شاید آپ اس اسکریبنٹو ماڈیول کا دستاویزی صفحہ تخلیق کرنا چاہتے ہیں۔ صارفین ماڈیول کے تختہ مشق (تخلیق | آئینہ) اور ثابتات (تخلیق) میں تجربات کرسکتے ہیں۔ براہ کرم /دستاویز کے ذیلی صفحہ پر زمرہ جات شامل فرمائیں۔ اس ماڈیول کے ذیلی صفحات۔ |
-- This module implements {{numbered subpages}}.
local getArgs = require('Module:Arguments').getArgs
p = {}
local function ifexist(page)
if not page then return false end
if mw.title.new(page).exists then return true end
return false
end
function p.main(frame)
local args = getArgs(frame)
local maxk = tonumber(args.max or '50') or 50
local mink = tonumber(args.min or '1') or 1
local root = ''
local missing = args.missing or (args.max and 'transclude' or 'skip')
local res = ''
if missing ~= 'transclude' then
root = frame:preprocess('{{FULLPAGENAME}}')
end
maxk = (maxk > (mink + 250)) and (mink + 250) or maxk
for i=mink,maxk do
if missing == 'transclude' then
res = res .. frame:expandTemplate{title = 'subpage', args = { i } }
else
if ifexist(root .. '/' .. i) then
res = res .. frame:expandTemplate{title = 'subpage', args = { i } }
else
if missing == 'link' then
res = res .. '[[' .. root .. '/' .. i .. ']] '
elseif missing == 'stop' then
i = maxk + 1
end
end
end
end
return res
end
return p