-- Proof-of-concept for automatic stripinglocalp={}localNavbox=require('Module:Navbox')functionp.navbox(frame)localargs=frame:getParent().argslocallistnums={}locallistcount=0localt={}fork,vinpairs(args)doiftype(k)=='string'andk:match('^list[0-9][0-9]*$')thenif(vandv~='')thenlistcount=listcount+1listnums[listcount]=mw.ustring.gsub(k,'^list([0-9][0-9]*)$','%1')endelseiftype(k)=='string'andk:match('^group[0-9][0-9]*$')then-- skip for now, processed belowelseif(vandv~='')thent[k]=vendendlocalfunctionlcomp(n1,n2)return(tonumber(n1)or0)<(tonumber(n2)or0)endtable.sort(listnums,lcomp)fori=1,listcountdot['list'..i]=args['list'..listnums[i]]if(args['group'..listnums[i]]~=nilandargs['group'..listnums[i]]~='')thent['group'..i]=args['group'..listnums[i]]endendreturnNavbox._navbox(t)endreturnp