<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://www.wikiw.cn/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3ALua_banner</id>
	<title>模块:Lua banner - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikiw.cn/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3ALua_banner"/>
	<link rel="alternate" type="text/html" href="https://www.wikiw.cn/index.php?title=%E6%A8%A1%E5%9D%97:Lua_banner&amp;action=history"/>
	<updated>2026-04-08T20:57:21Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://www.wikiw.cn/index.php?title=%E6%A8%A1%E5%9D%97:Lua_banner&amp;diff=2046&amp;oldid=prev</id>
		<title>2025年7月29日 (二) 14:36 imported&gt;Diskdance</title>
		<link rel="alternate" type="text/html" href="https://www.wikiw.cn/index.php?title=%E6%A8%A1%E5%9D%97:Lua_banner&amp;diff=2046&amp;oldid=prev"/>
		<updated>2025-07-29T14:36:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--[=[&lt;br /&gt;
&lt;br /&gt;
本模块由[[Template:Lua]]调用&lt;br /&gt;
暂无模块调用&lt;br /&gt;
/****************************/&lt;br /&gt;
本模組由[[Template:Lua]]調用&lt;br /&gt;
暫無模組調用&lt;br /&gt;
&lt;br /&gt;
]=]--&lt;br /&gt;
&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local mList = require(&amp;#039;Module:List&amp;#039;)&lt;br /&gt;
local mTableTools = require(&amp;#039;Module:TableTools&amp;#039;)&lt;br /&gt;
local mMessageBox = require(&amp;#039;Module:Message box&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local origArgs = frame:getParent().args&lt;br /&gt;
	local args = {}&lt;br /&gt;
	for k, v in pairs(origArgs) do&lt;br /&gt;
		v = v:match(&amp;#039;^%s*(.-)%s*$&amp;#039;)&lt;br /&gt;
		if v ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return p._main(frame, args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(frame, args)&lt;br /&gt;
	local modules = mTableTools.compressSparseArray(args)&lt;br /&gt;
	local box = p.renderBox(modules)&lt;br /&gt;
	local trackingCategories = p.renderTrackingCategories(args, modules)&lt;br /&gt;
	return box .. trackingCategories&lt;br /&gt;
end&lt;br /&gt;
-- if action=edit &lt;br /&gt;
function p.main2(frame)&lt;br /&gt;
	local origArgs = frame:getParent().args&lt;br /&gt;
	local args = {}&lt;br /&gt;
	for k, v in pairs(origArgs) do&lt;br /&gt;
		v = v:match(&amp;#039;^%s*(.-)%s*$&amp;#039;)&lt;br /&gt;
		if v ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local modules = mTableTools.compressSparseArray(args)&lt;br /&gt;
	return p.renderBox(modules)&lt;br /&gt;
end&lt;br /&gt;
--end&lt;br /&gt;
&lt;br /&gt;
function p.renderBox(modules)&lt;br /&gt;
	local boxArgs = {}&lt;br /&gt;
	if #modules &amp;lt; 1 then&lt;br /&gt;
		boxArgs.text = &amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;错误：未指定-{zh-hans:模块; zh-hant:模組;}-&amp;lt;/strong&amp;gt;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		local moduleLinks = {}&lt;br /&gt;
		for i, module in ipairs(modules) do&lt;br /&gt;
			moduleLinks[i] = string.format(&amp;#039;%s&amp;#039;, module)&lt;br /&gt;
			moduleLinks[i] = &amp;#039;[[:Module:&amp;#039; .. mw.title.new(moduleLinks[i]).text .. &amp;#039;]]&amp;#039;&lt;br /&gt;
			local maybeSandbox = mw.title.new(module .. &amp;#039;/sandbox&amp;#039;)&lt;br /&gt;
			if maybeSandbox.exists then&lt;br /&gt;
				moduleLinks[i] = moduleLinks[i] .. string.format(&amp;#039;（[[:%s|沙盒]]）&amp;#039;, maybeSandbox.fullText)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local moduleList = mList.makeList(&amp;#039;bulleted&amp;#039;, moduleLinks)&lt;br /&gt;
		boxArgs.text = &amp;#039;此&amp;#039; .. &lt;br /&gt;
			(mw.title.getCurrentTitle():inNamespaces(828,829) and &amp;#039;-{zh-hans:模块; zh-hant:模組;}-&amp;#039; or &amp;#039;模板&amp;#039;) ..&lt;br /&gt;
			&amp;#039;使用[[Wikipedia:Lua|Lua语言]]：\n&amp;#039; .. moduleList&lt;br /&gt;
	end&lt;br /&gt;
	boxArgs.type = &amp;#039;notice&amp;#039;&lt;br /&gt;
	boxArgs.small = true&lt;br /&gt;
	boxArgs.image = &amp;#039;[[File:Lua-Logo.svg|30px|alt=|link=]]&amp;#039;&lt;br /&gt;
	return mMessageBox.main(&amp;#039;mbox&amp;#039;, boxArgs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderTrackingCategories(args, modules, titleObj)&lt;br /&gt;
	if yesno(args.nocat) then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local cats = {}&lt;br /&gt;
	&lt;br /&gt;
	-- 错误分类&lt;br /&gt;
	if #modules &amp;lt; 1 then&lt;br /&gt;
		cats[#cats + 1] = &amp;#039;有错误的Lua模板&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Lua templates category&lt;br /&gt;
	titleObj = titleObj or mw.title.getCurrentTitle()&lt;br /&gt;
	local subpageBlacklist = {&lt;br /&gt;
		doc = true,&lt;br /&gt;
		sandbox = true,&lt;br /&gt;
		sandbox2 = true,&lt;br /&gt;
		testcases = true&lt;br /&gt;
	}&lt;br /&gt;
	if titleObj.namespace == 10 &lt;br /&gt;
		and not subpageBlacklist[titleObj.subpageText]&lt;br /&gt;
	then&lt;br /&gt;
		cats[#cats + 1] = &amp;#039;Lua模板&amp;#039;&lt;br /&gt;
		&lt;br /&gt;
		local category = args.category&lt;br /&gt;
		if not category then&lt;br /&gt;
			local categories = {&lt;br /&gt;
				[&amp;#039;Module:String&amp;#039;] = &amp;#039;使用Module:String的模板&amp;#039;,&lt;br /&gt;
				--[&amp;#039;Module:Math&amp;#039;] = &amp;#039;使用Math Lua模块的模板&amp;#039;,&lt;br /&gt;
				--[&amp;#039;Module:BaseConvert&amp;#039;] = &amp;#039;使用BaseConvert Lua模块的模板&amp;#039;,&lt;br /&gt;
				--[&amp;#039;Module:Citation&amp;#039;] = &amp;#039;使用Citation Lua模块的模板&amp;#039;&lt;br /&gt;
			}&lt;br /&gt;
			categories[&amp;#039;Module:Citation/CS1&amp;#039;] = categories[&amp;#039;Module:Citation&amp;#039;]&lt;br /&gt;
			category = modules[1] and categories[modules[1]]&lt;br /&gt;
		end&lt;br /&gt;
		if category then&lt;br /&gt;
			cats[#cats + 1] = category&lt;br /&gt;
		end&lt;br /&gt;
		local protLevels = {&lt;br /&gt;
			autoconfirmed = 1,&lt;br /&gt;
			extendedconfirmed = 2,&lt;br /&gt;
			templateeditor = 3,&lt;br /&gt;
			sysop = 4&lt;br /&gt;
		}&lt;br /&gt;
		local currentProt = titleObj.protectionLevels[&amp;quot;edit&amp;quot;][1]&lt;br /&gt;
		if currentProt == nil then currentProt = 0 else currentProt = protLevels[currentProt] end&lt;br /&gt;
		for i, module in ipairs(modules) do&lt;br /&gt;
			if mw.title.new(module).protectionLevels[&amp;quot;edit&amp;quot;] then&lt;br /&gt;
				local moduleProt = mw.title.new(module).protectionLevels[&amp;quot;edit&amp;quot;][1]&lt;br /&gt;
				if moduleProt == nil then moduleProt = 0 else moduleProt = protLevels[moduleProt] end&lt;br /&gt;
				if moduleProt &amp;lt; currentProt then&lt;br /&gt;
					cats[#cats + 1] = &amp;quot;使用受保护Lua模块的模板&amp;quot;&lt;br /&gt;
					break&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for i, cat in ipairs(cats) do&lt;br /&gt;
		cats[i] = string.format(&amp;#039;[[Category:%s]]&amp;#039;, cat)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return table.concat(cats)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Diskdance</name></author>
	</entry>
</feed>