跳转到内容

Module:PageToolsLink:修订间差异

来自陋室
删除的内容 添加的内容
Maintenance script​(留言 | 贡献)
阶段C原型:新增Module:PageToolsLink
 
Maintenance script​(留言 | 贡献)
阶段C切换:增强Module:PageToolsLink并支持主模板
 
第12行: 第12行:
end
end


function p.renderSandbox(frame)
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 = 'Template:PageToolsLink/sandbox'
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