切换搜索
搜索
切换菜单
notifications
切换个人菜单
查看“模块:Navplate SMW row”的源代码
来自决策链云智库
更多操作
←
模块:Navplate SMW row
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
-- 自定义的trim函数,增加对换行符的处理 local function trim(s) return (s:gsub("^%s*(.-)%s*$", "%1"):gsub("[\n\r]+", "")) end local p = {} local mw = require('mw') p.cache = {} -- 初始化缓存 function p.navplateSmwRow(frame) local args = frame:getParent().args local categoryName = args[1] local property = args[2] local text = args[3] local icon = args[4] local cacheKey = categoryName .. (property or '') .. (text or '') if p.cache[cacheKey] then return p.cache[cacheKey] end local query = '[[Category:' .. mw.text.encode(categoryName) .. ']]' if property and property ~= '' then query = query .. '[[' .. mw.text.encode(property) .. ']]' end local ask = '{{#ask:' .. query .. '|format=list' .. '|link=all' .. '|headers=hide' .. '|searchlabel=' .. '|class=smwlist' .. '|sep=' .. '}}' local results = frame:preprocess(ask) p.cache[cacheKey] = results local itemDiv = mw.html.create('div'):addClass('template-navplate-item') local metadataAndTextDiv = mw.html.create('div'):addClass('template-navplate-item__label') local metadata = mw.html.create('span'):addClass('metadata'):wikitext('[[File:' .. mw.text.encode(icon) .. '|20px|link=]] ' .. mw.text.encode(text) .. '') metadataAndTextDiv:node(metadata) local listDiv = mw.html.create('div'):addClass('template-navplate-item__list'):wikitext(results) itemDiv :node(metadataAndTextDiv) :node(listDiv) local finalHtml = tostring(itemDiv:allDone()) finalHtml = trim(finalHtml) return finalHtml end return p
本页使用的模板:
模块:Navplate SMW row/doc
(
查看源代码
)
返回
模块:Navplate SMW row
。