יחידה:אוצר ישראל/לוח מפתחות
ניתן ליצור תיעוד על היחידה הזאת בדף יחידה:אוצר ישראל/לוח מפתחות/תיעוד
local function indexLinks(frame)
local args = frame:getParent().args
-- local ordered_args = {}
-- for k, v in ipairs(args) do
-- table.insert(ordered_args, {k, v})
-- end
-- table.sort(ordered_args)
local out = ''
local dash_repl = ''
for idx, arg in ipairs(args) do
-- local arg = ordered_args[i]
-- הפיכת שורורת חדשות ורווחים מיותרים לרווח אחד
arg = string.gsub(arg, "%s+", " ")
-- מחיקת רווחים מכל סוג בתחילת המחרוזת ובסופהּ
arg = string.gsub(arg, "^%s+", "")
arg = string.gsub(arg, "%s+$", "")
-- שימוש בקו מפריד תקין
arg = string.gsub(arg, "^-", "–")
local target = string.gsub(arg, "^– *", dash_repl)
if (string.find(arg, "^–") == nil) then
-- חיפוש סוגר
local match_start, match_end = string.find(arg, " ?%(")
if (match_start == nil) then
-- אחרת, חיפוש פסיק
match_start, match_end = string.find(arg, ",")
end
-- אחרת המחרוזת כולה
dash_repl = string.sub(arg, 1, match_start)
if (match_start == nil) then
-- לו מחרנו במחרוזת כולה, אז יש לשרשר פסיק ורווח
dash_repl = dash_repl .. ","
end
-- לצד פסיק, תמיד יש להוסיף רווח
dash_repl = string.gsub(dash_repl, ",", ", ")
-- הסרת רווחים מיותרים
dash_repl = string.gsub(dash_repl, " +", " ")
end
-- link = "{{אוצר ישראל/קישור|" + target + "|" + arg + "}}"
link = frame:expandTemplate{
title = 'אוצר ישראל/קישור',
args = { target, arg }
}
if (idx == 1) then
out = out .. link
else
out = out .. "; " .. link
end
end
return out
end
return {
indexLinks = indexLinks,
['מפתחות'] = indexLinks
}