Module:PageToolsLink:修订间差异
外观
删除的内容 添加的内容
Maintenance script(留言 | 贡献) 阶段C原型:新增Module:PageToolsLink |
Maintenance script(留言 | 贡献) 阶段C切换:增强Module:PageToolsLink并支持主模板 |
||
| 第12行: | 第12行: | ||
end |
end |
||
function |
local function renderCore(frame, defaultParent) |
||
local args = frame.args or {} |
local args = frame.args or {} |
||
local parent = trim(args.parent) |
local parent = trim(args.parent) |
||
| 第23行: | 第23行: | ||
end |
end |
||
if parent == '' then |
if parent == '' then |
||
parent = |
parent = defaultParent |
||
end |
end |
||
if doc == '' then |
if doc == '' then |
||
| 第48行: | 第48行: | ||
makeLink(styleUrl, '样式') .. '</span>' |
makeLink(styleUrl, '样式') .. '</span>' |
||
}, '\n') |
}, '\n') |
||
end |
|||
function p.render(frame) |
|||
return renderCore(frame, 'Template:PageToolsLink') |
|||
end |
|||
function p.renderSandbox(frame) |
|||
return renderCore(frame, 'Template:PageToolsLink/sandbox') |
|||
end |
end |
||
2026年5月19日 (二) 23:18的最新版本
此模块的文档可以在Module:PageToolsLink/doc创建
local p = {}
local function trim(s)
if not s then
return ''
end
return mw.text.trim(s)
end
local function makeLink(url, label)
return string.format('[%s %s]', url, label)
end
local function renderCore(frame, defaultParent)
local args = frame.args or {}
local parent = trim(args.parent)
local target = trim(args.target)
local doc = trim(args.doc)
local style = trim(args.style)
if target == '' then
target = mw.title.getCurrentTitle().prefixedText
end
if parent == '' then
parent = defaultParent
end
if doc == '' then
doc = target .. '/Doc'
end
if style == '' then
style = target .. '/styles.css'
end
local viewUrl = tostring(mw.uri.fullUrl(target, { action = 'view' }))
local editUrl = tostring(mw.uri.fullUrl(target, { action = 'edit' }))
local targetTitle = mw.title.new(target)
local talkTitle = targetTitle and targetTitle.talkPageTitle and targetTitle.talkPageTitle.prefixedText or ('Talk:' .. target)
local talkUrl = tostring(mw.uri.fullUrl(talkTitle))
local docUrl = tostring(mw.uri.fullUrl(doc))
local styleUrl = tostring(mw.uri.fullUrl(style))
return table.concat({
'<span class="page-tools">' .. parent .. ' |',
makeLink(viewUrl, '查看') .. ' |',
makeLink(editUrl, '编辑') .. ' |',
makeLink(talkUrl, '讨论') .. ' |',
makeLink(docUrl, '文档') .. ' |',
makeLink(styleUrl, '样式') .. '</span>'
}, '\n')
end
function p.render(frame)
return renderCore(frame, 'Template:PageToolsLink')
end
function p.renderSandbox(frame)
return renderCore(frame, 'Template:PageToolsLink/sandbox')
end
return p