模块:设定页v2:修订间差异

无编辑摘要
无编辑摘要
第2行: 第2行:
local PageName = require("Module:PageName")
local PageName = require("Module:PageName")
local p = {}
local p = {}
function p.display_title(frame)
    local pagename = mw.title.getCurrentTitle().text
    local node = mw.html.create(nil)
    local type_flag, group_name, page_name
    local parent, name
    base, sub = PageName.split(pagename)
    if base then
        node:wikitext(sub)
        node:tag("span"):addClass("ifw-basepagename"):wikitext(" ("..base..")")
    else
        node:wikitext(page_name)
    end
    local code = node:done()
    return code
end


function renderMaintainers(frame, maintainers, other_creators)
function renderMaintainers(frame, maintainers, other_creators)
第28行: 第44行:
     })
     })
     return frame:expandTemplate{title = "本页面仅允许维护者编辑", args = {}}
     return frame:expandTemplate{title = "本页面仅允许维护者编辑", args = {}}
end
function renderLiteInfoBox(frame, image, content)
    local args = {
        image = image,
        content = content
    }
    return frame:expandTemplate{title = "LiteInfoBox", args = args}
end
end


function renderStage(frame, stage)
function renderStage(frame, stage)
     return frame:expandTemplate{title = "创作阶段", args = {["创作阶段"]=stage}}
     return frame:expandTemplate{title = "创作阶段", args = {["创作阶段"]=stage}}
end
function renderType(frame, isIndexPage, type, relGroup)
    local pagename = mw.title.getCurrentTitle().text
    local parent, name
    base, sub = PageName.split(pagename)
    local root = mw.html.create(nil)
    if isIndexPage or not base then
        if type == "世界观设定" then
            root:wikitext(renderLiteInfoBox("WorldItem.svg", "世界观介绍页"))
        elseif type == "联动设定" then
            local text = ""
            root:wikitext(renderLiteInfoBox("联动.svg", "联动介绍页"))
        else -- 公共设定
            root:wikitext(renderLiteInfoBox("SharedItem.svg", "公共设定页"))
        end
    else
        if type == "世界观设定" then
            root:wikitext(renderLiteInfoBox("WorldItem.svg", "本页面属于世界观: [[" .. base .. "]]"))
        elseif type == "联动设定" then
            local text = ""
            root:wikitext(renderLiteInfoBox("联动.svg", "本页面属于联动: [["..base.."]"))
        else -- 公共设定
            root:wikitext(renderLiteInfoBox("SharedItem.svg", "公共设定页"))
        end
    end
    return root:done()
end
end


第40行: 第91行:
     local root = mw.html.create(nil)
     local root = mw.html.create(nil)
     local maintainerTemp = renderMaintainers(frame, props["维护者"], props["创作者"])
     local maintainerTemp = renderMaintainers(frame, props["维护者"], props["创作者"])
   
     root:wikitext(maintainerTemp)
     root:wikitext(maintainerTemp)
     if props["仅允许维护者编辑"][1] == "t" then
     if props["仅允许维护者编辑"][1] == "t" then
         root:wikitext(renderLockedPage(frame))
         root:wikitext(renderLockedPage(frame))
     end
     end
    local isIndexPage = props["设定集核心页"][1] == 't'
    root:wikitext(renderType(frame, isIndexPage, props["设定类型"][1] or "公共设定"), props["依赖设定集"])
     root:wikitext(renderStage(frame, props["创作阶段"][1] or "空白"))
     root:wikitext(renderStage(frame, props["创作阶段"][1] or "空白"))
     return root:done()
     return root:done()
end
end


function p.display_title(frame)
 
    local pagename = mw.title.getCurrentTitle().text
    local node = mw.html.create(nil)
    local type_flag, group_name, page_name
    local parent, name
    base, sub = PageName.split(pagename)
    if base then
        node:wikitext(sub)
        node:tag("span"):addClass("ifw-basepagename"):wikitext(" ("..base..")")
    else
        node:wikitext(page_name)
    end
    local code = node:done()
    return code
end


return p
return p