Module:descendants: Difference between revisions

ਕੋਈ ਸੋਧ ਸਾਰ ਨਹੀਂ
No edit summary
Tags: Mobile edit Mobile web edit Advanced mobile edit
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 21: Line 21:
local see_desc = args["see"]
local see_desc = args["see"]
local noname = args["noname"]
local noname = args["noname"]
local nocat = args["nocat"]
local lostcap = args["lost"] or "lost"
local lostcap = args["lost"] or "lost"
if not nocat then out = out .. "[[Category:Terms with " .. lang.name .. " descendants|" .. mw.title.getCurrentTitle().subpageText .. "]]" end
if borrowed then out = "<span class=\"desc-arrow\" title=\"borrowed\">→</span>" .. out end
if borrowed then out = "<span class=\"desc-arrow\" title=\"borrowed\">→</span>" .. out end
if not noname then out = out .. lang.name .. ":&nbsp;" end
if not noname then out = out .. lang.name .. ":&nbsp;" end
Line 77: Line 79:
for piece, delim in mw.ustring.gmatch(lang, "([^%>%_]+)([%>%_])") do
for piece, delim in mw.ustring.gmatch(lang, "([^%>%_]+)([%>%_])") do
ancestor_path = ancestor_path .. piece
ancestor_path = ancestor_path .. piece
if mw.ustring.match(lang, "^%>") then
ancestor_path = ">" .. ancestor_path
end
table.insert(ancestors[lang], ancestor_path)
table.insert(ancestors[lang], ancestor_path)
ancestor_path = ancestor_path .. delim
ancestor_path = ancestor_path .. delim
end
end
else -- if ad hoc ancestors unspecified, i.e. the code does not contained the path symbols > or _
else -- if ad hoc ancestors unspecified, i.e. the code does not contain the path symbols > or _
if mw.ustring.find(lang, "[0-9]+$") then
if mw.ustring.find(lang, "[0-9]+$") then
Line 152: Line 157:
if lang_change then
if lang_change then
term = mw.ustring.sub(term, mw.ustring.len(lang_change) + 2)
term = mw.ustring.sub(term, mw.ustring.len(lang_change) + 2)
local auto_ancestor, auto_bor = mw.ustring.sub(lang_change, 1, 1) == "_", mw.ustring.sub(lang_change, 1, 2) == ">>"
if auto_ancestor or auto_bor then
if code == nil then error("No preceding language code specified") end
if auto_bor then lang_change = mw.ustring.sub(lang_change, 2) end
lang_change = code .. lang_change
end
local lang_args = {}
local lang_args = {}
Line 185: Line 197:
for lang, lang_args in pairs(terms) do
for lang, lang_args in pairs(terms) do
table.insert(lang_args, 1, lang)
table.insert(lang_args, 1, lang)
lang_args["nocat"] = args["nocat"]
items[lang] = export.descendant(lang_args)
items[lang] = export.descendant(lang_args)
end
end