মডিউল:পুনর্নির্দেশনা টেমপ্লেট
ব্যবহৃত লুয়া: |
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
This module implements {{redirect template}}. Please see the template page for documentation.
উপরোক্ত নথিটি মডিউল:পুনর্নির্দেশনা টেমপ্লেট/নথি থেকে প্রতিলিপ্ত। (সম্পাদনা | ইতিহাস) সম্পাদনাকারীগণ খেলাঘর (তৈরি করুন | আয়না) এবং পরীক্ষা পাতায় (তৈরি করুন) এই মডিউল সংক্রান্ত পরীক্ষা-নিরীক্ষা করতে পারেন। এই মডিউলের উপপাতাসমূহ। |
require('মডিউল:No globals')
local p = {}
-- key is beginning of arg name. value is table with namespace number and link
-- alternatively, a function taking the namespace number and returning a validity
-- can be used
local namespaceCategories = {
all = { function() return true end },
main = { 0, '[[wp:mainspace|প্রধান]]' },
help = { 12, '[[wp:help namespace|সাহায্য]]' },
portal = { 100, '[[wp:প্রবেশদ্বার|প্রবেশদ্বার]]' },
talk = { function(n) return n > 0 and n%2 == 1 end, '[[উইকিপিডিয়া:আলাপ পাতার নির্দেশাবলী|আলাপ]]' },
template = { 10, '[[wp:টেমপ্লেট নামস্থান|টেমপ্লেট]]' },
wikipedia = { 4, '[[wp:প্রকল্প নামস্থান|উইকিপিডিয়া প্রকল্প]]' },
category = { 14, '[[wp:বিষয়শ্রেণীকরণ|বিষয়শ্রেণী]]' },
user = { 2, '[[wp:ব্যবহারকারীর পাতা|ব্যবহারকারী]]' },
}
-- remove whitespaces from beginning and end of args
local function valueFunc(key, val)
if type(val) == 'string' then
val = val:match('^%s*(.-)%s*$')
if val == '' then
return nil
end
end
return val
end
local function getPrettyName(args)
for k in pairs(namespaceCategories) do
if args[k .. ' category'] then
return string.format("'''[[:বিষয়শ্রেণী:%s|%s]]''': ", args[k .. ' category'], args.name)
end
end
return string.format("'''%s''': ", args.name)
end
function p.main(frame)
local args = require('মডিউল:Arguments').getArgs(frame, {wrappers = 'টেমপ্লেট:পুনর্নির্দেশনা টেমপ্লেট', valueFunc = valueFunc})
local namespace = mw.title.getCurrentTitle().namespace
--- XXX: this is a HORRIBLE HACK. kill it with fire as soon as https://bugzilla.wikimedia.org/show_bug.cgi?id=12974 is fixed
local beCompatibleWithBug12974 = args.info and (args.info:find('^[:;#*]', 1) == 1 or args.info:find('{|', 1, true) == 1) and '\n' or ' '
local content = string.format('\n<div class="rcat %s">\n*%sএটি একটি পুনর্নির্দেশ%s%s।%s%s</div>',
args.class or '',
args.name and getPrettyName(args) or '',
args.from and (' যা ' .. args.from) or '',
args.to and (' যা ' .. args.to) or '',
args.info and beCompatibleWithBug12974 or '',
args.info or ''
)
for k,v in pairs(namespaceCategories) do
if args[k .. ' category'] then
if type(v[1]) == 'function' and v[1](namespace) or v[1] == namespace then
content = content .. string.format('[[বিষয়শ্রেণী:%s]]', args[k .. ' category'])
elseif args['other category'] then
content = content .. string.format('[[বিষয়শ্রেণী:%s]]', args['other category'])
else
content = content .. frame:expandTemplate{title = 'Incorrect redirect template', args = {v[2]}}
end
end
end
if namespace == 0 then
local yesno = require('মডিউল:Yesno')
if yesno(args.printworthy) == true then
return content .. '[[বিষয়শ্রেণী:উপযুক্ত পুনর্নির্দেশনা মুদ্রণ]]'
elseif yesno(args.printworthy) == false then
return content .. '[[বিষয়শ্রেণী:উপযুক্ত পুনর্নির্দেশনা অমুদ্রণ]]'
end
end
return content
end
return p