打开/关闭搜索
搜索
打开/关闭菜单
3
2
4
53
Ander. System Wiki
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
讨论
贡献
创建账号
登录
编辑“︁
模块:单元列表
”︁
来自Ander. System Wiki
查看
阅读
编辑源代码
查看历史
associated-pages
模块
讨论
更多操作
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
-- Module:角色列表 local p = {} local data = mw.loadData("Module:单元列表/data") -- 渲染单张卡片 local function renderCard(char) local tags = "" for _, tag in ipairs(char.tags or {}) do tags = tags .. '<span class="as-tag">' .. tag .. "</span>" end return '<div class="as-char-card">' .. '<div class="as-char-card-body">' .. '<div class="as-char-card-name">[[' .. char.page .. "|" .. char.name .. "]]</div>" .. '<div class="as-char-card-role">' .. char.role .. "</div>" .. '<div class="as-char-card-tags">' .. tags .. "</div>" .. '<div class="as-char-card-desc">' .. char.desc .. "</div>" .. "</div></div>" end -- 渲染单个列表行 local function renderListItem(char) return '<div class="as-char-list-item">' .. '<div class="as-char-list-body">' .. '<div class="as-char-list-name">[[' .. char.page .. "|" .. char.name .. "]]</div>" .. '<div class="as-char-list-meta">' .. char.role .. " · " .. table.concat(char.tags or {}, " · ") .. "</div>" .. '<div class="as-char-list-desc">' .. char.desc .. "</div>" .. "</div></div>" end -- 收集所有分类(保持顺序,去重) local function getCategories() local seen = {} local cats = {} for _, char in ipairs(data) do if char.category and not seen[char.category] then seen[char.category] = true table.insert(cats, char.category) end end return cats end -- 主入口:渲染完整角色列表页 function p.render(frame) local categories = getCategories() -- 页面头部 local html = '<div class="as-page-header">' .. '<div class="as-page-label">★ CHARACTER DATABASE</div>' .. '<div class="as-page-title">单元(Unit)档案</div>' .. '<div class="as-page-desc">Ander.System 中的所有单元资料与设定档案</div>' .. "</div>" -- 筛选栏 local tabs = '<span class="as-filter-tab as-active">全部</span>' for _, cat in ipairs(categories) do tabs = tabs .. '<span class="as-filter-tab">[[#' .. cat .. "|" .. cat .. "]]</span>" end html = html .. '<div class="as-filter-bar">' .. '<div class="as-filter-label">分类筛选</div>' .. '<div class="as-filter-tabs">' .. tabs .. "</div>" .. "</div>" -- 全部角色卡片网格 html = html .. '<div class="as-section-label" id="全部角色">全部单元</div>' html = html .. '<div class="as-char-grid">'for _, char in ipairs(data) do html = html .. renderCard(char) end html = html .. "</div>" -- 按分类输出列表 for _, cat in ipairs(categories) do html = html .. '<div class="as-section-label" id="' .. cat .. '">' .. cat .. "</div>" html = html .. '<div class="as-char-list">' for _, char in ipairs(data) do if char.category == cat then html = html .. renderListItem(char) end end html = html .. "</div>" end return html end return p
摘要:
请注意,所有对Ander. System Wiki的贡献均被视为依照知识共享署名-相同方式共享发表(详情请见
Ander. System Wiki:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
此页面嵌入的页面:
模块:单元列表/doc
(
编辑
)
编辑“︁
模块:单元列表
”︁
来自Ander. System Wiki