<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://the.satanic.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ALinks</id>
	<title>Module:Links - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://the.satanic.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ALinks"/>
	<link rel="alternate" type="text/html" href="https://the.satanic.wiki/index.php?title=Module:Links&amp;action=history"/>
	<updated>2026-04-20T01:23:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://the.satanic.wiki/index.php?title=Module:Links&amp;diff=11071&amp;oldid=prev</id>
		<title>WikiGOD at 05:51, 2 May 2021</title>
		<link rel="alternate" type="text/html" href="https://the.satanic.wiki/index.php?title=Module:Links&amp;diff=11071&amp;oldid=prev"/>
		<updated>2021-05-02T05:51:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:51, 2 May 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l56&quot;&gt;Line 56:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 56:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--: (string) A formated wikilink&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--: (string) A formated wikilink&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function p.main(frame)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function p.main(frame)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local args = require(&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dev&lt;/del&gt;:Arguments&quot;).getArgs(frame)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local args = require(&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Module:&lt;/ins&gt;:Arguments&quot;).getArgs(frame)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     return p.link(args[1] or args.page, args[2] or args.desc, args.type)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     return p.link(args[1] or args.page, args[2] or args.desc, args.type)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l64&quot;&gt;Line 64:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 64:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--: (string) A formated string containing one or more wikilinks&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--: (string) A formated string containing one or more wikilinks&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function p.batch(frame)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function p.batch(frame)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local args = require(&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dev&lt;/del&gt;:Arguments&quot;).getArgs(frame)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local args = require(&quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Module:&lt;/ins&gt;:Arguments&quot;).getArgs(frame)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local separator = args.separator&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local separator = args.separator&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local delimiter = args.delimiter&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local delimiter = args.delimiter&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key zzegtzyr_mw19226-mwjf_:diff:1.41:old-10924:rev-11071:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>WikiGOD</name></author>
	</entry>
	<entry>
		<id>https://the.satanic.wiki/index.php?title=Module:Links&amp;diff=10924&amp;oldid=prev</id>
		<title>WikiGOD: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://the.satanic.wiki/index.php?title=Module:Links&amp;diff=10924&amp;oldid=prev"/>
		<updated>2021-04-30T02:23:58Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:23, 30 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key zzegtzyr_mw19226-mwjf_:diff:1.41:old-10923:rev-10924 --&gt;
&lt;/table&gt;</summary>
		<author><name>WikiGOD</name></author>
	</entry>
	<entry>
		<id>https://the.satanic.wiki/index.php?title=Module:Links&amp;diff=10923&amp;oldid=prev</id>
		<title>Mediawiki&gt;Dessamator: Undo revision 42102 by Dessamator (talk)</title>
		<link rel="alternate" type="text/html" href="https://the.satanic.wiki/index.php?title=Module:Links&amp;diff=10923&amp;oldid=prev"/>
		<updated>2016-07-20T13:05:03Z</updated>

		<summary type="html">&lt;p&gt;Undo revision 42102 by &lt;a href=&quot;/index.php/Special:Contributions/Dessamator&quot; title=&quot;Special:Contributions/Dessamator&quot;&gt;Dessamator&lt;/a&gt; (&lt;a href=&quot;/index.php?title=User_talk:Dessamator&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:Dessamator (page does not exist)&quot;&gt;talk&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--&amp;lt;pre&amp;gt; &lt;br /&gt;
--| Creates links and changes wikitext when it detects external links&lt;br /&gt;
--| Syntax&lt;br /&gt;
--| {{#invoke:links|main|page/url|label|type=ext/local}}&lt;br /&gt;
--| {{#invoke:links|batch|url1 label1 type1|url2 label2 type2|separator=linkoutput separator |delimiter= separator for link entries}}&lt;br /&gt;
--| Example:&lt;br /&gt;
--| {{#invoke:links|batch|www.google.com &amp;gt; google &amp;gt; ext|luamods &amp;gt; List of lua modules|delimiter=&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
--% This function generates a wiki link&lt;br /&gt;
--@ url (string) The url to convert to wikitext&lt;br /&gt;
--@ desc (string) The caption or description of the url&lt;br /&gt;
--@ typ (string) The type of link, (local or ext)&lt;br /&gt;
--: (string) A formated wikilink&lt;br /&gt;
function p.link(url, desc, typ)&lt;br /&gt;
    local url = url or &amp;quot;&amp;quot;&lt;br /&gt;
    local lenUrl = mw.ustring.len(url)&lt;br /&gt;
    local uMatch = mw.ustring.match&lt;br /&gt;
&lt;br /&gt;
    if typ == &amp;quot;ext&amp;quot; and (not uMatch(url, &amp;quot;%.&amp;quot;) or lenUrl &amp;lt; 3)&lt;br /&gt;
            or lenUrl &amp;lt; 1 then&lt;br /&gt;
        return&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local prefix = &amp;quot;[[&amp;quot;&lt;br /&gt;
    local suffix = &amp;quot;]]&amp;quot;&lt;br /&gt;
    local separator = &amp;quot;|&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    if url:match(&amp;quot;^[Cc]ategory:&amp;quot;) and typ ~= &amp;quot;ext&amp;quot; then&lt;br /&gt;
        prefix = &amp;quot;[[:&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Adapt if url is external&lt;br /&gt;
    if typ ~= &amp;quot;local&amp;quot; and (uMatch(url, &amp;quot;www%.&amp;quot;) or uMatch(url, &amp;quot;^http&amp;quot;))&lt;br /&gt;
            or typ == &amp;quot;ext&amp;quot; then&lt;br /&gt;
        prefix = &amp;quot;[//&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        if uMatch(url, &amp;quot;^http&amp;quot;) then&lt;br /&gt;
            prefix = &amp;quot;[&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        suffix = &amp;quot;]&amp;quot;&lt;br /&gt;
        separator = &amp;quot; &amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local desc = desc or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    if mw.ustring.len(desc) &amp;lt; 1 then&lt;br /&gt;
        separator = &amp;quot;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return prefix .. url .. separator .. desc .. suffix&lt;br /&gt;
end&lt;br /&gt;
--% Entry point for function that generates a wiki link&lt;br /&gt;
--@ frame (table) Contains frame from invoked module&lt;br /&gt;
--: (string) A formated wikilink&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
    local args = require(&amp;quot;Dev:Arguments&amp;quot;).getArgs(frame)&lt;br /&gt;
&lt;br /&gt;
    return p.link(args[1] or args.page, args[2] or args.desc, args.type)&lt;br /&gt;
end&lt;br /&gt;
--% Entry point for function that generates several wiki links&lt;br /&gt;
--@ frame (table) Contains frame from invoked module&lt;br /&gt;
--: (string) A formated string containing one or more wikilinks&lt;br /&gt;
function p.batch(frame)&lt;br /&gt;
    local args = require(&amp;quot;Dev:Arguments&amp;quot;).getArgs(frame)&lt;br /&gt;
    local separator = args.separator&lt;br /&gt;
    local delimiter = args.delimiter&lt;br /&gt;
&lt;br /&gt;
    return p.createLinkBatch(args, separator, delimiter)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--% This creates and formats many links&lt;br /&gt;
--@ links (table) a table containing links, e.g. {&amp;#039;Lua label1 type&amp;#039;, &amp;#039;www.google.com google ext&amp;#039;}&lt;br /&gt;
--@ separator (string) a separator between each link&lt;br /&gt;
--@ delimiter (string) an optional delimiter that will separate the label, link &amp;amp; type&lt;br /&gt;
--: (string) A formated string containing one or more wikilinks&lt;br /&gt;
function p.createLinkBatch(links, separator, delimiter)&lt;br /&gt;
    local linkTable = {}&lt;br /&gt;
    local linkBatch = &amp;quot;&amp;quot;&lt;br /&gt;
    local linkUrl = &amp;quot;&amp;quot;&lt;br /&gt;
    local linkLabel = &amp;quot;&amp;quot;&lt;br /&gt;
    local linkType = &amp;quot;&amp;quot;&lt;br /&gt;
    local delimiter = delimiter or &amp;quot;%s&amp;quot;&lt;br /&gt;
    local separator = separator or &amp;quot; • &amp;quot;&lt;br /&gt;
    local linkLen = 0&lt;br /&gt;
&lt;br /&gt;
    for _, linkData in ipairs(links) do&lt;br /&gt;
        linkLen = linkData:len()&lt;br /&gt;
        linkType = linkData:sub(linkLen - 2)&lt;br /&gt;
&lt;br /&gt;
        if linkType ~= &amp;quot;ext&amp;quot; and linkType ~= &amp;quot;int&amp;quot; then&lt;br /&gt;
            linkType = &amp;quot;&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
            linkData = linkData:sub(1, linkLen - 4)&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        linkTable = mw.text.split(linkData, delimiter)&lt;br /&gt;
&lt;br /&gt;
        linkUrl = linkTable[1]&lt;br /&gt;
        linkLabel = linkTable[2]&lt;br /&gt;
        linkBatch = linkBatch .. p.link(linkUrl, linkLabel, linkType) .. separator&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return linkBatch&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Mediawiki&gt;Dessamator</name></author>
	</entry>
</feed>