--[=[
This module contains functions to implement {{form of/*doc}} templates.
The module contains the wrappers meant to be called directly from templates.
The actual implementations are in ].
Author: Benwing2
]=]
local export = {}
local m_parameters = require("Module:parameters")
local m_form_of_doc = require("Module:form of doc")
local function create_introdoc_params()
local boolean = {type = "boolean"}
local plain = {}
return {
= plain,
= {list = true},
= plain,
= plain,
= {list = true},
= plain,
= plain,
= boolean,
= boolean,
}
end
function export.introdoc_t(frame)
local params = create_introdoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return m_form_of_doc.introdoc(args)
end
local function create_paramdoc_params()
local boolean = {type = "boolean"}
local plain = {}
return {
= plain,
= plain,
= plain,
= boolean,
= boolean,
= boolean,
}
end
function export.paramdoc_t(frame)
local params = create_paramdoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return m_form_of_doc.paramdoc(args)
end
local function create_usagedoc_params()
local params = create_paramdoc_params()
params = {list = true}
return params
end
function export.usagedoc_t(frame)
local params = create_usagedoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return m_form_of_doc.usagedoc(args)
end
local function create_fulldoc_params()
local params = create_introdoc_params()
local usageparams = create_usagedoc_params()
for k, v in pairs(usageparams) do
params = v
end
params = {type = "title", list = true}
return params
end
function export.fulldoc_t(frame)
local params = create_fulldoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return m_form_of_doc.fulldoc(args)
end
local function create_infldoc_params()
local params = create_fulldoc_params()
params = nil
local plain = {}
params = plain
params = plain
return params
end
function export.infldoc_t(frame)
local params = create_infldoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return m_form_of_doc.infldoc(args)
end
function export.tagtable_t(frame)
return m_form_of_doc.tagtable()
end
function export.non_alias_shortcut_table_t(frame)
return m_form_of_doc.non_alias_shortcut_table()
end
function export.lang_specific_tables_t(frame)
return m_form_of_doc.lang_specific_tables()
end
function export.postable_t(frame)
return m_form_of_doc.postable()
end
function export.lang_independent_category_table_t(frame)
return m_form_of_doc.lang_independent_category_table()
end
function export.lang_independent_label_table_t(frame)
return m_form_of_doc.lang_independent_label_table()
end
return export