Modul:number list/documentation
A modult a Modul:number list/documentation/doc lapon tudod dokumentálni
local export = {}
-- it is either here, or in [[Module:ugly hacks]], and it is not in ugly hacks.
function export.CONTENTMODEL()
return mw.title.getCurrentTitle().contentModel
end
doc_content = function (title, cats)
local lang_code = title.fullText:match("^Module:number list/data/(.+)")
local lang = require("Module:languages").getByCode(lang_code)
local function page_exists(title)
local success, title_obj = pcall(mw.title.new, title)
return success and title_obj.exists
end
if lang then
local canonical_name = lang:getCanonicalName()
local language_data_modules = canonical_name .. " data modules"
cats:insert((page_exists("Category:" .. language_data_modules)
and language_data_modules or canonical_name .. " modules")
.. "|number list")
cats:insert("Number data modules|" .. canonical_name)
return ("This module contains data on various types of numbers in %s.\n%s")
:format(lang:makeCategoryLink(), require("Module:number list/show").table() or '')
end
end
-- This provides categories and documentation for various data modules, so that
-- [[Category:Uncategorized modules]] isn't unnecessarily cluttered.
-- It is a list of tables, each of which have three possible fields:
-- The "regex" field is required. It is a Lua pattern to match the module's
-- title. If it matches, the data will be used. If the pattern contains one
-- capture, and a category has been specified, the capture will be used as a
-- sortkey.
-- The "doc" field is required. This may be a function or a
-- string. If it is a function, it receives a title and an array (see
-- [[Module:array]]) of categories that will be added to the documentation as
-- its first and second arguments, and may return a string, which will be used
-- as documentation. If it is a string, it is the name of a submodule under
-- "Module:documentation/functions/" which returns a function, of the same type
-- as described above.
-- The "cat" field is optional. It is a category in which the module should be
-- placed. The inner part of the category link is generated as follows:
-- mw.ustring.gsub(full_title, cat_field)
-- So if the "cat" field is present, the "regex" field should match the whole
-- title, and if there is "|%1" at the end of the "cat" field, for a sortkey,
-- there should be one capture in the "regex" field.
function export.show(frame)
local params = {
["hr"] = {},
["for"] = {},
["from"] = {},
["notsubpage"] = { type = "boolean", default = false },
["nodoc"] = { type = "boolean", default = false },
}
local args = require("Module:parameters").process(frame.args, params)
local output = Array('\n<div class="documentation" style="display:block; clear:both">\n')
local cats = Array()
local nodoc = args.nodoc
if (not args.hr) or (args.hr == "above") then
output:insert("----\n")
end
local title = ((args['for'] ~= "") and args['for']) and mw.title.new(args['for'])
or mw.title.getCurrentTitle()
local doc_title = mw.title.new((args['from'] ~= "") and args['from']
or (title.fullText .. '/doc'))
local contentModel = title.contentModel
local pagetype = mw.getContentLanguage():lcfirst(title.nsText) .. ""
local preload, fallback_docs, doc_content, doc_content_module,
old_doc_title, user_name, skin_name, needs_doc
end
return export