<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Module%3ACGroupViewer</id>
	<title>Module:CGroupViewer - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Module%3ACGroupViewer"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Module:CGroupViewer&amp;action=history"/>
	<updated>2026-06-29T07:24:13Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Module:CGroupViewer&amp;diff=2381545&amp;oldid=prev</id>
		<title>imported&gt;SunAfterRain 来自 2025年2月4日 (二) 17:26</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Module:CGroupViewer&amp;diff=2381545&amp;oldid=prev"/>
		<updated>2025-02-04T17:26:43Z</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;local z = {}&lt;br /&gt;
local lua_error = error&lt;br /&gt;
local error = require( &amp;#039;Module:Error&amp;#039; )&lt;br /&gt;
&lt;br /&gt;
local function makeText( frame, v )&lt;br /&gt;
	local text = v.text&lt;br /&gt;
	if not v.preprocessed then&lt;br /&gt;
		text = frame:preprocess( text )&lt;br /&gt;
	end&lt;br /&gt;
	return mw.text.trim( text ) .. &amp;#039;\n&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeItem( frame, v )&lt;br /&gt;
	local text = &amp;#039;* &amp;#039;&lt;br /&gt;
	if v.original then&lt;br /&gt;
		local original = mw.text.trim(v.original)&lt;br /&gt;
		original = mw.ustring.gsub(original, &amp;#039;-{}-&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
		if not mw.ustring.find(original, &amp;#039;-{&amp;#039;) then&lt;br /&gt;
			-- 如果中間有轉換標記就不介入 反之插入阻止轉換的標記&lt;br /&gt;
			original = &amp;#039;-{&amp;#039; .. original .. &amp;#039;}-&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		text = text .. &amp;#039;原文：&amp;#039; .. original .. &amp;#039;；&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return text .. &amp;#039;-{D|&amp;#039; .. v.rule .. &amp;#039;}-当前显示为：-{|&amp;#039; .. v.rule .. &amp;#039;}-\n&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function z.checkError(frame)&lt;br /&gt;
	local name = frame.args[1]&lt;br /&gt;
	if not name or name == &amp;#039;&amp;#039; then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local require_success, data = pcall(require, &amp;#039;Module:CGroup/&amp;#039; .. name )&lt;br /&gt;
	local body = &amp;#039;&amp;#039;&lt;br /&gt;
	if not require_success then&lt;br /&gt;
		local error_message = tostring(data)&lt;br /&gt;
		if (({mw.ustring.find(error_message, &amp;quot;module .+ not found&amp;quot;)})[1] and &lt;br /&gt;
				mw.ustring.lower(tostring(name)) == mw.ustring.lower(tostring(({mw.ustring.match(error_message, &amp;quot;module [&amp;#039;\&amp;quot;]Module:CGroup[\\/](.+)[&amp;#039;\&amp;quot;] not found&amp;quot; )})[1])))&lt;br /&gt;
			or ({mw.ustring.find(error_message, &amp;quot;loop or previous&amp;quot;)})[1] then&lt;br /&gt;
				local working_frame = (frame or {}).preprocess and frame or mw.getCurrentFrame()&lt;br /&gt;
				--指向自己本身或循環的重定向自動提交速刪&lt;br /&gt;
				body = body .. working_frame:preprocess(&amp;quot;{{delete|r5}}&amp;quot;) &lt;br /&gt;
		else&lt;br /&gt;
			body = body .. error.error{ &amp;#039;讀取转换组模块“&amp;#039; .. name .. &amp;#039;”發生錯誤。&amp;#039; }&lt;br /&gt;
			body = body .. &amp;#039;[[Category:有错误的公共转换组模块|&amp;#039; .. name .. &amp;#039;]]\n&amp;#039;&lt;br /&gt;
			body = body .. &amp;#039;:請檢查：\n&amp;#039;&lt;br /&gt;
			body = body .. &amp;#039;:*轉換組頁面是否存在\n&amp;#039;&lt;br /&gt;
			body = body .. &amp;#039;:*轉換組語法是否有錯誤\n&amp;#039;&lt;br /&gt;
			body = body .. &amp;quot;:&amp;#039;&amp;#039;&amp;#039;錯誤訊息如下：&amp;#039;&amp;#039;&amp;#039;\n::&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return body&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function z.main( frame )&lt;br /&gt;
	local name = frame.args[1]&lt;br /&gt;
	--令除錯主控台可以運行&lt;br /&gt;
	local working_frame = (type((frame or {}).preprocess)==type(tonumber)) and frame or mw.getCurrentFrame()&lt;br /&gt;
	if not name or name == &amp;#039;&amp;#039; then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local require_success, data = pcall(require, &amp;#039;Module:CGroup/&amp;#039; .. name )&lt;br /&gt;
	if not require_success then&lt;br /&gt;
		local error_message = tostring(data)&lt;br /&gt;
		--指向自己本身或循環的重定向&lt;br /&gt;
		if (({mw.ustring.find(error_message, &amp;quot;module .+ not found&amp;quot;)})[1] and &lt;br /&gt;
				mw.ustring.lower(tostring(name)) == mw.ustring.lower(tostring(({mw.ustring.match(error_message, &amp;quot;module [&amp;#039;\&amp;quot;]Module:CGroup[\\/](.+)[&amp;#039;\&amp;quot;] not found&amp;quot; )})[1])))&lt;br /&gt;
			or ({mw.ustring.find(error_message, &amp;quot;loop or previous&amp;quot;)})[1] then&lt;br /&gt;
				local cgroup_name = ({mw.ustring.match(error_message, &amp;quot;[&amp;#039;\&amp;quot;]Module:CGroup[\\/](.+)[&amp;#039;\&amp;quot;]&amp;quot; )})[1]&lt;br /&gt;
				return working_frame:expandTemplate{ title = &amp;#039;Template:CGroup redirect&amp;#039;, args = { &amp;#039;Module:CGroup/&amp;#039; .. (cgroup_name or name) } }&lt;br /&gt;
		elseif ({mw.ustring.find(error_message, &amp;quot;module .+ not found&amp;quot;)})[1] then&lt;br /&gt;
			local cgroup_name = ({mw.ustring.match(error_message, &amp;quot;[&amp;#039;\&amp;quot;]Module:CGroup[\\/](.+)[&amp;#039;\&amp;quot;]&amp;quot; )})[1]&lt;br /&gt;
			return error.error{ &amp;#039;找不到名稱為“[[Module:CGroup/&amp;#039; .. cgroup_name ..&amp;#039;|&amp;#039; .. cgroup_name .. &amp;#039;]]”的转换组模块。\n&amp;#039; }&lt;br /&gt;
		else&lt;br /&gt;
			return lua_error(data,0)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if type( data ) ~= &amp;#039;table&amp;#039; or not data.name or data.name == &amp;#039;&amp;#039; then&lt;br /&gt;
		return error.error{ &amp;#039;指定模块“&amp;#039; .. name .. &amp;#039;”不是有效的转换组&amp;#039; }&lt;br /&gt;
	end&lt;br /&gt;
	if data.name ~= name then&lt;br /&gt;
		return working_frame:expandTemplate{ title = &amp;#039;Template:CGroup redirect&amp;#039;, args = { &amp;#039;Module:CGroup/&amp;#039; .. data.name } }&lt;br /&gt;
	end&lt;br /&gt;
	local pieces = {&lt;br /&gt;
        working_frame:preprocess{ text = &amp;#039;__NOEDITSECTION__&amp;#039;},&lt;br /&gt;
		working_frame:expandTemplate{ title = &amp;#039;Template:Bot use warning&amp;#039;, args = { bots = &amp;#039;[[User:cewbot/log/20191129/configuration]]&amp;#039; } },&lt;br /&gt;
		&amp;#039;&amp;lt;strong&amp;gt;以下為[[Wikipedia:字詞轉換處理/公共轉換組|公共转换组]]Module:CGroup/&amp;#039; .. data.name .. &amp;#039;的內容。\n描述：&amp;#039; .. data.description .. &amp;#039;&amp;lt;/strong&amp;gt;\n&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
	for i, v in ipairs( data.content ) do&lt;br /&gt;
		if v.type == &amp;#039;text&amp;#039; then&lt;br /&gt;
			table.insert( pieces, makeText( working_frame, v ) )&lt;br /&gt;
		elseif v.type == &amp;#039;item&amp;#039; then&lt;br /&gt;
			table.insert( pieces, makeItem( working_frame, v ) )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.insert( pieces, &amp;#039;[[Category:公共转换组模块|&amp;#039; .. name .. &amp;#039;]]&amp;#039; )&lt;br /&gt;
	return table.concat( pieces )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- 給 {{CItemHidden}} 使用的 Hack，抑制原文參數轉換&lt;br /&gt;
function z.CItemHiddenViewer( frame )&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local working_frame = (type((frame or {}).preprocess)==type(tonumber)) and frame or mw.getCurrentFrame()&lt;br /&gt;
	local rule = mw.text.trim(args.rule or &amp;#039;&amp;#039;)&lt;br /&gt;
	if rule == &amp;#039;&amp;#039; then&lt;br /&gt;
		error( &amp;#039;CItemHiddenViewer: rule (Template:CItemHidden argument 1) missing.&amp;#039; )&lt;br /&gt;
	end&lt;br /&gt;
	local original = mw.text.trim(args.original or &amp;#039;&amp;#039;)&lt;br /&gt;
	if original == &amp;#039;&amp;#039; then&lt;br /&gt;
		original = nil&lt;br /&gt;
	end&lt;br /&gt;
	return makeItem( working_frame, { rule = rule, original = original } )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function z.dialog( frame )&lt;br /&gt;
	local name = frame.args[1]&lt;br /&gt;
	if not name or name == &amp;#039;&amp;#039; then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local data = require( &amp;#039;Module:CGroup/&amp;#039; .. name )&lt;br /&gt;
	local pieces = { &amp;#039;&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;plainlinks&amp;quot; style=&amp;quot;float: right;&amp;quot;&amp;gt;&amp;amp;#91;[&amp;#039;,&lt;br /&gt;
		tostring( mw.uri.fullUrl( &amp;#039;Module:CGroup/&amp;#039; .. name, { action = &amp;#039;edit&amp;#039; } ) ), &amp;#039; 编辑]&amp;amp;#93;&amp;lt;/span&amp;gt;\n&amp;#039;,&lt;br /&gt;
		&amp;#039;; 本文使用[[Wikipedia:字詞轉換處理/公共轉換組|公共转换组]]“&amp;#039; .. data.description .. &amp;#039;”。\n&amp;#039;,&lt;br /&gt;
		&amp;#039;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;\n&amp;#039; }&lt;br /&gt;
	for i, v in ipairs( data.content ) do&lt;br /&gt;
		if v.type == &amp;#039;item&amp;#039; then&lt;br /&gt;
			table.insert( pieces, makeItem( frame, v ) )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.insert( pieces, &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039; )&lt;br /&gt;
	return table.concat( pieces )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function z.json( frame )&lt;br /&gt;
	local name = frame.args[1]&lt;br /&gt;
	if not name or name == &amp;#039;&amp;#039; then&lt;br /&gt;
		return &amp;#039;null&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local data = require( &amp;#039;Module:CGroup/&amp;#039; .. name )&lt;br /&gt;
	local json = require( &amp;#039;Module:MicroJSON&amp;#039; )&lt;br /&gt;
	return json.encode_object( data, {&lt;br /&gt;
		name = &amp;#039;&amp;#039;,&lt;br /&gt;
		description = &amp;#039;&amp;#039;,&lt;br /&gt;
		content = {&lt;br /&gt;
			{ type = &amp;#039;&amp;#039;, [true] = &amp;#039;&amp;#039; },&lt;br /&gt;
		},&lt;br /&gt;
	} )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return z&lt;/div&gt;</summary>
		<author><name>imported&gt;SunAfterRain</name></author>
	</entry>
</feed>