אונטערשייד צווישן ווערסיעס פון "יחידה:שטומף"
קפיצה לניווט
קפיצה לחיפוש
אין תקציר עריכה |
אין תקציר עריכה |
||
(10 מיטלסטע ווערסיעס פון 2 באַניצער נישט געוויזן.) | |||
שורה 3: | שורה 3: | ||
"|נושא נוסף=", | "|נושא נוסף=", | ||
"|מידע נוסף=", | "|מידע נוסף=", | ||
"|NoCategory={{#שווה:{{מרחב השם}}||", | "|NoCategory={{#שווה:{{מרחב השם}}| מוסטער| 1|", | ||
"}}}}"} | "}}}}"} | ||
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>[[:קאטעגאריע:שטומף|שטומף]]<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', '{{קאטעגאריע אין מוסטער|:[[קאטעגאריע:שטומף - אלע ארטיקלען]]|ללא קטגוריה={{#שווה:{{מרחב השם}}| מוסטער| 1|||', | ||
paramnocategory, paramnocategoryyes, '}}}}') | paramnocategory, paramnocategoryyes, '}}}}') | ||
local ans = getparams(entry, jsonlist) | local ans = getparams(entry, jsonlist) | ||
שורה 50: | שורה 50: | ||
local ans = {} | local ans = {} | ||
for k, v in pairs( jsonlist ) | for k, v in pairs( jsonlist ) | ||
do table.insert(ans, k) | do table.insert(ans, '"' .. k .. '"') | ||
end | end | ||
table.sort(ans) | table.sort(ans) |
יעצטיגע רעוויזיע זינט 13:38, 10 סעפטעמבער 2023
היחידה קיימת עבור תבנית {{שטומף}}. היא מאפשרת לנהל את היחידה בלי צורך בהוספת קוד כפול בכל פעם שיש צורך בסוג חדש. היחידה מחזירה שלוש פונקציות:
- הפונקציה 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={{#שווה:{{מרחב השם}}| מוסטער| 1|",
"}}}}"}
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', '{{קאטעגאריע אין מוסטער|:[[קאטעגאריע:שטומף - אלע ארטיקלען]]|ללא קטגוריה={{#שווה:{{מרחב השם}}| מוסטער| 1|||',
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}