Modul:SoftwareDoku
Erscheinungsbild
Skriptfehler: Die Funktion „linkBoxDeEn“ ist nicht vorhanden.
--[=[ SoftwareDoku 2022-10-14
Module for software documentation templates
Author: Vollbracht
template functions
* functionDoc(frame) standard description of a function
]=]
--Module globals
local p = {}
local _, Parser = pcall(require, "Modul:SimpleStruct")
--[[
functionDoc(frame)
standard description of a function
parameters:
frame.args.name name of function
frame.args.short short description
frame.args.parameters parsable parameters list for en table header
frame.args.Parameter parsable parameters list for de table header
frame.args.returns wikitext return description for en table header
frame.args.Rueckgabe wikitext return description for de table header
]]
p.functionDoc = function(frame)
mw.logObject(frame.args)
if not frame.args.name then return '' end
if not frame.args.short then return '' end
local result = '<h2>' .. frame.args.name .. '</h2><p>' .. frame.args.short
.. '</p><table style="width:100%;"><tr>'
.. '<th colspan="3" style="text-align:left;">'
local pars = frame.args.parameters
if pars then
result = result .. 'parameters:</th></tr><tr>'
else
pars = frame.args.Parameter
end
if pars then
result = result .. 'Parameter:</th></tr><tr>'
else return '' end
if pars == 'none' then
result = result .. '<td></td><td colspan="2">no parameters</td></tr>'
else
local pList = Parser.altParse(pars)
result = result .. '<td rowspan="' .. #pList .. '"></td>'
local pRows = {}
for k, v in pairs(pList) do
table.insert(pRows, '<td>' .. k .. '</td><td>' .. v .. '</td>')
end
result = result .. table.concat(pRows, '</tr><tr>')
.. '</tr><tr><th style="text-align:left;vertical-align:top;>'
end
local ret = frame.args.returns
if ret then
result = result .. 'returns'
else ret = frame.args.Rueckgabe end
if ret then
result = result .. 'Rückgabewert'
else return '' end
return result .. ':</th><td colspan="2">' .. ret .. '</td></tr></table>'
end
return p