更改

跳到导航 跳到搜索
添加1,520字节 、 2021年7月4日 (日) 16:23
无编辑摘要
第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

导航菜单