Module:List/preset functions

来自滚动的天空Wiki
文档图示 模块文档[创建]

本模块还没有文档页面,你可以创建它。

您可以创建文档以让用户更好地理解本模块的用途。
编者可以在本模块的沙盒创建 | 镜像和测试样例创建页面进行实验。
请将模块自身所属的分类添加在文档中。本模块的子页面
-- 可能会用到的一些预设函数

local p = {}

function p.sectionLink(content)
	-- 常用于{{seealso}}{{main}}等模板中,
	-- 用于将表示段落的#替换为§。
	local display_name, result = content:gsub('#',' § ')
	if result > 0 then
		return ('[[:%s|%s]]'):format(content, display_name)
	else
		return ('[[:%s]]'):format(content)
	end
end

function p.noRedirect(content)
	-- 用于列举一些重定向链接,且不自动重定向。
	local title = mw.title.new(content)
	if not title.exists then return ('[[%s]]'):format(content) end
	local fullurl = require'Module:Fullurl'._fullurl
	return fullurl{title=content,redirect='no'}
end

function p.moduleTitle(t)
	-- 可以将t转化为模块命名空间的文字,例如将abc转化为模块:Abc|Abc,如果手动添加了模块名字空间也无妨。
	local title = mw.title.new(t, 828)
	return string.format('[[%s|%s]]',tostring(title),tostring(t))
end

function p.templateRedirect(content)
	local fullurl = require'Module:Fullurl'._fullurl
	content = type(content)=='string' and mw.title.new(content) or content
	local template_title = mw.title.makeTitle('template',content.text)
	local template_name = template_title.text
	local template_page = template_title.fullText
	return '{{' .. tostring(fullurl{
		title=template_page,text=template_name,redirect='no'
	}) .. '}}'
end

return p