有兽档案馆
搜索
切换搜索
切换菜单
切换个人菜单
查看“Module:ComicInfoboxWikitext”的源代码
来自有兽档案馆
阅读
查看源代码
查看历史
模块
讨论
更多操作
←
Module:ComicInfoboxWikitext
因为以下原因,您没有权限编辑该页面:
您所请求的操作,仅限具有
注册用户
、
自动确认用户
、
管理员
、
界面管理员
、
优质编辑者
、
确认用户
、
巡查员
、
档案理事员
等
权限
的
用户
执行。
若您尚未登录有兽档案馆账号,请您
登录
有兽档案馆账号后操作。
您尚未完成电子邮件确认,因此操作受限,请尽快
完成电子邮件确认
。
若您无法完成前述手续,请通过适当渠道请求管理员或档案理事员协助。
您可以查看和复制此页面的源代码。
若您无权编辑本页面,您可以
提出编辑请求
,提请有权限者代为编辑。
local p = {} local getArgs = require('Module:Arguments').getArgs function p.main(frame) local args = getArgs(frame) local function getComicData(episode) -- 去ComicData.json获取漫画数据 local comicList = mw.text.jsonDecode(mw.getCurrentFrame():expandTemplate { title = '漫画信息框/ComicData.json' }) return comicList[episode] end local function margeData(data_from_json, data_from_args) -- 用模板数据替换自动获取的数据 local data = {} for k, v in pairs(data_from_json) do data[k] = v end for k, v in pairs(data_from_args) do if v ~= '' then -- 当模板数据为空值时 使用自动获取的数据 data[k] = v end end return data end local function fillInfobox(data, episode) -- 用漫画数据生成信息框 local args = { number = data and data['number'] or ' ', color = data and data['color'] or ' ', title_weibo = data and data['title_weibo'] or ' ', title_bili = data and data['title_bili'] or ' ', episode = data and data['episode'] or ' ', date_weibo = data and data['date_weibo'] or ' ', date_bili = data and data['date_bili'] or ' ', number = data and episode or ' ' } local res = {} local text = '' local frame = mw.getCurrentFrame() res[#res + 1] = frame:expandTemplate { title = 'nowiki', args = { '{{漫画信息框' } } for key, value in pairs(args) do res[#res + 1] = '<br>' text = '\n|' .. key .. '=' .. value res[#res + 1] = frame:expandTemplate { title = 'nowiki', args = { text } } end res[#res + 1] = frame:expandTemplate { title = 'nowiki', args = { '}}' } } return table.concat(res) --return mw.getCurrentFrame():expandTemplate { title = 'Infobox', args = args } end -- 默认输出第一话的信息框 local episode = 1 -- 获取话数 if args[1] ~= nil then episode = tonumber(args[1]) end if args['number'] ~= nil then episode = tonumber(args['number']) end local episodeData_autoFill = getComicData(episode) local episodeData = margeData(episodeData_autoFill, args) return fillInfobox(episodeData, episode) end return p
该页面使用的模板:
Module:Arguments
(
查看源代码
)
Module:ComicInfoboxWikitext
(
查看源代码
)
Module:ComicInfoboxWikitext/doc
(
查看源代码
)
Module:Documentation
(
查看源代码
)
Module:Fullurl
(
查看源代码
)
Module:No globals
(
查看源代码
)
Module:Page name
(
查看源代码
)
Module:Yesno
(
查看源代码
)
返回
Module:ComicInfoboxWikitext
。