localmArguments--initialize lazilylocalmHatnote=require('Module:Hatnote')localmHatList=require('Module:Hatnote list')locallibraryUtil=require('libraryUtil')localcheckType=libraryUtil.checkTypelocalp={}functionp.about(frame)-- A passthrough that gets args from the frame and allmArguments=require('Module:Arguments')args=mArguments.getArgs(frame)returnp._about(args)endfunctionp._about(args,options)-- Produces "about" hatnote.-- Type checks and defaultscheckType('_about',1,args,'table',true)args=argsor{}checkType('_about',2,options,'table',true)options=optionsor{}localdefaultOptions={aboutForm='This %s is about %s. ',PageType=require('Module:Pagetype').main(),otherText=nil,--included for complete listsectionString='section'}fork,vinpairs(defaultOptions)doifoptions[k]==nilthenoptions[k]=vendend-- Set initial "about" stringlocalpageType=(args.sectionandoptions.sectionString)oroptions.PageTypelocalabout=''ifargs[1]thenabout=string.format(options.aboutForm,pageType,args[1])end--Allow passing through certain optionslocalfsOptions={otherText=options.otherText,extratext=args.text}localhnOptions={selfref=args.selfref}-- Set for-see listlocalforSee=mHatList._forSee(args,2,fsOptions)-- Concatenate and returnreturnmHatnote._hatnote(about..forSee,hnOptions)endreturnp