<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://secrets.warcraftwatch.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AAPI_info%2Felink</id>
	<title>Module:API info/elink - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://secrets.warcraftwatch.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AAPI_info%2Felink"/>
	<link rel="alternate" type="text/html" href="https://secrets.warcraftwatch.com/w/index.php?title=Module:API_info/elink&amp;action=history"/>
	<updated>2026-05-06T20:56:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://secrets.warcraftwatch.com/w/index.php?title=Module:API_info/elink&amp;diff=7119&amp;oldid=prev</id>
		<title>imported&gt;Ketho at 01:38, 23 August 2024</title>
		<link rel="alternate" type="text/html" href="https://secrets.warcraftwatch.com/w/index.php?title=Module:API_info/elink&amp;diff=7119&amp;oldid=prev"/>
		<updated>2024-08-23T01:38:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local bit = require &amp;quot;bit32&amp;quot;&lt;br /&gt;
local data = {}&lt;br /&gt;
local wowprog_api   = mw.loadData(&amp;quot;Module:API_info/wowprog/api&amp;quot;)&lt;br /&gt;
local wowprog_event = mw.loadData(&amp;quot;Module:API_info/wowprog/event&amp;quot;)&lt;br /&gt;
local github_search_url = require(&amp;quot;Module:API_info/util/github_search&amp;quot;).main()&lt;br /&gt;
local m = {}&lt;br /&gt;
&lt;br /&gt;
local api_types = {&lt;br /&gt;
	a = &amp;quot;api&amp;quot;,&lt;br /&gt;
	e = &amp;quot;event&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function GetApiBaseName(v)&lt;br /&gt;
	if v:find(&amp;quot;%.&amp;quot;) then&lt;br /&gt;
		v = v:match(&amp;quot;.-%.(.+)&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	return v&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local links = {&lt;br /&gt;
	{&lt;br /&gt;
		id = &amp;quot;gh_code_search&amp;quot;,&lt;br /&gt;
		label = &amp;quot;GitHub&amp;quot;,&lt;br /&gt;
		icon = &amp;quot;GitHub_Octocat.png&amp;quot;,&lt;br /&gt;
		url = github_search_url,&lt;br /&gt;
		show = function() return true end,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		id = &amp;quot;tly_globewut&amp;quot;,&lt;br /&gt;
		label = &amp;quot;Globe&amp;quot;,&lt;br /&gt;
		icon = &amp;quot;Townlong-Yak_Globe.png&amp;quot;,&lt;br /&gt;
		url = &amp;quot;https://www.townlong-yak.com/globe/wut/#q:%s&amp;quot;,&lt;br /&gt;
		show = function() return true end,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		id = &amp;quot;tly_apidocs&amp;quot;,&lt;br /&gt;
		label = &amp;quot;Townlong Yak&amp;quot;,&lt;br /&gt;
		icon = &amp;quot;Townlong-Yak_BAD.png&amp;quot;,&lt;br /&gt;
		url = &amp;quot;https://www.townlong-yak.com/framexml/latest/Blizzard_APIDocumentation#%s&amp;quot;,&lt;br /&gt;
		show = function(apiType, name)&lt;br /&gt;
			return data[apiType][name]&lt;br /&gt;
		end,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		id = &amp;quot;gh_apidocs&amp;quot;,&lt;br /&gt;
		label = &amp;quot;Blizzard Docs&amp;quot;,&lt;br /&gt;
		icon = &amp;quot;Blizz.gif&amp;quot;,&lt;br /&gt;
		iconsize = 20,&lt;br /&gt;
		url = &amp;quot;https://github.com/search?q=repo:Gethe/wow-ui-source+\\%%22%s\\%%22+path:/^Interface\\/AddOns\\/Blizzard_APIDocumentationGenerated\\//&amp;amp;type=code&amp;quot;,&lt;br /&gt;
		url_params = function(_, name)&lt;br /&gt;
			return GetApiBaseName(name)&lt;br /&gt;
		end,&lt;br /&gt;
		show = function(apiType, name)&lt;br /&gt;
			return data[apiType][name]&lt;br /&gt;
		end,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		id = &amp;quot;gh_wowapiweb&amp;quot;,&lt;br /&gt;
		label = &amp;quot;/api&amp;quot;,&lt;br /&gt;
		icon = &amp;quot;ProfIcons_engineering.png&amp;quot;,&lt;br /&gt;
		url = &amp;quot;https://mrbuds.github.io/wow-api-web/?search=%s&amp;quot;,&lt;br /&gt;
		show = function(apiType, name)&lt;br /&gt;
			return data[apiType][name]&lt;br /&gt;
		end,&lt;br /&gt;
		url_params = function(apiType, name)&lt;br /&gt;
			if apiType == &amp;quot;a&amp;quot; then&lt;br /&gt;
				local apiName = GetApiBaseName(name)&lt;br /&gt;
				local system = data.a[name]&lt;br /&gt;
				return string.format(&amp;quot;api:%s:%s:%s&amp;quot;, &amp;quot;function&amp;quot;, apiName, system)&lt;br /&gt;
			elseif apiType == &amp;quot;e&amp;quot; then&lt;br /&gt;
				local info = data.e[name]&lt;br /&gt;
				if info then&lt;br /&gt;
					return string.format(&amp;quot;api:%s:%s:%s&amp;quot;, &amp;quot;event&amp;quot;, info.Name, info.System)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end,&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		id = &amp;quot;wowprog&amp;quot;,&lt;br /&gt;
		label = &amp;quot;Wowprogramming&amp;quot;,&lt;br /&gt;
		icon = &amp;quot;Wowprogramming.png&amp;quot;,&lt;br /&gt;
		url = &amp;quot;https://wowprogramming.com/docs/%s.html&amp;quot;,&lt;br /&gt;
		show = function(apiType, name)&lt;br /&gt;
			if apiType == &amp;quot;a&amp;quot; then&lt;br /&gt;
				return wowprog_api[name]&lt;br /&gt;
			elseif apiType == &amp;quot;e&amp;quot; then&lt;br /&gt;
				return wowprog_event[name]&lt;br /&gt;
			end&lt;br /&gt;
		end,&lt;br /&gt;
		url_params = function(apiType, name)&lt;br /&gt;
			if apiType == &amp;quot;a&amp;quot; then&lt;br /&gt;
				return string.format(&amp;quot;api/%s&amp;quot;, name)&lt;br /&gt;
			elseif apiType == &amp;quot;e&amp;quot; then&lt;br /&gt;
				return string.format(&amp;quot;events/%s&amp;quot;, name)&lt;br /&gt;
			end&lt;br /&gt;
		end,&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function m:GetElinks(apiType, name)&lt;br /&gt;
	if api_types[apiType] then&lt;br /&gt;
		data[apiType] = mw.loadData(&amp;quot;Module:API_info/elink/&amp;quot;..api_types[apiType])&lt;br /&gt;
	end&lt;br /&gt;
	local t = {}&lt;br /&gt;
	for _, info in pairs(links) do&lt;br /&gt;
		if info.show(apiType, name) then&lt;br /&gt;
			local params = info.url_params and info.url_params(apiType, name) or name&lt;br /&gt;
			table.insert(t, {&lt;br /&gt;
				icon = info.icon,&lt;br /&gt;
				url = info.url:format(params),&lt;br /&gt;
				text = info.label,&lt;br /&gt;
				iconsize = info.iconsize,&lt;br /&gt;
				fs = &amp;quot;[[File:$icon|$iconsize px|link=$url]] &amp;amp;nbsp;[$url $text]&amp;quot;&lt;br /&gt;
			})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return t&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return m&lt;/div&gt;</summary>
		<author><name>imported&gt;Ketho</name></author>
	</entry>
</feed>