Module:documentation

Revision as of 13:32, 5 August 2023 by Maria (talk | contribs)

Documentation for this module may be created at Module:documentation/documentation

local export = {}

function export.show(frame)
	local source = frame.args[1] or frame.args["source"]
	local doc = ((type(source) == "string" and source ~= "") and mw.title.new(source))
		or mw.title.new(mw.title.getCurrentTitle().fullText .. "/documentation")
	if not doc.exists then
		return '<div style="margin-left:1em;"><i>This page has no documentation. Please <span class="plainlinks">[' .. doc:fullUrl{action="edit"} .. ' create it]</span>.</i></div>\n'
	end
	local doc_content = doc:getContent()
	if doc_content == nil then
		error("Documentation page exists but content is nil")
	end
	return '<div class="documentation">\n<i>The following documentation is located at [[' .. doc.fullText .. ']]. <sup><span class="plainlinks">[' .. doc:fullUrl{action="edit"} .. " edit]</span></sup></i>\n\n" .. doc:getContent() .. "\n</div>\n"
end

return export