Module:Portal toolbox
Appearance
From Wikipedia, the free encyclopedia
This module is rated as alpha. It is ready for limited use and third-party feedback. It may be used on a small number of pages, but should be monitored closely. Suggestions for new features or adjustments to input and output are welcome.
This module implements {{Portal toolbox }}. Please see the template page for documentation.
The above documentation is transcluded from Module:Portal toolbox/doc. (edit | history)
Editors can experiment in this module's sandbox (create | mirror) and testcases (create) pages.
Subpages of this module.
Editors can experiment in this module's sandbox (create | mirror) and testcases (create) pages.
Subpages of this module.
localgetArgs=require('Module:Arguments').getArgs p={} localfunctionadd_header_row(frame,tbl,text) localrow=tbl:tag('tr') row:tag('th') :attr('colspan','2') :wikitext(text) end localfunctionedit(frame,pagename) returnframe:expandTemplate{title='edit',args={pagename}} end localfunctionadd_template_row(frame,tbl,pagename) localrow=tbl:tag('tr') row:tag('td') :wikitext(frame:expandTemplate{title='tl',args={pagename}}) row:tag('td') :wikitext(edit(frame,'Template:'..pagename)) end localfunctionadd_wikilink_row(frame,tbl,pagename,text,right) localrow=tbl:tag('tr') row:tag('td') :wikitext('[['..pagename..'|'..(textorpagename)..']]') row:tag('td') :wikitext(rightoredit(frame,pagename)) end localfunctionadd_section(frame,args,tbl,add_section_header,arg_prefix,page_prefix,row_function) ifrow_function==nilthen row_function=add_wikilink_row end localnums={} fork,_inpairs(args)do iftype(k)=='string'then localnum=k:match('^'..arg_prefix..'(%d+)$') ifnumthen table.insert(nums,tonumber(num)) end end end if#nums==0then return end table.sort(nums) add_header_row(frame,tbl,add_section_header) for_,numinipairs(nums)do localarg_name=arg_prefix..num localarg=args[arg_name] localpagename=page_prefix..arg localtext=args[arg_name..'text'] localright=args[arg_name..'right'] row_function(frame,tbl,pagename,textorarg,right) end end localfunctionmain(frame) localargs=getArgs(frame) localtbl=mw.html.create('table') :cssText('clear: right; float:right; border:1px navy solid;') tbl:tag('caption') :wikitext('Portal toolbox') add_header_row(frame,tbl,'Main portal page') localrootTitle=mw.title.getCurrentTitle().rootPageTitle.subjectPageTitle add_wikilink_row(frame,tbl,rootTitle.fullText) add_section(frame,args,tbl,'Static subpages','static',rootTitle.fullText..'/') add_section(frame,args,tbl,'Dynamic subpages','dynamic',rootTitle.fullText..'/') add_section(frame,args,tbl,'Templates','template','',add_template_row) add_section(frame,args,tbl,'Other','other','') returntbl end p.main=main returnp