<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://hmoegirl.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ALinksShow</id>
	<title>Module:LinksShow - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://hmoegirl.com/index.php?action=history&amp;feed=atom&amp;title=Module%3ALinksShow"/>
	<link rel="alternate" type="text/html" href="https://hmoegirl.com/index.php?title=Module:LinksShow&amp;action=history"/>
	<updated>2026-04-23T21:38:05Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>https://hmoegirl.com/index.php?title=Module:LinksShow&amp;diff=60207&amp;oldid=prev</id>
		<title>imported&gt;850710247liu：​创建页面，内容为“local module = {}  local getArgs = require(&#039;Module:Arguments&#039;).getArgs local getCode = require(&#039;Module:getPageCode&#039;)  local randomSeed = 0 function random(count, min…”</title>
		<link rel="alternate" type="text/html" href="https://hmoegirl.com/index.php?title=Module:LinksShow&amp;diff=60207&amp;oldid=prev"/>
		<updated>2020-02-21T03:06:09Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“local module = {}  local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs local getCode = require(&amp;#039;Module:getPageCode&amp;#039;)  local randomSeed = 0 function random(count, min…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local module = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local getCode = require(&amp;#039;Module:getPageCode&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local randomSeed = 0&lt;br /&gt;
function random(count, min, max)&lt;br /&gt;
	randomSeed = randomSeed + 1&lt;br /&gt;
	math.randomseed(tostring(os.time()):reverse():sub(1, 7)..randomSeed)&lt;br /&gt;
	&lt;br /&gt;
	if count == 1 then&lt;br /&gt;
		return math.random(min, max)	&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local order = {}&lt;br /&gt;
	function test(num)&lt;br /&gt;
		for i=1, #order do&lt;br /&gt;
			if num == order[i] then&lt;br /&gt;
				return true&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	repeat&lt;br /&gt;
	    local ran = math.random(min, max)&lt;br /&gt;
		if test(ran) == false then  &lt;br /&gt;
			order[#order + 1] = ran&lt;br /&gt;
		end&lt;br /&gt;
	until(#order == count)&lt;br /&gt;
	&lt;br /&gt;
	return order&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function _main(args, frame)&lt;br /&gt;
	local pageName = args[1]&lt;br /&gt;
	local except = mw.text.split(args[&amp;#039;except&amp;#039;] or &amp;#039;&amp;#039;, &amp;#039;，&amp;#039;) &lt;br /&gt;
	local data = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if string.find(pageName, &amp;#039;%[%[.-%]%]&amp;#039;) then&lt;br /&gt;
		data = pageName	&lt;br /&gt;
	else&lt;br /&gt;
		local code = getCode(pageName)&lt;br /&gt;
		if code == nil then return 0 end&lt;br /&gt;
		local ptn = &amp;#039;^\{\{(links|links\/br|dl|dis)\|&amp;#039;&lt;br /&gt;
		local cheapCode = string.gsub(code, &amp;#039;%b{}&amp;#039;, function(s)&lt;br /&gt;
		  local isMatched = frame:expandTemplate{ title = &amp;#039;regex&amp;#039;, args = { &amp;#039;test&amp;#039;, s, ptn } }&lt;br /&gt;
	      if isMatched ~= &amp;#039;1&amp;#039; then &lt;br /&gt;
	    	return (string.gsub(s, &amp;#039;^{&amp;#039;, &amp;#039;ŸŸ&amp;#039;):gsub(&amp;#039;}$&amp;#039;, &amp;#039;‡‡&amp;#039;))&lt;br /&gt;
	      end&lt;br /&gt;
		end)&lt;br /&gt;
		&lt;br /&gt;
		function saving(code)&lt;br /&gt;
			local maxCutLen = tonumber((args[&amp;#039;rangeLevel&amp;#039;] or 0) + 1) * 1000&lt;br /&gt;
			if maxCutLen &amp;gt; 1000 then&lt;br /&gt;
				local cutBorder = code:len() - maxCutLen&lt;br /&gt;
				if cutBorder &amp;lt; 1 then return code end&lt;br /&gt;
				&lt;br /&gt;
				local cutStart = random(1, 1, cutBorder)&lt;br /&gt;
				local cutEnd = cutStart + maxCutLen&lt;br /&gt;
				return code:sub(cutStart, cutEnd)&lt;br /&gt;
			else return code end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		data = frame:preprocess(saving(cheapCode))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;#039;except&amp;#039;] and mw.text.trim(args[&amp;#039;except&amp;#039;]) ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		for i, v in ipairs(except) do&lt;br /&gt;
			local ptn = &amp;#039;%[%[&amp;#039;..mw.ustring.gsub(mw.text.trim(v), &amp;#039;([%%%(%)%.%+%-%*%?%[%]%^%$])&amp;#039;, &amp;#039;%%%1&amp;#039;)..&amp;#039;.-%]%]&amp;#039;&lt;br /&gt;
			data = mw.ustring.gsub(data, ptn, &amp;#039;&amp;#039;)&lt;br /&gt;
		end		&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local num = tonumber(args[&amp;#039;num&amp;#039;]) or 19 &lt;br /&gt;
	local links = {}&lt;br /&gt;
	local iter = string.gmatch(data, &amp;#039;%[%[(.-)%]%]&amp;#039;)&lt;br /&gt;
	for v in iter do&lt;br /&gt;
		v = string.gsub(v, &amp;#039;&amp;lt;.-&amp;gt;&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
		local link = v&lt;br /&gt;
		local text = v&lt;br /&gt;
		if string.find(v, &amp;#039;|&amp;#039;) then&lt;br /&gt;
			link = string.gsub(v, &amp;#039;([^|]*)%|?([^|]*)&amp;#039;, &amp;#039;%1&amp;#039;)&lt;br /&gt;
			text = string.gsub(v, &amp;#039;[^|]*%|?([^|]*)&amp;#039;, &amp;#039;%1&amp;#039;)	    		&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if mw.ustring.find(text, &amp;#039;^[查论编]$&amp;#039;) == nil and mw.ustring.find(link, &amp;#039;^[Ff]ile:&amp;#039;) == nil then&lt;br /&gt;
			local r = random(1, 0, 255)&lt;br /&gt;
			local g = random(1, 0, 255)&lt;br /&gt;
			local b = random(1, 0, 255)&lt;br /&gt;
			local element = &amp;#039;[[&amp;#039;..link..&amp;#039;|&amp;lt;span class=&amp;quot;linksShow-link&amp;quot; style=&amp;quot;color:rgb(&amp;#039;..r..&amp;#039;,&amp;#039;..g..&amp;#039;,&amp;#039;..b..&amp;#039;);&amp;quot;&amp;gt;&amp;#039;..text..&amp;#039;&amp;lt;/span&amp;gt;]]&amp;#039;&lt;br /&gt;
			links[#links + 1] = element&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if #links &amp;lt; 19 then return 1 end&lt;br /&gt;
	&lt;br /&gt;
	local set = {}&lt;br /&gt;
	local ran = random(num, 1, #links)&lt;br /&gt;
	for i=1, num do&lt;br /&gt;
		set[#set + 1] = links[ran[i]]	&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local str = &amp;#039;&amp;#039;&lt;br /&gt;
	for i=1, #set do&lt;br /&gt;
		str = str..set[i]..&amp;#039;$&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return str&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function module.main(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	return _main(args, frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return module&lt;/div&gt;</summary>
		<author><name>imported&gt;850710247liu</name></author>
	</entry>
</feed>