<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://zybkcn.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ANamespace_pagename</id>
	<title>Module:Namespace pagename - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://zybkcn.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3ANamespace_pagename"/>
	<link rel="alternate" type="text/html" href="https://zybkcn.com/w/index.php?title=Module:Namespace_pagename&amp;action=history"/>
	<updated>2026-05-04T15:22:22Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://zybkcn.com/w/index.php?title=Module:Namespace_pagename&amp;diff=23519&amp;oldid=prev</id>
		<title>入我相思门：​创建页面，内容为“local p = {} local yesno = require(&#039;Module:Yesno&#039;) local mError = require(&#039;Module:Error&#039;) local mNS = require(&#039;Module:Namespace&#039;) local data = mw.loadData(&#039;Module:Namespace_pagename/data&#039;)  local lan = mNS._lan  local function getNSbyID (key, lang)  	return mNS._NamespacesDisplay({lang, key}) end  local function msg (group, key, lang)  	return lan(data[tostring(group)][tostring(key)] or {}, lang) end  local function Error (msg, arg) 	return mError.error{&#039;[[Modu…”</title>
		<link rel="alternate" type="text/html" href="https://zybkcn.com/w/index.php?title=Module:Namespace_pagename&amp;diff=23519&amp;oldid=prev"/>
		<updated>2022-05-02T14:56:17Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“local p = {} local yesno = require(&amp;#039;Module:Yesno&amp;#039;) local mError = require(&amp;#039;Module:Error&amp;#039;) local mNS = require(&amp;#039;Module:Namespace&amp;#039;) local data = mw.loadData(&amp;#039;Module:Namespace_pagename/data&amp;#039;)  local lan = mNS._lan  local function getNSbyID (key, lang)  	return mNS._NamespacesDisplay({lang, key}) end  local function msg (group, key, lang)  	return lan(data[tostring(group)][tostring(key)] or {}, lang) end  local function Error (msg, arg) 	return mError.error{&amp;#039;[[Modu…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local mError = require(&amp;#039;Module:Error&amp;#039;)&lt;br /&gt;
local mNS = require(&amp;#039;Module:Namespace&amp;#039;)&lt;br /&gt;
local data = mw.loadData(&amp;#039;Module:Namespace_pagename/data&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local lan = mNS._lan&lt;br /&gt;
&lt;br /&gt;
local function getNSbyID (key, lang) &lt;br /&gt;
	return mNS._NamespacesDisplay({lang, key})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function msg (group, key, lang) &lt;br /&gt;
	return lan(data[tostring(group)][tostring(key)] or {}, lang)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function Error (msg, arg)&lt;br /&gt;
	return mError.error{&amp;#039;[[Module:Namespace_pagename]]錯誤：&amp;#039; + msg:gsub(&amp;#039;$1&amp;#039;, arg)}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function inArray (str, arr)&lt;br /&gt;
	for i, v in ipairs(arr) do&lt;br /&gt;
		if str == v then&lt;br /&gt;
			return v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local no_need_suffix = {-2, 0, 14, 100, 118, 119, 2300, 2600}&lt;br /&gt;
&lt;br /&gt;
local can_add_extend_suffix = {2, 10, 828}&lt;br /&gt;
	&lt;br /&gt;
local function def_suffix (ns, lang)&lt;br /&gt;
	if ns == -1 then&lt;br /&gt;
		return lan({&lt;br /&gt;
			[&amp;#039;en&amp;#039;] = &amp;#039; page&amp;#039;,&lt;br /&gt;
			[&amp;#039;zh-hans&amp;#039;] = &amp;#039;页面&amp;#039;,&lt;br /&gt;
			[&amp;#039;zh-hant&amp;#039;] = &amp;#039;頁面&amp;#039;&lt;br /&gt;
		}, lang)&lt;br /&gt;
	elseif ns == 2 then&lt;br /&gt;
		return lan({&lt;br /&gt;
			[&amp;#039;en&amp;#039;] = &amp;#039; page&amp;#039;,&lt;br /&gt;
			[&amp;#039;zh-hans&amp;#039;] = &amp;#039;页&amp;#039;,&lt;br /&gt;
			[&amp;#039;zh-hant&amp;#039;] = &amp;#039;頁&amp;#039;,&lt;br /&gt;
			[&amp;#039;zh-tw&amp;#039;] = &amp;#039;頁面&amp;#039; -- 使用者頁面&lt;br /&gt;
		}, lang)&lt;br /&gt;
	elseif inArray(ns, {-2, 0, 6, 10, 14, 100, 102, 118, 828, 2300}) then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		return lan({&lt;br /&gt;
			[&amp;#039;en&amp;#039;] = &amp;#039; page&amp;#039;,&lt;br /&gt;
			[&amp;#039;zh-hans&amp;#039;] = &amp;#039;页&amp;#039;,&lt;br /&gt;
			[&amp;#039;zh-hant&amp;#039;] = &amp;#039;頁&amp;#039;&lt;br /&gt;
		}, lang)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p._ispseudo = mNS._ispseudo&lt;br /&gt;
p.ispseudo = mNS.ispseudo&lt;br /&gt;
&lt;br /&gt;
function p._main (args)&lt;br /&gt;
	local lang = args[1]&lt;br /&gt;
	local title&lt;br /&gt;
	local nsid&lt;br /&gt;
	local isCallFromNs = false&lt;br /&gt;
	local arg = args[2]&lt;br /&gt;
	if arg then&lt;br /&gt;
		if arg == &amp;#039;&amp;#039; then&lt;br /&gt;
			return getNSbyID(0, lang)&lt;br /&gt;
		elseif arg:match(&amp;#039;([Pp]age):&amp;#039;) then -- 兼容：早期版本&lt;br /&gt;
			arg = arg:gsub(&amp;#039;[Pp]age:&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
			title = mw.title.new(arg)&lt;br /&gt;
			if not title then&lt;br /&gt;
				return Error(msg(&amp;#039;Error&amp;#039;, &amp;#039;pg-error&amp;#039;, lang), arg)&lt;br /&gt;
			end&lt;br /&gt;
			nsid = title.namespace&lt;br /&gt;
		elseif arg:match(&amp;#039;([Nn]ame):&amp;#039;) then -- 兼容：早期版本&lt;br /&gt;
			title = nil&lt;br /&gt;
			arg = arg:gsub(&amp;#039;([Nn]ame):&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
			nsid_info = mw.site.namespaces[tonumber(arg)] or mw.site.namespaces[arg]&lt;br /&gt;
			if mw.text.split(arg, &amp;#039;:&amp;#039;)[2] and not nsid_info and not p._ispseudo(arg) then&lt;br /&gt;
				return Error(msg(&amp;#039;Error&amp;#039;, &amp;#039;ns-error&amp;#039;, lang), arg)&lt;br /&gt;
			end&lt;br /&gt;
			nsid = nsid_info and nsid_info.id&lt;br /&gt;
			isCallFromNs = true&lt;br /&gt;
		else&lt;br /&gt;
			local arg_title = mw.title.new(arg)&lt;br /&gt;
			local arg_ns = mw.site.namespaces[tonumber(arg)] or mw.site.namespaces[arg]&lt;br /&gt;
			if not arg_title then -- args2 無法被mediawiki正確解析&lt;br /&gt;
				return Error(msg(&amp;#039;Error&amp;#039;, &amp;#039;pg-error&amp;#039;, lang), arg)&lt;br /&gt;
			elseif arg_ns then -- args2 是{{ns:}}能解析的&lt;br /&gt;
				title = nil&lt;br /&gt;
				nsid = arg_ns.id&lt;br /&gt;
				isCallFromNs = true&lt;br /&gt;
			else -- 其他正常標題，無效的命名空間也被當條目處理&lt;br /&gt;
				title = arg_title&lt;br /&gt;
				nsid = arg_title.namespace&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else -- 以標題讀取&lt;br /&gt;
		arg = mw.title.getCurrentTitle().fullText&lt;br /&gt;
		title = mw.title.getCurrentTitle()&lt;br /&gt;
		nsid = title.namespace&lt;br /&gt;
	end&lt;br /&gt;
	if p._ispseudo(arg) then --偽命名空間&lt;br /&gt;
		return getNSbyID((nsid == 1 and &amp;#039;Talk:&amp;#039; .. p._ispseudo(arg) or p._ispseudo(arg)), lang)&lt;br /&gt;
	end&lt;br /&gt;
	if title and title.isExternal then&lt;br /&gt;
		return msg(&amp;#039;Type&amp;#039;, &amp;#039;External&amp;#039;, lang)&lt;br /&gt;
	end&lt;br /&gt;
	local statue, wt = pcall(getNSbyID, nsid, lang)&lt;br /&gt;
	if not statue then&lt;br /&gt;
		return Error(msg(&amp;#039;Error&amp;#039;, &amp;#039;ns-error&amp;#039;, lang), &amp;#039;namespace number = &amp;#039; .. nsid)&lt;br /&gt;
	end&lt;br /&gt;
	if not isCallFromNs then&lt;br /&gt;
		if title then&lt;br /&gt;
			local content = title:getContent() or &amp;#039;&amp;#039;&lt;br /&gt;
			local contentModel = title.contentModel&lt;br /&gt;
			local titletext = title.fullText&lt;br /&gt;
			local subtext = title.subpageText&lt;br /&gt;
			if contentModel == &amp;#039;css&amp;#039; or contentModel == &amp;#039;sanitized-css&amp;#039; then&lt;br /&gt;
				return wt .. msg(&amp;#039;Type&amp;#039;, &amp;#039;style&amp;#039;, lang)&lt;br /&gt;
			elseif contentModel == &amp;#039;javascript&amp;#039; then&lt;br /&gt;
				return wt .. msg(&amp;#039;Type&amp;#039;, &amp;#039;script&amp;#039;, lang)&lt;br /&gt;
			elseif contentModel == &amp;#039;json&amp;#039; then&lt;br /&gt;
				return wt .. msg(&amp;#039;Type&amp;#039;, &amp;#039;JSON&amp;#039;, lang)&lt;br /&gt;
			elseif contentModel == &amp;#039;json&amp;#039; then&lt;br /&gt;
				return wt .. msg(&amp;#039;Type&amp;#039;, &amp;#039;JSON&amp;#039;, lang)&lt;br /&gt;
			elseif title.isRedirect then&lt;br /&gt;
				return wt .. msg(&amp;#039;Type&amp;#039;, &amp;#039;redirect&amp;#039;, lang)&lt;br /&gt;
			end&lt;br /&gt;
			if not inArray(nsid, no_need_suffix) then&lt;br /&gt;
				return wt&lt;br /&gt;
			end&lt;br /&gt;
			if &lt;br /&gt;
				(&lt;br /&gt;
					content:match(&amp;#039;%{%{[Dd]ocumentation[_%s]subpage&amp;#039;)&lt;br /&gt;
					or content:match(&amp;#039;%{%{[Tt]emplate[_%s]doc[_%s]inline&amp;#039;)&lt;br /&gt;
					or content:match(&amp;#039;%{%{[Tt]emplate[_%s]doc[_%s]viewed[_%s]directly&amp;#039;)&lt;br /&gt;
					or subtext:match(&amp;#039;^[Dd]oc$&amp;#039;)&lt;br /&gt;
				) and inArray(nsid, can_add_extend_suffix)&lt;br /&gt;
			then&lt;br /&gt;
				return wt .. msg(&amp;#039;Type&amp;#039;, &amp;#039;doc&amp;#039;, lang)&lt;br /&gt;
			elseif &lt;br /&gt;
				content:match(&amp;#039;%{%{[Ss]andbox&amp;#039;)&lt;br /&gt;
				or content:match(&amp;#039;%{%{[Tt]emplate[_%s]sandbox[_%s]notice&amp;#039;)&lt;br /&gt;
				or content:match(&amp;#039;%{%{請注意：請在這行文字底下進行您的測試，請不要刪除或變更這行文字以及這行文字以上的部份。&amp;#039;)&lt;br /&gt;
				or content:match(&amp;#039;%{%{请注意：请在这行文字底下进行您的测试，请不要删除或变更这行文字以及这行文字以上的部分。&amp;#039;)&lt;br /&gt;
				or content:match(&amp;#039;%{%{[Pp]D%-self%/沙盒%|&amp;#039;)&lt;br /&gt;
				or nsid &amp;gt; 1 and titletext:gsub(&amp;#039;^[A-z][a-z]+%:&amp;#039;, &amp;#039;&amp;#039;) == &amp;#039;沙盒&amp;#039;&lt;br /&gt;
				or titletext:match(&amp;#039;^File%:沙盒%.[A-Za-z]+$&amp;#039;)&lt;br /&gt;
				or titletext:match(&amp;#039;^Template%:沙盒%/&amp;#039;)&lt;br /&gt;
				or titletext:match(&amp;#039;^Template%:X%d&amp;#039;)&lt;br /&gt;
				or (&lt;br /&gt;
					(&lt;br /&gt;
						subtext:match(&amp;#039;^[Ss]andbox$&amp;#039;)&lt;br /&gt;
						or subtext == &amp;#039;沙盒&amp;#039;&lt;br /&gt;
					)&lt;br /&gt;
					and inArray(nsid, can_add_extend_suffix)&lt;br /&gt;
				)&lt;br /&gt;
			then&lt;br /&gt;
				return wt .. msg(&amp;#039;Type&amp;#039;, &amp;#039;sandbox&amp;#039;, lang)&lt;br /&gt;
			elseif &lt;br /&gt;
				(&lt;br /&gt;
					content:match(&amp;#039;%{%{[Tt]emplate[_%s]testcases[_%s]notice&amp;#039;)&lt;br /&gt;
					or content:match(&amp;#039;%{%{[Tt]est[_%s]cases[_%s]notice&amp;#039;)&lt;br /&gt;
					or content:match(&amp;#039;%{%{测试样例&amp;#039;)&lt;br /&gt;
					or content:match(&amp;#039;%{%{測試樣例&amp;#039;)&lt;br /&gt;
					or subtext:match(&amp;#039;^[Tt]estcases$&amp;#039;)&lt;br /&gt;
					or subtext == &amp;#039;测试样例&amp;#039;&lt;br /&gt;
					or subtext == &amp;#039;測試樣例&amp;#039;&lt;br /&gt;
				)&lt;br /&gt;
				and inArray(nsid, can_add_extend_suffix)&lt;br /&gt;
			then&lt;br /&gt;
				return wt .. msg(&amp;#039;Type&amp;#039;, &amp;#039;testcases&amp;#039;, lang)&lt;br /&gt;
			elseif &lt;br /&gt;
				(&lt;br /&gt;
					titletext:match(&amp;#039;%/[Tt]emp$&amp;#039;)&lt;br /&gt;
					or titletext:match(&amp;#039;%/[Tt]emporary$&amp;#039;)&lt;br /&gt;
				)&lt;br /&gt;
				and inArray(nsid, {2, 4, 10, 118, 828})&lt;br /&gt;
			then&lt;br /&gt;
				return wt .. msg(&amp;#039;Type&amp;#039;, &amp;#039;temp&amp;#039;, lang)&lt;br /&gt;
			elseif&lt;br /&gt;
				nsid == 10&lt;br /&gt;
				and (&lt;br /&gt;
					subtext:match(&amp;#039;^[Ii]ntro$&amp;#039;)&lt;br /&gt;
					or subtext:match(&amp;#039;^[Ii]ntroduction$&amp;#039;)&lt;br /&gt;
					or subtext == &amp;#039;说明&amp;#039;&lt;br /&gt;
					or subtext == &amp;#039;說明&amp;#039;&lt;br /&gt;
				)&lt;br /&gt;
			then&lt;br /&gt;
				return wt .. msg(&amp;#039;Type&amp;#039;, &amp;#039;intro&amp;#039;, lang)&lt;br /&gt;
			elseif&lt;br /&gt;
				titletext:match(&amp;#039;^Template%:Editnotices%/&amp;#039;)&lt;br /&gt;
				or titletext:match(&amp;#039;^User%:[^/]+%/Editnotice$&amp;#039;)&lt;br /&gt;
				or titletext:match(&amp;#039;^User[_%s]talk%:[^/]+%/Editnotice$&amp;#039;)&lt;br /&gt;
			then&lt;br /&gt;
				return msg(&amp;#039;Type&amp;#039;, &amp;#039;editnotice&amp;#039;, lang)&lt;br /&gt;
			elseif&lt;br /&gt;
				titletext:match(&amp;#039;^User%:[^/]+%/Emailnotice$&amp;#039;)&lt;br /&gt;
			then&lt;br /&gt;
				local user = titletext:gsub(&amp;#039;^User%:([^/]+)%/Emailnotice$&amp;#039;, &amp;#039;%1&amp;#039;)&lt;br /&gt;
				return &amp;#039;[[User:&amp;#039; .. user .. &amp;#039;|&amp;#039; .. user .. &amp;#039;]]&amp;#039; .. lan({&lt;br /&gt;
					[&amp;#039;en&amp;#039;] = &amp;quot;&amp;#039;s &amp;quot;,&lt;br /&gt;
					[&amp;#039;zh-hans&amp;#039;] = &amp;#039;的&amp;#039;,&lt;br /&gt;
					[&amp;#039;zh-hant&amp;#039;] = &amp;#039;的&amp;#039;&lt;br /&gt;
				}, lang) .. msg(&amp;#039;Type&amp;#039;, &amp;#039;mailnotice&amp;#039;, lang)&lt;br /&gt;
			elseif&lt;br /&gt;
				titletext:match(&amp;#039;{{捷徑重定向([^}]+)}}&amp;#039;)&lt;br /&gt;
				or titletext:match(&amp;#039;{{捷径重定向([^}]+)}}&amp;#039;)&lt;br /&gt;
				or titletext:match(&amp;#039;{{快捷重定向([^}]+)}}&amp;#039;)&lt;br /&gt;
				or titletext:match(&amp;#039;{{快捷方式重定向([^}]+)}}&amp;#039;)&lt;br /&gt;
				or titletext:match(&amp;#039;{{RTL([^}]+)%|捷徑&amp;#039;)&lt;br /&gt;
			then&lt;br /&gt;
				return string.format(msg(&amp;#039;Type&amp;#039;, &amp;#039;shortcut&amp;#039;, lang), wt)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		wt = (wt .. (inArray(nsid, no_need_suffix) and def_suffix(nsid, lang) or &amp;#039;&amp;#039;)):gsub(&amp;#039;talk page&amp;#039;, &amp;#039;talkpage&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	return wt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main (frame) &lt;br /&gt;
	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, {&lt;br /&gt;
		valueFunc = function (key, value)&lt;br /&gt;
			if key == 2 then&lt;br /&gt;
				return type(value) == &amp;#039;string&amp;#039; and mw.text.trim(value) or value&lt;br /&gt;
			elseif value then&lt;br /&gt;
				value = mw.text.trim(value)&lt;br /&gt;
				if value ~= &amp;#039;&amp;#039; then&lt;br /&gt;
					return value&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	})&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>入我相思门</name></author>
	</entry>
</feed>