<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://test.zybkcn.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AEditState</id>
	<title>Module:EditState - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://test.zybkcn.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AEditState"/>
	<link rel="alternate" type="text/html" href="https://test.zybkcn.com/w/index.php?title=Module:EditState&amp;action=history"/>
	<updated>2026-07-18T02:55:54Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://test.zybkcn.com/w/index.php?title=Module:EditState&amp;diff=826&amp;oldid=prev</id>
		<title>WikiBot：​从 zhwiki 导入完整版</title>
		<link rel="alternate" type="text/html" href="https://test.zybkcn.com/w/index.php?title=Module:EditState&amp;diff=826&amp;oldid=prev"/>
		<updated>2026-06-23T15:53:21Z</updated>

		<summary type="html">&lt;p&gt;从 zhwiki 导入完整版&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p={}&lt;br /&gt;
local lib_arg={};&lt;br /&gt;
local yesno = {}&lt;br /&gt;
&lt;br /&gt;
function p.isPreview()&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local check_str = &amp;#039;{{REVISIONID}}&amp;#039;&lt;br /&gt;
	if mw.isSubsting() then check_str = &amp;quot;{{safesubst:REVISIONID}}&amp;quot; end&lt;br /&gt;
	local Preview_mode = frame:preprocess(check_str);						-- use magic word to get revision id&lt;br /&gt;
	return (Preview_mode == nil or mw.text.trim(Preview_mode or &amp;#039;&amp;#039;) == &amp;#039;&amp;#039;)	-- if there is a value then this is not a preiview&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.previewNotice(frame)&lt;br /&gt;
	if mw.isSubsting() then return &amp;#039;&amp;#039; end&lt;br /&gt;
	local text = &amp;#039;&amp;#039;&lt;br /&gt;
	if type(frame) == type(&amp;#039;string&amp;#039;) then --type(&amp;#039;string&amp;#039;) avoid version change&lt;br /&gt;
		text = mw.text.trim(frame)&lt;br /&gt;
	else&lt;br /&gt;
		if type((frame or {}).args) ~= type({}) then frame.args = {} end&lt;br /&gt;
		text = mw.text.trim(frame.args[&amp;#039;1&amp;#039;] or frame.args[1] or frame.args.text or&lt;br /&gt;
			frame[&amp;#039;1&amp;#039;] or frame[1] or frame.text or &amp;#039;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	text = mw.text.trim(text)&lt;br /&gt;
	if text ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		mw.addWarning(text)&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.isCreating()&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local check_str = &amp;#039;{{PAGEID}}&amp;#039;&lt;br /&gt;
	if mw.isSubsting() then check_str = &amp;quot;{{safesubst:PAGEID}}&amp;quot; end&lt;br /&gt;
	local Preview_mode = frame:preprocess(check_str);&lt;br /&gt;
	return (Preview_mode == nil or mw.text.trim(Preview_mode or &amp;#039;&amp;#039;) == &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.hasParent(layer)&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local times = tonumber(layer or &amp;#039;&amp;#039;) or 0&lt;br /&gt;
	local Parent = frame:getParent();&lt;br /&gt;
	for i=2,tonumber(times) do&lt;br /&gt;
		Parent = Parent:getParent()&lt;br /&gt;
		if Parent == nil then break end&lt;br /&gt;
	end&lt;br /&gt;
	return not (Parent == nil or Parent == &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getTitle(layer)&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local times = tonumber(layer or &amp;#039;&amp;#039;) or 0&lt;br /&gt;
	if times &amp;lt;= 0 then return frame:getTitle()end&lt;br /&gt;
	local Parent = frame:getParent();&lt;br /&gt;
	for i=2,tonumber(times) do&lt;br /&gt;
		Parent = Parent:getParent()&lt;br /&gt;
		if Parent == nil then return &amp;#039;&amp;#039; end&lt;br /&gt;
	end&lt;br /&gt;
	return Parent:getTitle();&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.nextSubst(frame)&lt;br /&gt;
	local args, working_frame&lt;br /&gt;
    if frame == mw.getCurrentFrame() then&lt;br /&gt;
        -- We&amp;#039;re being called via #invoke. The args are passed through to the module&lt;br /&gt;
        -- from the template page, so use the args that were passed into the template.&lt;br /&gt;
        if lib_arg.getArgs == nil then lib_arg = require(&amp;#039;Module:Arguments&amp;#039;) end&lt;br /&gt;
        args = lib_arg.getArgs(frame, {&lt;br /&gt;
        	parentFirst=true,&lt;br /&gt;
        	trim = false,&lt;br /&gt;
			removeBlanks = false&lt;br /&gt;
        })&lt;br /&gt;
        working_frame = frame&lt;br /&gt;
    else&lt;br /&gt;
        -- We&amp;#039;re being called from another module or from the debug console, so assume&lt;br /&gt;
        -- the args are passed in directly.&lt;br /&gt;
        args = frame&lt;br /&gt;
        working_frame = mw.getCurrentFrame()&lt;br /&gt;
        if type(args) ~= type({}) then args = {frame} end&lt;br /&gt;
    end&lt;br /&gt;
    local input_data = args[1] or args[&amp;#039;1&amp;#039;]&lt;br /&gt;
    if mw.text.trim(input_data or &amp;#039;&amp;#039;) == &amp;#039;&amp;#039; then return &amp;#039;&amp;#039; end&lt;br /&gt;
    local num_args = {}&lt;br /&gt;
	for key,value in pairs(args) do&lt;br /&gt;
		local num = tonumber(key) or 0&lt;br /&gt;
		local stored = false&lt;br /&gt;
		if num then&lt;br /&gt;
			if num &amp;gt; 1 then&lt;br /&gt;
				num_args[key - 1] = value&lt;br /&gt;
				stored = true&lt;br /&gt;
			end&lt;br /&gt;
			if num == 1 then stored = true end&lt;br /&gt;
		end&lt;br /&gt;
		if stored ~= true then num_args[key] = value end&lt;br /&gt;
	end&lt;br /&gt;
	local str_args = mw.ustring.sub(require(&amp;#039;Module:Template invocation&amp;#039;).invocation(input_data, num_args),3,-3)&lt;br /&gt;
	if(mw.isSubsting())then &lt;br /&gt;
		return &amp;quot;{{subst:&amp;quot; .. str_args .. &amp;quot;}}&amp;quot; ;&lt;br /&gt;
	end&lt;br /&gt;
	return working_frame:preprocess(&amp;quot;{{safesubst:&amp;quot; .. str_args .. &amp;quot;}}&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>WikiBot</name></author>
	</entry>
</feed>