Module:form of doc/templates
Appearance
- පහත දැක්වෙන උපදෙස්, Module:form of doc/templates/documentation හි පිහිටා ඇත. Module:form of doc/templates/documentation]]. [සංස්කරණය]
- ප්රයෝජනවත් සබැඳි: root page • root page’s subpages • සබැඳි • transclusions • testcases • sandbox
--[=[
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 [[Module:form of doc]].
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 {
["lang"] = plain,
["exlang"] = {list = true, sublist = "comma without whitespace", flatten = true},
["usedwithlimitedlangs"] = boolean,
["pldesc"] = plain,
["primaryentrytext"] = plain,
["cat"] = {list = true, sublist = "comma without whitespace", flatten = true},
["addlintrotext"] = plain,
["etymtemp"] = plain,
["withdot"] = boolean,
["withcap"] = boolean,
["withencap"] = boolean,
}
end
local function preprocess(frame, txt)
if txt:find("{{") then
txt = frame:preprocess(txt)
end
return txt
end
function export.introdoc_t(frame)
local params = create_introdoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return preprocess(frame, m_form_of_doc.introdoc(args))
end
local function create_paramdoc_params()
local boolean = {type = "boolean"}
local plain = {}
return {
["lang"] = plain,
["sgdescof"] = plain,
["art"] = plain,
["cat"] = {list = true, sublist = "comma without whitespace", flatten = true},
["withfrom"] = boolean,
["withdot"] = boolean,
["withcap"] = boolean,
["withencap"] = boolean,
["addlparamtext"] = plain,
}
end
function export.paramdoc_t(frame)
local params = create_paramdoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return preprocess(frame, m_form_of_doc.paramdoc(args))
end
local function create_usagedoc_params()
local params = create_paramdoc_params()
params["exlang"] = {list = true, sublist = "comma without whitespace", flatten = true}
params["usedwithlimitedlangs"] = {type = "boolean"}
return params
end
function export.usagedoc_t(frame)
local params = create_usagedoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return preprocess(frame, 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[k] = v
end
-- We allow sublists but this is handled by {{shortcut|...}} when we preprocess.
params["shortcut"] = {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 preprocess(frame, m_form_of_doc.fulldoc(args))
end
local function create_infldoc_params()
local params = create_fulldoc_params()
params["pldesc"] = nil
local plain = {}
params["sgdesc"] = plain
params["form"] = plain
return params
end
function export.infldoc_t(frame)
local params = create_infldoc_params()
local args = m_parameters.process(frame:getParent().args, params)
return preprocess(frame, 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