首页
随机
登录
设置
关于MalacoKnowledge
免责声明
MalacoKnowledge
搜索
查看“模块:Clade/example”的源代码
←
模块:Clade/example
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
local p = {} function p.example(frame) local params = mw.getCurrentFrame():getParent().args -- build HTML table local exampleTable = mw.html.create('table') exampleTable:addClass('wikitable') local align = params['align'] or 'center' if align == 'center' then exampleTable:css('margin-left', 'auto') exampleTable:css('margin-right','auto') elseif align == 'right' then exampleTable:css('float',align) end local columns = {'description','code','output','comment'} --local headers = {'Description','Code','Output','Comment'} -- create header row and add requested headers local row = exampleTable:tag('tr') local headerText for k,v in pairs(columns) do if params[v] then if params[v]~='' then headerText=params[v] else headerText = firstToUpper(v) end row:tag('th'):wikitext(headerText) end end -- now deal with the data rows local i=0 while i<10 do i=i+1 local moreRows = false for k,v in pairs(columns) do if params[v..i] then moreRows = true end end if not moreRows then break end row = exampleTable:tag('tr') for k,v in pairs(columns) do if params[v] then if params[v] then if v=="code" and isNoWikiStripMarker(params['code'..i]) then local nowikiOutput = mw.text.unstripNoWiki(params["code"..i]) row:tag('td'):css('text-align', 'left') :wikitext('\n' .. frame:callParserFunction( '#tag:pre', nowikiOutput ) ) -- wrap with <pre> --:wikitext('\n' .. frame:callParserFunction{ name ='#tag:syntaxhighlight', args = { nowikiOutput, lang = "lua" } } ) -- wrap with <syntaxhighlight> elseif v=="output" and isNoWikiStripMarker(params['code'..i]) then local nowikiOutput = mw.text.unstripNoWiki(params["code"..i]) local parsedOutput = frame:preprocess (nowikiOutput) row:tag('td'):css('text-align', 'left'):wikitext('\n' .. parsedOutput) else row:tag('td'):css('text-align', 'left'):wikitext('\n' ..params[v..i]) end else row:tag('td') end end end end return tostring(exampleTable) end function isNoWikiStripMarker(str) return string.match (str, '^%s*\127[^\127]*UNIQ%-%-nowiki%-%x%x%x%x%x%x%x%x%-QINU[^\127]*\127%s*$') end function firstToUpper(str) return (str:gsub("^%l", string.upper)) end function p.templateStyle( frame, src ) return frame:extensionTag( 'templatestyles', '', { src = src } ); end -- this must be at end return p
返回
模块:Clade/example
。