local p =
function p.asc(frame) if tonumber(frame.args[1]) > 1 then local before = string.rep("[%|\n]%|(.-)", tonumber(frame.args[1]) - 1) else local before = end local indexed_rows sorted_table = local key = 0 return frame.args[2]-- for row in mw.text.gsplit(frame.args[2], "\n|-", true) do-- key = row:gmatch(before.."[%|\n]%|(.-)[%|\n]%|")-- indexed_rows[key] = -- end-- table.sort(indexed_rows)-- for key, row in pairs(indexed_rows) do-- sorted_table = sorted_table..'\n|-'..row-- end-- return sorted_tableend
function p.desc(frame) local rows = mw.text.split(frame.args[2], "\n|-", true) for row in rows do indexed_rows[row:gmatch(string.rep("[%|\n]%|(.-)", frame.args[1] - 1).."[%|\n]%|(.-)[%|\n]%|")] = row end table.sort(indexed_rows, function (a, b) return a > b end) return table.concat(indexed_rows[2], "\n%|%-") end
return p