Module:About

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