-- This module generates documentation for .
---------------------------------------------------------------------------------- Documentation class--------------------------------------------------------------------------------
local Documentation = Documentation.__index = Documentation
function Documentation:new(mainCfg, docCfg) return setmetatable(self)end
function Documentation:makeReasonTable -- Get the data from the cfg.banners table. local rowData = for action, reasonTables in pairs(self._mainCfg.banners) do for reason, t in pairs(reasonTables) do rowData[#rowData + 1] = end end
-- Sort the table into alphabetical order, first by action and then by -- reason. table.sort(rowData, function (t1, t2) if t1.action
-' ret[#ret + 1] = string.format(' | %s', self._docCfg['documentation-blurb-noreasons'] ) else -- Header ret[#ret + 1] = ' | -' ret[#ret + 1] = string.format('! %s\n | %s\n! %s', self._docCfg['documentation-heading-reason'], self._docCfg['documentation-heading-action'], self._docCfg['documentation-heading-description'] ) -- Rows for _, t in ipairs(rowData) do ret[#ret + 1] = ' | -' ret[#ret + 1] = string.format(' | %s\n | %s\n | %s', t.reason, t.action, t.description or ) end end ret[#ret + 1] = ' |
---|
---------------------------------------------------------------------------------- Exports--------------------------------------------------------------------------------
local p =
function p.reasonTable local mainCfg = require('Module:Protection banner/config') local docCfg = require('Module:Protection banner/documentation/config') local documentationObj = Documentation:new(mainCfg, docCfg) return documentationObj:makeReasonTableend
return p