মডিউল:Custom rule
অবয়ব
| ব্যবহৃত লুয়া: |
এই মডিউলটি {{Custom rule}} টেমপ্লেটকে ব্যবহার করে। কোনো সেগমেন্ট বা খণ্ডের শর্টকাট যোগ করতে চাইলে মডিউল:Custom rule/segments সম্পাদনা করুন।
require('strict')
local p = {} --p stands for package
local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local error_message = require('মডিউল:ত্রুটি')['error']
local segment_shortcuts = mw.loadData('মডিউল:Custom rule/segments')
local function custom_rule_segment(args)
local name
if args[1] then
name = segment_shortcuts[args[1]] or args[1]
end
local size = args[2]
if not name or not size then
return error_message({'[[মডিউল:Custom rule]] ত্রুটি: রুলের সেগমেন্ট পাওয়া যায়নি'})
end
return '[[File:Rule Segment - ' .. name .. ' - ' .. size .. 'px.svg|middle|link=|alt=]]'
end
function p._custom_rule(args)
local rule
if yesno(args.inline or false) then
rule = mw.html.create('span')
else
rule = mw.html.create('div')
end
rule:addClass('wst-custom-rule ' .. (args.class or ''))
if args.style then
rule:attr('style', args.style)
end
local segments = {}
for i, v in ipairs(args) do
if i % 2 == 1 then
table.insert(segments, custom_rule_segment({args[i], args[i + 1]}))
end
end
rule:wikitext(table.concat(segments))
return tostring(rule)
end
function p.custom_rule(frame)
local args = getArgs(frame)
return p._custom_rule(args)
end
return p