require('strict')localp={}localpargs={}localfunctionfirstToUpper(str)return(str:gsub("^%l",string.upper))endlocalfunctiongetArgs(frame,args)localparents=mw.getCurrentFrame():getParent()fork,vinpairs(parents.args)do--check contentifvandv~=""thenargs[k]=v--parents.args[k]endendfork,vinpairs(frame.args)do--check contentifvandv~=""thenargs[k]=vendendendp.main=function(frame)getArgs(frame,pargs)localgenus=pargs['genus']localspecies=pargs['species']localcommon=pargs['common_name']ifnot(genusandspecies)thenreturn"ERROR: require genus and species parameter"endlocaloutput=""localshort=pargs['short']or"Species of plant in the genus "..pargs['genus']output=output.."{{short description|"..short.."}}"--speciesboxoutput=output.."\n{{speciesbox"output=output.."\n|image = "..pargs['image']or""output=output.."\n|genus = "..genus.."\n|species = "..speciesoutput=output.."\n}}"--ledeoutput=output.."\n'''''"..firstToUpper(genus).." "..species.."'''''"ifcommonthenoutput=output..", also called the '''"..common.."''',"endoutput=output.." is a species of "..pargs['type']or"flowering plant".."in the genus ''[["..genus"]]''"ifpargs['distribution']thenoutput=output..", native to "..pargs['distribution']endoutput=output..". "..(pargs['comment']or"")-- subtaxa --localsubtaxa=pargs['subtaxa']ifsubtaxathenoutput=output.."\n==Subtaxa==".."\nThe following subtaxa are recognised:\n"frame.args[1]=subtaxaframe.args['nolink']=true-- subspecies shouldn't be linkedoutput=output..require('Module:FishRef/utilities').format_species_list(frame)--output = output ..end-- end stuffoutput=output.."\n==References=="output=output.."\n{{reflist}}"output=output.."\n\n{{taxonbar|from1="..(pargs['taxonbar']or"").."}}"output=output.."\n"..pargs['categories']or""returnoutputendreturnp