Jump to content
Wikipedia The Free Encyclopedia

Module:Portal toolbox

From Wikipedia, the free encyclopedia
Module documentation[view] [edit] [history] [purge]
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.

 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

AltStyle によって変換されたページ (->オリジナル) /