אונטערשייד צווישן ווערסיעס פון "יחידה:שטומף"
קפיצה לניווט
קפיצה לחיפוש
(געשאַפן בלאַט מיט '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;">25px|ימין|אזהרהערך זה הוא ' .. 'קצרמר...') |
שרגא (שמועס | ביישטייערונגען) ק (מכלוליזאציע) |
||
שורה 1: | שורה 1: | ||
local jsonlist = mw.text.jsonDecode(mw.title.new(' | local jsonlist = mw.text.jsonDecode(mw.title.new('שטומף/list.json','Module'):getContent()) | ||
local defcode = {"{{ | local defcode = {"{{שטומף/קוד|", | ||
"|נושא נוסף=", | "|נושא נוסף=", | ||
"|מידע נוסף=", | "|מידע נוסף=", | ||
שורה 6: | שורה 6: | ||
"}}}}"} | "}}}}"} | ||
local errcode = '<div style="border:1px solid #aaa; background:#FFF0F5;">[[קובץ:Nuvola apps important.svg|25px|ימין|אזהרה]]ערך זה הוא ' .. | local errcode = '<div style="border:1px solid #aaa; background:#FFF0F5;">[[קובץ:Nuvola apps important.svg|25px|ימין|אזהרה]]ערך זה הוא ' .. | ||
'[[המכלול: | '[[המכלול:שטומף|שטומף]], אך הוא סווג כשטומף מסוג שאינו ב[[:קאטעגאריע:שטומף|רשימת השטומפים]] ב[[המכלול|מכלול]].' .. | ||
' נא לתקן ולבחור שם מהרשימה.</div>{{#תנאי:{{NAMESPACE}}||[[ | ' נא לתקן ולבחור שם מהרשימה.</div>{{#תנאי:{{NAMESPACE}}||[[קאטעגאריע:שטומף לא מסווג]]}}' | ||
local catcode = {"'''<nowiki>{{</nowiki>[[: | local catcode = {"'''<nowiki>{{</nowiki>[[:קאטעגאריע:שטומף ", | ||
"| | "|שטומף|", | ||
"]]<nowiki>}}</nowiki>'''"} | "]]<nowiki>}}</nowiki>'''"} | ||
local catstartcode = "{{כתב מחוק|'''<nowiki>{{</nowiki>[[: | local catstartcode = "{{כתב מחוק|'''<nowiki>{{</nowiki>[[:קאטעגאריע:שטומף|שטומף]]<nowiki>}}</nowiki>'''}} לא בשימוש:" .. | ||
" מותר רק | " מותר רק שטומף ספציפי: <nowiki>{{שטומף|</nowiki>'''סוג השטומף'''<nowiki>}}</nowiki>{{הערה|שטומף לא ספציפי" .. | ||
" יוצר [[: | " יוצר [[:קאטעגאריע:שגיאות פרמטריות בתבנית שטומף|שגיאה פרמטרית]]}}" | ||
function main(frame) | function main(frame) | ||
שורה 22: | שורה 22: | ||
local paramnocategory = parentargs['NoCategory'] or '' | local paramnocategory = parentargs['NoCategory'] or '' | ||
local paramnocategoryyes = parentargs['NoCategory'] or 'yes' | local paramnocategoryyes = parentargs['NoCategory'] or 'yes' | ||
local catanswer = mw.ustring.format('%s%s|%s%s', '{{ | local catanswer = mw.ustring.format('%s%s|%s%s', '{{קאטעגאריע בתבנית|:[[קאטעגאריע:שטומף - כל הערכים]]|ללא קאטעגאריע={{#שווה:{{מרחב השם}}||', | ||
paramnocategory, paramnocategoryyes, '}}}}') | paramnocategory, paramnocategoryyes, '}}}}') | ||
local ans = getparams(entry, jsonlist) | local ans = getparams(entry, jsonlist) |
רעוויזיע פון 22:04, 29 נאוועמבער 2022
היחידה קיימת עבור תבנית {{שטומף}}. היא מאפשרת לנהל את היחידה בלי צורך בהוספת קוד כפול בכל פעם שיש צורך בסוג חדש. היחידה מחזירה שלוש פונקציות:
- הפונקציה main מחזירה את התבנית "שטומף" עבור סוג שטומף מסוים.
- הפונקציה templatedata מחזירה רשימה ממויינת של כל סוגי השטומףים עבור templatedata.
- הפונקציה categories מחזירה רשימה ממויינת של קטגוריות הערכים מכל הסוגים עבור התיעוד.
היחידה משתמשת ברשימת סוגים בדף יחידה:שטומף/list.json. היא כתובה בשפת json. מבנה הרשומה הוא כדלקמן:
- עבור רוב הסוגים המפתח הוא שם הסוג והתוכן הוא שם קובץ האייקון.
- עבור הסוגים בהם שם הסוג שונה משם הקטגוריה, התוכן הוא מערך בן שני איברים. הראשון הוא שם קובץ האייקון, והשני הוא שם הקטגוריה.
למשל:
"תל אביב-יפו": "Tel-aviv city hall.jpg",
"תל אביב": [
"Tel-aviv city hall.jpg",
"תל אביב-יפו"
],
הנחיות להוספת סוגים חדשים
- להוספת שטומף "Tel-Aviv" יש לבצע את הפעולות הבאות
- להוסיף לקובץ יחידה:שטומף/list.json שורה
,"Tel-Aviv": "Tel-aviv city hall.jpg"
- במידה ושם הסוג שונה משם הקטגוריה, השורה היא
,"Tel-Aviv": ["Tel-aviv city hall.jpg", "Tel-Aviv-Yafo"]
- במידה ויש צורך להוסיף מסגרת לתמונה, יש לעדכן את הקוד בצורה הבאה:
"יפן": "Flag of Japan.svg{{!}}גבול",
- שימו לב לפסיק לפני הטקסט. הוא נוסף כי צריך להיות פסיק אחרי כל שורה ברשימה, חוץ מהאחרונה.
- המנוע דואג אוטומטית לפורמט לאחר השמירה, כך שהפסיק יועבר לסוף השורה הקודמת. כך גם עם פרמוט נאות של סוגריים מרובעים.
- במידה ובאחד השמות ישנו סימן מרכאות כפולות, יש לכתוב סימן קו נטוי הפוך לפניו, למשל
"תנ\"ך"
- הרשימה הראשונית מויינה, אך אין בכך צורך, כי היחידה ממיינת אותה אוטומטית אחרי הקריאה.
- ניתן לעדכן את הרשימה ב-templatedata למטה באמצעות העתקה מדף מוסטער:שטומף/ליסטע. במידץ הצורך יש לנקות את המטמון באמצעות הכפתור בדף הזה. במידה בשם הסוג ישנם גרשיים כפולים, יש לשים קו נטוי הפוך לפני, למשל צה\"ל.
- רשימת הקטגוריות בדף הזה מתעדכנת אוטומטית. במידת הצורך ניתן לנקות את המטמון באמצעות הכפתור המצורף.
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}