יחידה:קצרמר
ניתן ליצור תיעוד על היחידה הזאת בדף יחידה:קצרמר/תיעוד
local jsonlist = mw.text.jsonDecode(mw.title.new('קצרמר/list.json','Module'):getContent())
local defcode = {"{{קצרמר/קוד|",
"|נושא נוסף=",
"|מידע נוסף=",
"|NoCategory={{#שווה:{{מרחב השם}}||",
"}}}}"}
local errcode = '<div style="border:1px solid #aaa; background:#FFF0F5;">[[קובץ:Nuvola apps important.svg|25px|ימין|אזהרה]]ערך זה הוא ' ..
'[[חב"דפדיה:קצרמר|קצרמר]], אך הוא סווג כקצרמר מסוג שאינו ב[[:קטגוריה:קצרמר|רשימת הקצרמרים]] ב[[חב"דפדיה]].' ..
' נא לתקן ולבחור שם מהרשימה.</div>{{#תנאי:{{NAMESPACE}}||[[קטגוריה:קצרמר לא מסווג]]}}'
local catcode = {"'''<nowiki>{{</nowiki>[[:קטגוריה:קצרמר ",
"|קצרמר|",
"]]<nowiki>}}</nowiki>'''"}
local catstartcode = "{{כתב מחוק|'''<nowiki>{{</nowiki>[[:קטגוריה:קצרמר|קצרמר]]<nowiki>}}</nowiki>'''}} לא בשימוש:" ..
" מותר רק קצרמר ספציפי: <nowiki>{{קצרמר|</nowiki>'''סוג הקצרמר'''<nowiki>}}</nowiki>{{הערה|קצרמר לא ספציפי" ..
" יוצר [[:קטגוריה:שגיאות פרמטריות בתבנית קצרמר|שגיאה פרמטרית]]}}"
function main(frame)
local parentargs = frame:getParent().args
local entry = parentargs[1] or 'כללי'
local param2 = parentargs[2] or ''
local parammidanosaf = parentargs['מידע נוסף'] or ''
local paramnocategory = parentargs['NoCategory'] or ''
local paramnocategoryyes = parentargs['NoCategory'] or 'yes'
local catanswer = mw.ustring.format('%s%s|%s%s', '{{קטגוריה בתבנית|:[[קטגוריה:קצרמר - כל הערכים]]|ללא קטגוריה={{#שווה:{{מרחב השם}}||',
paramnocategory, paramnocategoryyes, '}}}}')
local ans = getparams(entry, jsonlist)
if (not ans)
then return frame:preprocess(errcode .. catanswer)
end
if (entry == 'כללי')
then param2 = ''
end
if (entry == 'שונות')
then param2 = ''
parammidanosaf = ''
end
return frame:preprocess(mw.ustring.format('%s%s%s%s%s%s|%s%s%s|%s%s', defcode[1], ans[2], defcode[2], param2, defcode[3],
parammidanosaf, ans[1], defcode[4], paramnocategory, paramnocategoryyes, defcode[5]) .. catanswer)
end
function getparams(entry, tab)
local value = tab[entry]
if (not value or type(value) == "table")
then return value
end
return {value, entry}
end
function templatedata(frame)
local ans = {}
for k, v in pairs( jsonlist )
do table.insert(ans, k)
end
table.sort(ans)
return table.concat(ans, ', ')
end
function categories(frame)
local ans = {}
local param
for k, v in pairs( jsonlist )
do if (k ~= 'כללי')
then if (type(v) == "table")
then param = v[2]
else param = k
end
table.insert(ans, mw.ustring.format("%s%s%s%s%s", catcode[1], param, catcode[2], k, catcode[3]))
end
end
table.sort(ans)
return frame:preprocess('<ol><li>' .. catstartcode .. '</li><li>' .. table.concat(ans, '</li><li>') .. '</li></ol>{{מטמון}}')
end
return {main = main, templatedata = templatedata, categories = categories}