Module:About
From Zoophilia Wiki
Documentation for this module may be created at Module:About/doc
local mArguments --initialize lazily
local mHatnote = require('Module:Hatnote/Sandbox') --sandbox since we use mHatnote._forSee(). Blocks removing from alpha.
local libraryUtil = require('libraryUtil')
local checkType = libraryUtil.checkType
local p = {}
--A passthrough that gets args from the frame and all
function p.about (frame)
mArguments = require('Module:Arguments')
args = mArguments.getArgs(frame)
return p._about(args)
end
--Produces "about" hatnote. No options or defaults yet, but the machinery's there.
function p._about (args, options)
checkType('_about', 1, args, 'table', true)
args = args or {}
checkType('_about', 2, options, 'table', true)
options = options or {}
local defaultOptions = {
--whatever
}
for k, v in pairs(defaultOptions) do
if options[k] == nil then options[k] = v end
end
local pageTypeStrings = {
[0] = 'article',
[14] = 'category'
}
local pageType = (args.section and 'section') or
pageTypeStrings[mw.title.getCurrentTitle().namespace] or
'page'
local about = ''
if args[1] then
about = string.format('This %s is about %s. ', pageType, args[1])
end
local forSee = mHatnote._forSee(args, 2)
return mHatnote._hatnote(about .. forSee)
end
return p