|
|
(未显示2个用户的146个中间版本) |
第1行: |
第1行: |
| --
| |
| --修改自模块历史活动
| |
| --
| |
|
| |
|
| local p = {}
| |
|
| |
| local args--存参数
| |
| local frame
| |
| local anums = {}--存行数
| |
|
| |
| --添加行
| |
| function addTableRow(tbl)
| |
| return tbl:tag('tr')
| |
| end
| |
|
| |
| --处理表头
| |
| function renderHeaderRow(tbl)
| |
|
| |
| local headerRow = addTableRow(tbl)
| |
| headerRow
| |
| :tag('th')
| |
| :wikitext('届数')
| |
| :css('color','#004B97')--文字颜色
| |
| :css('background-color','#FF9224')--底色
| |
| :css('border-width', '5px 1px 3px 5px')
| |
| :css('border-color','#D26900 #FF9224 #D26900 #D26900')
| |
| :css('border-top-style','double')
| |
| :css('border-bottom-style','dashed')
| |
| :css('border-left-style','double')
| |
| :css('width', '10%')
| |
| :attr('scope', 'column')
| |
| :done()
| |
| :tag('th')
| |
| :wikitext('作者')
| |
| :css('color','#0066CC')
| |
| :css('background-color','#FFAD86')
| |
| :css('border-width', '5px 1px 3px 1px')
| |
| :css('border-color','#D26900 #FFAD86 #D26900 #FFAD86')
| |
| :css('border-top-style','double')
| |
| :css('border-bottom-style','dashed')
| |
| :css('border-right-style','double')
| |
| :css('width', '25%')
| |
| :attr('scope', 'column')
| |
| :done()
| |
| :tag('th')
| |
| :wikitext('活动主题')
| |
| :css('color','#0066CC')
| |
| :css('background-color','#FFAD86')
| |
| :css('border-width', '5px 5px 3px 1px')
| |
| :css('border-color','#D26900 #D26900 #D26900 #FF9224')
| |
| :css('border-top-style','double')
| |
| :css('border-bottom-style','dashed')
| |
| :css('border-right-style','double')
| |
| :css('width', '35%')
| |
| :attr('scope', 'column')
| |
| :done()
| |
|
| |
| end
| |
|
| |
| --处理某一行数据
| |
| function renderListRow(tb1, anum)
| |
| local row = addTableRow(tb1)--添加行,并将当前行传给row
| |
|
| |
| if args['a' .. anum] then
| |
| local activity = row:tag('td')--添加单元格,并将该单元格传给activity
| |
| activity
| |
| :attr('align', 'center')--单元格样式
| |
| :css('padding','3px')
| |
| :css('color','#004B97')--文字颜色
| |
| :css('background-color','#FF9224')--底色
| |
| :css('border-width', '5px 1px 3px 5px')
| |
| :css('border-color','#D26900 #FF9224 #D26900 #D26900')
| |
| :css('border-top-style','dashed')
| |
| :css('border-bottom-style','double')
| |
| :css('border-left-style','double')
| |
| :wikitext(args['a' .. anum])
| |
| end
| |
|
| |
| local info = row:tag('td')--再添加单元格,并将该单元格传给info
| |
|
| |
| info
| |
| :wikitext(args['i' .. anum])--单元格样式
| |
| :css('color','#0066CC')
| |
| :css('padding','10px')
| |
| :css('background-color','#FFDCB9')
| |
| :css('border-width', '5px 1px 3px 1px')
| |
| :css('border-color','#D26900 #FFDCB9 #D26900 #FF9224')
| |
| :css('border-top-style','dashed')
| |
| :css('border-bottom-style','double')
| |
| :css('border-right-style','double')
| |
|
| |
| local info1 = row:tag('td')--再添加单元格,并将该单元格传给info
| |
|
| |
| info1
| |
| :wikitext(args['e' .. anum])--单元格样式
| |
| :css('color','#0066CC')
| |
| :css('background-color','#FFE4CA')
| |
| :css('border-width', '5px 5px 3px 1px')
| |
| :css('border-color','#D26900 #D26900 #D26900 #FF9224')
| |
| :css('padding','10px')
| |
| :css('border-top-style','dashed')
| |
| :css('border-bottom-style','double')
| |
| :css('border-right-style','double')
| |
|
| |
| end
| |
|
| |
| --处理表格
| |
| function renderMainTable()
| |
| local tb1 = mw.html.create('table')--创建table
| |
| --.attr('cellspacing', 0)--在这里table添加样式
| |
| :addClass('wikitable')
| |
| :addClass('mw-collapsible')
| |
| :addClass('mw-collapsed')
| |
| :css('width', '60%')
| |
|
| |
| renderHeaderRow(tb1)
| |
| for i, anum in ipairs(anums) do--循环处理每一行数据
| |
| renderListRow(tb1, anum)
| |
| end
| |
|
| |
| return tb1
| |
| end
| |
|
| |
| function p._historicalActivity(Args)
| |
| args = Args
| |
|
| |
| for k, v in pairs(args) do--计算行数
| |
| local anum = ('' .. k):match('^a(%d+)$')
| |
| if anum then table.insert(anums, tonumber(anum)) end
| |
| end
| |
| table.sort(anums)
| |
|
| |
| --处理表格
| |
| local tb1 = renderMainTable()
| |
|
| |
| local res = mw.html.create()
| |
| res:node(tb1)
| |
|
| |
| return tostring(res)
| |
| end
| |
|
| |
| function p.historicalActivity(frame)
| |
| local args = {}
| |
| local parent_args = frame:getParent().args;--获取页面传来得参数,而不是模板的参数
| |
|
| |
| -- Out of order parsing bug.
| |
| -- 不懂
| |
| local temp;
| |
| for i = 1, 50 do
| |
| temp = parent_args["a" .. tostring(i)];
| |
| temp = parent_args["i" .. tostring(i)];
| |
| end
| |
|
| |
| --将获取的参数传给args
| |
| for k, v in pairs(parent_args) do
| |
| if v ~= '' then
| |
| args[k] = v
| |
| end
| |
| end
| |
| return p._historicalActivity(args)
| |
| end
| |
|
| |
| return p
| |
这个模块是干什么用的?
该模块用于测试,测试完请清空模块内的内容
基本用法
local p = {}
function p.函数名()
return '返回内容'
end
function p.函数名2()
return '返回内容2'
end
return
以上为最基本的用法,其他请自行学习Lua语言
其他
同样也有一个用于测试模板的模板,点这里进入