1
0
mirror of https://github.com/SerenityOS/serenity synced 2024-07-05 21:55:08 +00:00

Meta/build-manpages-website: Use absolute paths for all links

Previously, we had some broken cross-manpage links on the website after
the introduction of subsections. This is fixed by simply always using an
absolute path (leading '/') for links, making all images, icons and page
links work in all subsections.

Unfortunately, this change means that navigating the website build while
opening the files in the browser directly will no longer work. However,
a local static server such as `python -m http.server 8080` in the
output/ directory will work just fine for testing.
This commit is contained in:
kleines Filmröllchen 2023-01-07 17:02:38 +01:00 committed by Linus Groh
parent 76e601d758
commit e430667923

View File

@ -1,22 +1,20 @@
function Link(el)
el.target = string.gsub(el.target, "file:///bin/.*", "../cant-run-application.html")
el.target = string.gsub(el.target, "help://man/([^/]*)/(.*)", "../man%1/%2.html")
el.target = string.gsub(el.target, "file:///bin/.*", "/cant-run-application.html")
el.target = string.gsub(el.target, "help://man/([^/]*)/(.*)", "/man%1/%2.html")
return el
end
function Image(el)
-- HACK: Handle images that are not icons separately; they're copied manually in the
-- Meta/build-manpages-website.sh script.
-- Ideally this would be generalized so the paths export below could handle both.
-- Images that are not icons are always copied to the website root.
if el.src:find("^/res/icons/") == nil then
el.src = "../" .. el.src
el.src = "/" .. el.src
return el
end
local pattern = "/res/icons/(.*)"
local image = string.gsub(el.src, pattern, "%1")
el.src = "../icons/" .. image
el.src = "/icons/" .. image
file = io.open("icons.txt", "a+")
file:write(image .. "\n")
file:close()