Module:columns/auto

-- TODO needs a complete redesign

local export = {}

function export.decide_number_of_columns(lang, number_of_items) if number_of_items <= 3 then return 1 elseif number_of_items <= 9 then return 2 elseif number_of_items <= 27 then return 3 elseif number_of_items <= 81 then return 4 else return 5 end end

function export.display_from(column_args, list_args) if not column_args["columns"] then local m_table = require("Module:table") column_args = m_table.shallowcopy(column_args) local lang = require("Module:languages").getByCode(mw.text.trim(list_args[1]), 1) column_args["columns"] = export.decide_number_of_columns(lang, m_table.length(list_args)) end return require("Module:columns").display_from(column_args, list_args) end

function export.display(frame) return export.display_from(frame.args, frame:getParent.args) end

return export