打开/关闭搜索
搜索
打开/关闭菜单
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 renderQuote(item) return '<div class="as-quote-card">' .. '<div class="as-quote-mark">“</div>' .. '<div class="as-quote-text">' .. item.quote .. "</div>" .. '<div class="as-quote-author">—— [[' .. item.page .. "|" .. item.author .. "]]</div>" .. '<div class="as-quote-cat"><span class="as-tag">' .. item.category .. "</span></div>" .. "</div>" end -- 收集所有分类(保持顺序,去重) local function getCategories() local seen = {} local cats = {} for _, item in ipairs(data) do if item.category and not seen[item.category] then seen[item.category] = true table.insert(cats, item.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">★ QUOTE BOARD</div>' .. '<div class="as-page-title">搞笑名言板</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-quote-grid">' for _, item in ipairs(data) do html = html .. renderQuote(item) 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-quote-grid">' for _, item in ipairs(data) do if item.category == cat then html = html .. renderQuote(item) end end html = html .. "</div>" end return html end return p
摘要:
请注意,所有对Ander. System Wiki的贡献均被视为依照知识共享署名-相同方式共享发表(详情请见
Ander. System Wiki:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
此页面嵌入的页面:
模块:名言板/doc
(
编辑
)
编辑“︁
模块:名言板
”︁
来自Ander. System Wiki