willson-v- 发布于一月 26, 2022 分享 发布于一月 26, 2022 (已修改) $ 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的时间是编的,最后一个写作部分的时间确实是看着表打下来的,写完才注意到每句话都要挣扎个一两分钟...可见写自我介绍有多痛苦( 一月 26, 2022,由willson-v-修改 注释 赤紅の涙 70.00节操 欢迎w 链接到点评
willson-v- 发布于一月 27, 2022 作者 分享 发布于一月 27, 2022 11 小时前, 攸薩 说道: 欢迎,记得看新手指路牌和版规, 不过这样贴上时间还挺累的,怎会有这种想法呢 主要是一开始写不出自我介绍想水字数,所以就模仿了之前某个项目里面log的形式(文字版cosplay?),所以就把日期、时间、log等级带上了 willson-v-看指路牌的时候拾起一片古怪的叶子,被河童用3节操买來高兴地吃掉了 链接到点评
willson-v- 发布于一月 27, 2022 作者 分享 发布于一月 27, 2022 刚刚, 攸薩 说道: 还好中文字还行, 不然这三百只看中文字的说,话说你本身编程很厉害吗? 嗯...是在校大学生的一般水平(大悲) 链接到点评
willson-v- 发布于一月 27, 2022 作者 分享 发布于一月 27, 2022 1 分钟前, 攸薩 说道: 那样你曾经玩过萌百吗?好难哎 萌百虽然没有,但是编辑过其他百科系的东西(类似于维基那样的MediaWiki框架的,Bwiki那样的)...不过我个人还是喜欢Markdown而不是wiki的语法,所以自己搭的静态wiki大部分用的是MKDocs 链接到点评
willson-v- 发布于一月 27, 2022 作者 分享 发布于一月 27, 2022 1 分钟前, 攸薩 说道: 好厉害!话说这样你会维基的那种表格吗?可以指导怎样制作模块表格吗? 我个人推荐使用class="wikitable"加上一些基础css语句来操作单元格...MediaWiki的网站上有许许多多的教程哦,比如这里就有一个很不错的科普 链接到点评
willson-v- 发布于一月 27, 2022 作者 分享 发布于一月 27, 2022 (已修改) 5 分钟前, 攸薩 说道: 可是对于文科脑来说有点难,喜欢是有现成的,不过先看看,第一直觉可能看不懂, 话说你有看过这论坛的百科吗~ 有哦,把大事件读了一圈(并且发现了以前穿越需要1.2k节操 啊对ss维基用的也是MediaWiki,那个网站里面的指导应该都可以套用(版本跟得上的话( (另外那个教程就是基于例子的,给了许多 源代码<=>效果 的展示,可以尝试从那里面复制出来然后再自己改改 一月 27, 2022,由willson-v-修改 willson-v-在综合事务区回答问题有功,收到了一只萌萌的呜喵的奖励.3节操 链接到点评
willson-v- 发布于一月 27, 2022 作者 分享 发布于一月 27, 2022 1 分钟前, 攸薩 说道: 是可以套用,但是想要弄弄模块,这样可以套用又不会语法拉长! 可是好难噢~~~~ 你会直列无限扩充的吗? 嗯...单列的话应该就是 {| class="wikitable" |+表格标题在这里 |- |列抬头 |列内容列内容列内容 |- |列抬头 |列内容列内容列内容 |- |列抬头 |列内容列内容列内容 |- |列抬头 |列内容列内容列内容 |- |列抬头 |列内容列内容列内容 |} 大概是这样,可以一直往下写;如果不知道效果怎么样,可以先去萌百的沙盒里面玩一下( 至于模板...即使应用了模板,那使用的时候似乎也要把每行内容再作为参数传进去,总感觉差别不大;而且模板不支持递归调用,似乎也不支持可变参数数量,所以应该是做不了了(大悲 链接到点评
willson-v- 发布于一月 27, 2022 作者 分享 发布于一月 27, 2022 7 分钟前, 攸薩 说道: 如果使用模块的话,可以将表格颜色 文字格式固定下来, 然后每次只要打参数|a=文字,就会自动带入, 只是现行只有人创立出 aa aa 这样往下无限延伸, 参数只设定在往下没有往右的, 你认为可以怎样整改呢 嗯...听起来是使用了某个Mediawiki的扩展...方便把那个模板发来看看吗?说不定我能帮忙改改( 链接到点评
willson-v- 发布于一月 27, 2022 作者 分享 发布于一月 27, 2022 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', '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插件...待我读一下(大悲 链接到点评
willson-v- 发布于一月 27, 2022 作者 分享 发布于一月 27, 2022 50 分钟前, 攸薩 说道: 大神!!话说你要加入本论坛的百科填写员吗? 很缺这种强大的技术佬! 显示隐藏内容 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的情况下,不再显示简介列表头”是吗? 链接到点评
willson-v- 发布于一月 27, 2022 作者 分享 发布于一月 27, 2022 (已修改) 3 小时前, 攸薩 说道: 大神!!话说你要加入本论坛的百科填写员吗? 很缺这种强大的技术佬! 显示隐藏内容 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不保留中括号没有空格): title[x]:第x行表格标题 color[x]:第x行单元格字体色 bg_color[x]:第x行单元格背景色 border_color[x]:第x行单元格边框颜色,每个包含4个颜色值,以top right bottom left顺序,中间一个空格(比如说,...|border_color1=#00FF00 #00FF00 #00FF00 #00FF00|...就会把第一行的边框四边都设成死亡荧光绿) header_color[x]:第x行标题栏字体色 header_bg_color[x]:第x行标题栏背景色 header_border_color[x]:第x行标题栏边框颜色,和border_color类似 row_top[x]:第x行单元格上侧边框样式,具体可以参考这里列出的边框样式(比如说,...|row_top2=dashed|...就会让第二行单元格的上侧边框设置成短横线的样子) row_bottom[x]、row_left[x]、row_right[x]:类似于row_top[x] header_top[x]:第x行标题栏上侧边框样式,类似于row_top[x] header_bottom[x]、header_left[x]、header_right[x]:类似于header_top[x] display[x]:决定第x行是否显示(比如说,...|display3=false|...就会让第三行整个消失) 最后是一个小栗子: 有关百科填写员...主要是我现在刚来,还不是很清楚在做什么/要做什么/能做什么,不过有需要的话可以召唤我就是了( 一月 27, 2022,由willson-v-修改 注释 攸薩 10.00节操 太牛了,务必申请后取得应有的奖励! 链接到点评
willson-v- 发布于一月 28, 2022 作者 分享 发布于一月 28, 2022 4 小时前, 悠哉卡萌睡大觉 说道: 大佬太强了 泥潭很多模版都是抄萌百的() 这是幕僚团纳新帖——[情报] 【活动栏/红包】新幕僚纳新宣传🎉(7/29 Ver1.0 正式版放送 有兴趣就看看吧xddd 抱歉用户组别不够没法去幕僚帖子那里报名待我再水个几天(大悲 注释 悠哉卡萌睡大觉 99.00节操 没事~ 吃糖() 1 链接到点评
推荐贴