diff --git a/MCServer/Plugins/APIDump/main_APIDump.lua b/MCServer/Plugins/APIDump/main_APIDump.lua
index 42cd5bad4..fef827f3e 100644
--- a/MCServer/Plugins/APIDump/main_APIDump.lua
+++ b/MCServer/Plugins/APIDump/main_APIDump.lua
@@ -275,7 +275,7 @@ end
-local function WriteHooks(f, a_Hooks, a_UndocumentedHooks)
+local function WriteHooks(f, a_Hooks, a_UndocumentedHooks, a_HookNav)
f:write([[
Hooks
@@ -301,7 +301,7 @@ local function WriteHooks(f, a_Hooks, a_UndocumentedHooks)
table.insert(a_UndocumentedHooks, hook.Name);
else
f:write("
\n " .. hook.Name .. " | \n " .. LinkifyString(hook.CalledWhen, hook.Name) .. " | \n
\n");
- WriteHtmlHook(hook);
+ WriteHtmlHook(hook, a_HookNav);
end
end
f:write([[
@@ -379,7 +379,7 @@ function DumpAPIHtml()
return;
end
- -- Create a class menu that will be inserted into each class file for faster navigation (#403)
+ -- Create a class navigation menu that will be inserted into each class file for faster navigation (#403)
local ClassMenuTab = {};
for idx, cls in ipairs(API) do
table.insert(ClassMenuTab, "");
+ table.insert(HookNavTab, (hook.Name:gsub("^HOOK_", ""))); -- remove the "HOOK_" part of the name
+ table.insert(HookNavTab, "
");
+ end
+ local HookNav = table.concat(HookNavTab, "");
+
-- Write the HTML file:
f:write([[
@@ -415,7 +426,7 @@ function DumpAPIHtml()
WriteArticles(f);
WriteClasses(f, API, ClassMenu);
- WriteHooks(f, Hooks, UndocumentedHooks);
+ WriteHooks(f, Hooks, UndocumentedHooks, HookNav);
-- Copy the static files to the output folder (overwrite any existing):
cFile:Copy(g_Plugin:GetLocalFolder() .. "/main.css", "API/main.css");
@@ -1097,7 +1108,7 @@ end
-function WriteHtmlHook(a_Hook)
+function WriteHtmlHook(a_Hook, a_HookNav)
local fnam = "API/" .. a_Hook.DefaultFnName .. ".html";
local f, error = io.open(fnam, "w");
if (f == nil) then
@@ -1120,7 +1131,11 @@ function WriteHtmlHook(a_Hook)
]], a_Hook.Name, [[
-
+
Quick navigation:
+ ]]);
+ f:write(a_HookNav);
+ f:write([[
+ |
]]);
f:write(LinkifyString(a_Hook.Desc, HookName));
f:write(" \n
Callback function\nThe default name for the callback function is ");
@@ -1150,7 +1165,7 @@ function WriteHtmlHook(a_Hook)
f:write(" ", (example.Desc or "missing Desc"), " \n");
f:write("", (example.Code or "missing Code"), "\n \n\n");
end
- f:write([[ |