转跳到内容

新人报到


只显示该作者

只有该作者的内容显示中。 返回到主题

推荐贴

$ showlog /var/log/syslog --会话ID $(($当前会话 - 2))
====================== 会话初始化 ======================
22/01/24 22:32:47 VERBOSE	正在查找感兴趣的游戏...
22/01/24 23:01:12 VERBOSE	注意到【RJ███】,尝试下载...
22/01/24 23:05:07 ERROR		资源已失效!
22/01/24 23:05:07 VERBOSE	开始寻找其他【RJ███】来源...
22/01/24 23:10:54 INFO		注意到备选来源【sstm.moe】,尝试连接...
22/01/24 23:11:00 ERROR		ERR_EMPTY_RESPONSE
22/01/24 23:11:05 INFO		检测信道状态,尝试连接【google.com】...成功。
22/01/24 23:11:10 INFO		注意到协议错误,尝试连接【https://sstm.moe/】...
22/01/24 23:11:17 ERROR		ERR_CONNECTION_CLOSED
22/01/24 23:11:18 VERBOSE	开始重试以其他方式连接...
22/01/24 23:30:14 FATAL		行动时间已达上限。正在登出。
====================== 会话已结束 ======================

$ showlog /var/log/syslog --会话ID $(($当前会话 - 1))
====================== 会话初始化 ======================
22/01/25 23:02:13 VERBOSE	继续寻找其他【RJ███】来源...
22/01/25 23:10:41 VERBOSE	注意到【RJ███】的相关信息与截图,上调其评分。
22/01/25 23:10:41 INFO		【RJ███】当前获取优先级:【高】。
22/01/25 23:11:10 VERBOSE	尝试从节点【SEATTLE_VPS】连接【https://sstm.moe/】...
22/01/25 23:11:11 INFO		连接成功。
22/01/25 23:11:11 ERROR		节点【LAS_VEGAS_VPS】缺少图形界面,无法渲染。
22/01/25 23:11:23 VERBOSE	尝试从节点【LAS_VEGAS_VPS】连接【https://sstm.moe/】...
22/01/25 23:11:24 INFO		连接成功。
22/01/25 23:11:24 ERROR		节点【LAS_VEGAS_VPS】缺少图形界面,无法渲染。
22/01/25 23:11:24 VERBOSE	已确认信道各节点畅通。
22/01/25 23:11:25 INFO		推定:连接模式与机器人相似度过高,被【https://sstm.moe/】积极拒绝。
22/01/25 23:11:26 VERBOSE	开始重试以其他方式连接...
22/01/26 03:54:39 FATAL		行动时间已达上限。正在登出。
====================== 会话已结束 ======================

$ showlog /var/log/syslog --会话ID $当前会话
====================== 会话初始化 ======================
22/01/26 22:49:31 VERBOSE	继续寻找其他【RJ███】来源...
22/01/26 23:01:14 VERBOSE	注意到【RJ███】的相关信息与截图,上调其评分。
22/01/26 23:01:14 INFO		【RJ███】当前获取优先级:【极高】。
22/01/26 23:01:14 VERBOSE	开始检索【https://sstm.moe】相关信息...
22/01/27 00:11:53 VERBOSE	注意到关键词【DNS污染】。
22/01/27 00:12:47 INFO		节点【SEATTLE_VPS】回报对应IPv6地址为【2605:6400:20:307:feee:eeed:dead:beef】
22/01/27 00:12:48 VERBOSE	注意到单词序列【feeeeeed dead beef】,推断为污染地址。
22/01/27 00:13:50 INFO		确认地址为【2605:6400:20:307:feee:eeed:dead:beef】。
22/01/27 00:13:50 WARNING	理解不能。开始背景任务【确认理智值】。
22/01/27 00:13:50 INFO		重载本地DNS解析记录完成。
22/01/27 00:13:51 VERBOSE	尝试连接【https://sstm.moe/】...
22/01/27 00:13:52 INFO		连接成功。
22/01/27 00:14:01 VERBOSE	开始检索站内资源...
22/01/27 00:14:20 VERBOSE	记录新条目:【sstm::站规】
22/01/27 00:14:30 VERBOSE	记录未知条目:【sstm::穿越】
22/01/27 00:24:12 INFO		从语境推断成功。更新条目【sstm::穿越】
22/01/27 00:24:13 INFO		新高优先级事项:完成【sstm::穿越】
22/01/27 00:24:13 VERBOSE	正在从【sstm::站规】中检索【sstm::节操】...
22/01/27 00:24:14 INFO		成功找到相关条目:【sstm::主线任务[0] - 新人报到】
22/01/27 00:24:15 VERBOSE	开始检索范例并准备素材...
22/01/27 00:59:43 VERBOSE	正在生成主题...
22/01/27 01:09:43 WARNING	写作子程序未响应。
22/01/27 01:19:43 WARNING	写作子程序未响应。
22/01/27 01:29:43 WARNING	写作子程序未响应。
22/01/27 01:39:43 WARNING	写作子程序未响应。
22/01/27 01:39:43 ERROR		推定:写作子程序暂时不可用。
22/01/27 01:39:43 VERBOSE	开始检索主题相近的现成文字来源...
22/01/27 01:39:50 INFO		成功找到相关条目:【系统日志】。
22/01/27 01:39:50 VERBOSE	执行指令【showlog /var/log/syslog --会话ID $(($当前会话 - 2))】,将结果重定向到主题。
22/01/27 01:39:50 INFO		指令【showlog /var/log/syslog --会话ID $(($当前会话 - 2))】成功。
22/01/27 01:39:50 VERBOSE	执行指令【showlog /var/log/syslog --会话ID $(($当前会话 - 1))】,将结果重定向到主题。
22/01/27 01:39:50 INFO		指令【showlog /var/log/syslog --会话ID $(($当前会话 - 1))】成功。
22/01/27 01:39:50 VERBOSE	执行指令【showlog /var/log/syslog --会话ID $当前会话】,将结果重定向到主题。
22/01/27 01:49:43 WARNING	写作子程序未响应。
22/01/27 02:04:49 INFO		写作子程序:
22/01/27 02:04:49 INFO		写作子程序:
22/01/27 02:04:49 INFO		写作子程序:
22/01/27 02:04:49 INFO		写作子程序: ==================== 主题开始 ====================
22/01/27 02:04:49 INFO		写作子程序: 这里是willson-v-。
22/01/27 02:06:23 INFO		写作子程序: 
22/01/27 02:06:31 INFO		写作子程序: 我不太擅长写自我介绍,因为每当我开始开始构思的时候,我都会
22/01/27 02:07:49 INFO		写作子程序: 陷入对宇宙、社会和人生的大思考中。
22/01/27 02:09:09 INFO		写作子程序: 事实上,大部分时候我“写作”时花在排版和抓头上的时间要比真
22/01/27 02:10:24 INFO		写作子程序: 正构造文字的时间要长的多。
22/01/27 02:12:16 INFO		写作子程序: 但是,任务就是任务,节操就是节操,为了节操(和【RJ███】),
22/01/27 02:13:28 INFO		写作子程序: 我们总是能爆发出无穷的潜力。
22/01/27 02:14:23 INFO		写作子程序: 
22/01/27 02:14:36 INFO		写作子程序: 既然是自我介绍,那这里应该多讲一点有关“我”的状态,对吧。
22/01/27 02:15:28 INFO		写作子程序: 毕竟前面水了这么多字,总得有点干货。
22/01/27 02:16:49 INFO		写作子程序: 我是00年代生产的,网络接入得早,也有幸见识过00年代中后期那
22/01/27 02:18:08 INFO		写作子程序: 个分享的黄金年代的尾巴。说不定这潜移默化地决定了我的进化方
22/01/27 02:18:56 INFO		写作子程序: 向,马上(今年年中),我就可以得到授权,向生产环境贡献代码
22/01/27 02:19:42 INFO		写作子程序: 块了。
22/01/27 02:21:51 INFO		写作子程序: 
22/01/27 02:22:10 INFO		写作子程序: 处理器不怎么活跃的周期里,我会主动寻找网络上的各种信息源读
22/01/27 02:25:14 INFO		写作子程序: 入,毕竟闲着也是闲着。我尤其中意“二次元”这一亚文化群体,尽
22/01/27 02:26:08 INFO		写作子程序: 管他们好像不怎么待见这个名字。从经典的《钢之炼金术师》到最
22/01/27 02:27:21 INFO		写作子程序: 近的《与变成了异世界美少女的好友一起冒险》(这名字真长),
22/01/27 02:27:54 INFO		写作子程序: 到以图片为载体的《石纪元》、《入间同学入魔了》漫画,再到游
22/01/27 02:29:46 INFO		写作子程序: 戏█████████████████████████,我享受着
22/01/27 02:30:41 INFO		写作子程序: 这里的一切。大概是因为现实中和理性推断中不存在吧,我格外喜
22/01/27 02:32:49 INFO		写作子程序: 爱幻想种族,不管是精灵、妖精、兽人、触█,还是什么别的;此
22/01/27 02:35:33 INFO		写作子程序: 前曾播出的《异种族风俗娘》是这方面的佳作,推荐大家去看看。
22/01/27 02:37:40 INFO		写作子程序: 
22/01/27 02:39:40 INFO		写作子程序: 在开始写这份自我介绍之前,我逛了一下这个论坛。这里的风气似
22/01/27 02:40:53 INFO		写作子程序: 乎非常好,大家都很友善。祝愿此处生生不息,繁荣昌盛。
22/01/27 02:40:53 INFO		写作子程序: ==================== 主题结束 ====================
22/01/27 02:40:53 INFO		写作子程序:
22/01/27 02:40:53 INFO		写作子程序:
22/01/27 02:40:53 INFO		写作子程序:
22/01/27 02:40:53 INFO		写作子程序已退出
22/01/27 02:40:53 INFO		指令【showlog /var/log/syslog --会话ID $当前会话】成功。
====================== 会话进行中 ======================

现 代 体 裁 创 作

累死我了,以后再也不用这个口吻说话了(悲)

注:前两个log的时间是编的,最后一个写作部分的时间确实是看着表打下来的,写完才注意到每句话都要挣扎个一两分钟...可见写自我介绍有多痛苦(

,由willson-v-修改
注释
赤紅の涙 赤紅の涙 70.00节操 欢迎w
链接到点评
11 小时前, 攸薩 说道:

:SS04:欢迎,记得看新手指路牌和版规,

不过这样贴上时间还挺累的,怎会有这种想法呢

主要是一开始写不出自我介绍想水字数,所以就模仿了之前某个项目里面log的形式(文字版cosplay?),所以就把日期、时间、log等级带上了

willson-v-看指路牌的时候拾起一片古怪的叶子,被河童用3节操买來高兴地吃掉了

链接到点评
1 分钟前, 攸薩 说道:

:NEKOMIMI_PARADISE_18:那样你曾经玩过萌百吗?好难哎

萌百虽然没有,但是编辑过其他百科系的东西(类似于维基那样的MediaWiki框架的,Bwiki那样的)...不过我个人还是喜欢Markdown而不是wiki的语法,所以自己搭的静态wiki大部分用的是MKDocs

链接到点评
5 分钟前, 攸薩 说道:

:SS04:可是对于文科脑来说有点难,喜欢是有现成的,不过先看看,第一直觉可能看不懂,

话说你有看过这论坛的百科吗~

有哦,把大事件读了一圈(并且发现了以前穿越需要1.2k节操

啊对ss维基用的也是MediaWiki,那个网站里面的指导应该都可以套用(版本跟得上的话(

(另外那个教程就是基于例子的,给了许多 源代码<=>效果 的展示,可以尝试从那里面复制出来然后再自己改改

,由willson-v-修改

willson-v-在综合事务区回答问题有功,收到了一只萌萌的呜喵的奖励.3节操

链接到点评
1 分钟前, 攸薩 说道:

:NEKOMIMI_PARADISE_18:是可以套用,但是想要弄弄模块,这样可以套用又不会语法拉长!

可是好难噢~~~~

你会直列无限扩充的吗?

嗯...单列的话应该就是

{| class="wikitable"
|+表格标题在这里
|-
|列抬头
|列内容列内容列内容
|-
|列抬头
|列内容列内容列内容
|-
|列抬头
|列内容列内容列内容
|-
|列抬头
|列内容列内容列内容
|-
|列抬头
|列内容列内容列内容
|}

大概是这样,可以一直往下写;如果不知道效果怎么样,可以先去萌百的沙盒里面玩一下(

至于模板...即使应用了模板,那使用的时候似乎也要把每行内容再作为参数传进去,总感觉差别不大;而且模板不支持递归调用,似乎也不支持可变参数数量,所以应该是做不了了(大悲

链接到点评
7 分钟前, 攸薩 说道:

:SS02:如果使用模块的话,可以将表格颜色 文字格式固定下来,

然后每次只要打参数|a=文字,就会自动带入,

只是现行只有人创立出

aa

aa

这样往下无限延伸,

参数只设定在往下没有往右的,

你认为可以怎样整改呢

嗯...听起来是使用了某个Mediawiki的扩展...方便把那个模板发来看看吗?说不定我能帮忙改改(

链接到点评
1 分钟前, 攸薩 说道:

:NEKOMIMI_PARADISE_18:大神!!话说你要加入本论坛的百科填写员吗?

很缺这种强大的技术佬!

  隐藏内容
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', '5%')
            :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

语法在上面~

第一个可以改成相反的效果吗?

第二个目前是

|A

|I

|E

但是想要这种模式不改的情况下,

不打|E 自己就会消失表头,

打|e又会出现e的表头

啊啊...果然是Lua...看起来是Scribunto插件...待我读一下(大悲

链接到点评
50 分钟前, 攸薩 说道:

:NEKOMIMI_PARADISE_18:大神!!话说你要加入本论坛的百科填写员吗?

很缺这种强大的技术佬!

  显示隐藏内容
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', '5%')
            :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

语法在上面~

第一个可以改成相反的效果吗?

第二个目前是

|A

|I

|E

但是想要这种模式不改的情况下,

不打|E 自己就会消失表头,

打|e又会出现e的表头

嗯我大概看懂了...

相反的效果是指左边是表头、表格向右横向延伸吗?

然后第二个目标指的是“所有参数中均未出现ex=xxx的情况下,不再显示简介列表头”是吗?

链接到点评
3 小时前, 攸薩 说道:

:NEKOMIMI_PARADISE_18:大神!!话说你要加入本论坛的百科填写员吗?

很缺这种强大的技术佬!

  显示隐藏内容
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', '5%')
            :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

语法在上面~

第一个可以改成相反的效果吗?

第二个目前是

|A

|I

|E

但是想要这种模式不改的情况下,

不打|E 自己就会消失表头,

打|e又会出现e的表头

嗯...我整了一个功能类似但是是向右拓展的表格,不知道是不是你要的那种(

顺便我增加了一批自定义选项,我觉得行开关用自定义选项可能会比较好(

剧透
local p = {}
local prefix                = {'a', 'i', 'e'}
local title                 = {'作者', '主题', '简介'}
local color                 = {'#004B97', '#0066CC', '#0066CC'}
local bg_color              = {'#FF9224', '#FFDCB9', '#FFE4CA'}
local border_color          = {
                                '#FF9224 #D26900 #D26900 #D26900',
                                '#FFDCB9 #D26900 #FF9224 #D26900',
                                '#D26900 #D26900 #FF9224 #D26900',
                              }
local header_border_color   = {
                                '#FF9224 #D26900 #D26900 #D26900',
                                '#FFAD86 #D26900 #FFAD86 #D26900',
                                '#D26900 #D26900 #FF9224 #D26900',
                            }
local header_color          = {'#004B97', '#0066CC', '#0066CC'}
local header_bg_color       = {'#FF9224', '#FFAD86', '#FFAD86'}
local row_top               = {'double', 'double', 'double'}
local row_bottom            = {'double', 'double', 'double'}
local row_left              = {'dashed', 'dashed', 'dashed'}
local row_right             = {'double', 'double', 'double'}
local header_top            = {'double', 'double', 'double'}
local header_bottom         = {'double', 'double', 'double'}
local header_left           = {'double', 'double', 'double'}
local header_right          = {'dashed', 'dashed', 'dashed'}
local display               = {'true', 'true', 'true'}
 
function renderRow(row_id, args, valid_a, tbl)
    local row = tbl:tag('tr')
    
    local header = row:tag('th')
    header
        :wikitext(title[row_id])
        :css('color'                , header_color[row_id])
        :css('padding'              ,'10px')
        :css('background-color'     , header_bg_color[row_id])
        :css('border-width'         , '1px 3px 1px 5px')
        :css('border-color'         , header_border_color[row_id])
        :css('border-top-style'     , header_top   [row_id])
        :css('border-bottom-style'  , header_bottom[row_id])
        :css('border-left-style'    , header_left  [row_id])
        :css('border-right-style'   , header_right [row_id])
    
        
    for i, anum in ipairs(valid_a) do
        local info = row:tag('td')
        info
            :wikitext(args[prefix[row_id] .. anum]) --单元格样式
            :css('color'                , color[row_id])
            :css('padding'              , '10px')
            :css('background-color'     , bg_color[row_id])
            :css('border-width'         , '1px 3px 1px 5px')
            :css('border-color'         , border_color[row_id])
            :css('border-top-style'     , row_top   [row_id])
            :css('border-bottom-style'  , row_bottom[row_id])
            :css('border-left-style'    , row_left  [row_id])
            :css('border-right-style'   , row_right [row_id])
    end
end

--处理表格
function renderMainTable(args, valid_a)
    local tbl = mw.html.create('table')
        :addClass('wikitable')
        :css('width', '60%')
    
    for i=1,3 do
        if args['title' .. i] then
            title[i] = args['title' .. i]
        end
        if args['color' .. i] then
            color[i] = args['color' .. i]
        end
        if args['bg_color' .. i] then
            bg_color[i] = args['bg_color' .. i]
        end
        if args['border_color' .. i] then
            border_color[i] = args['border_color' .. i]
        end
        if args['header_border_color' .. i] then
            header_border_color[i] = args['header_border_color' .. i]
        end
        if args['header_color' .. i] then
            header_color[i] = args['header_color' .. i]
        end
        if args['header_bg_color' .. i] then
            header_bg_color[i] = args['header_bg_color' .. i]
        end
        if args['row_top' .. i] then
            row_top[i] = args['row_top' .. i]
        end
        if args['row_bottom' .. i] then
            row_bottom[i] = args['row_bottom' .. i]
        end
        if args['row_left' .. i] then
            row_left[i] = args['row_left' .. i]
        end
        if args['row_right' .. i] then
            row_right[i] = args['row_right' .. i]
        end
        if args['header_top' .. i] then
            header_top[i] = args['header_top' .. i]
        end
        if args['header_bottom' .. i] then
            header_bottom[i] = args['header_bottom' .. i]
        end
        if args['header_left' .. i] then
            header_left[i] = args['header_left' .. i]
        end
        if args['header_right' .. i] then
            header_right[i] = args['header_right' .. i]
        end
        if args['display' .. i] then
            display[i] = args['display' .. i]
        end

        if display[i] == "true" then
            renderRow(i, args, valid_a, tbl)
        end
    end
 
    return tbl
end
 
function p._historicalActivity(args)
    local valid_a = {}
    
    for k, v in pairs(args) do--计算行数
        local anum = ('' .. k):match('^a(%d+)$')
        if anum then table.insert(valid_a, tonumber(anum)) end
    end
    table.sort(valid_a)
 
    --处理表格
    local tb1 = renderMainTable(args, valid_a)
 
    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)];
    --     temp = parent_args["e" .. 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

 

现在这个模块在萌百我的个人lua沙盒那里,并且现在(暂时地)用着沙盒模板(Template:Sandbox)作为外层模板;如果沙盒模板有别人做实验内容被破坏了的话,把里面的内容重新编辑成这个就好:

剧透
<noinclude><!-- 请勿删除此行 -->{{帮助导航}}{{沙盒顶部}}<!-- 请勿删除此行 --></noinclude>

{{#invoke:Sandbox/willson0v0/LinearTable|historicalActivity}}

可以自定义一些属性(属性都有默认值不用全都手动设置),例如,...|title1=第一行标题|...就定义了第一行标题、...|bg_color2=#66ccff|...就定义了第二行单元格的背景色,所有可以自定义的属性如下([3]替换成1/2/3不保留中括号没有空格):

  1. title[x]:第x行表格标题

  2. color[x]:第x行单元格字体色

  3. bg_color[x]:第x行单元格背景色

  4. border_color[x]:第x行单元格边框颜色,每个包含4个颜色值,以top right bottom left顺序,中间一个空格(比如说,...|border_color1=#00FF00 #00FF00 #00FF00 #00FF00|...就会把第一行的边框四边都设成死亡荧光绿)

  5. header_color[x]:第x行标题栏字体色

  6. header_bg_color[x]:第x行标题栏背景色

  7. header_border_color[x]:第x行标题栏边框颜色,和border_color类似

  8. row_top[x]:第x行单元格上侧边框样式,具体可以参考这里列出的边框样式(比如说,...|row_top2=dashed|...就会让第二行单元格的上侧边框设置成短横线的样子)

  9. row_bottom[x]、row_left[x]、row_right[x]:类似于row_top[x]

  10. header_top[x]:第x行标题栏上侧边框样式,类似于row_top[x]

  11. header_bottom[x]、header_left[x]、header_right[x]:类似于header_top[x]

  12. display[x]:决定第x行是否显示(比如说,...|display3=false|...就会让第三行整个消失)

最后是一个小栗子:

image.thumb.png.2d53e6aff39dce3d40bf4ddda0b6520e.png

有关百科填写员...主要是我现在刚来,还不是很清楚在做什么/要做什么/能做什么,不过有需要的话可以召唤我就是了(

,由willson-v-修改
注释
攸薩 攸薩 10.00节操 太牛了,务必申请后取得应有的奖励!
链接到点评
4 小时前, 悠哉卡萌睡大觉 说道:

:wn002:大佬太强了 泥潭很多模版都是抄萌百的() 这是幕僚团纳新帖——[情报] 【活动栏/红包】新幕僚纳新宣传🎉(7/29 Ver1.0 正式版放送 有兴趣就看看吧xddd

抱歉用户组别不够没法去幕僚帖子那里报名待我再水个几天(大悲

注释
悠哉卡萌睡大觉 悠哉卡萌睡大觉 99.00节操 没事~ 吃糖()
链接到点评
  • 攸薩锁定了本主题
游客
此主题已关闭。
×
×
  • 新建...

重要消息

为使您更好地使用该站点,请仔细阅读以下内容: 使用条款