Fix cyclic build dependency for 06-appearance.md.lua
Previously this code checked the generated documentation to decide if something is a class or a module. Now, it parses the source file and looks for the @classmod, @module and @submodule tags to make the same decision. Fixes: https://github.com/awesomeWM/awesome/issues/1255 Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
61229500a2
commit
b8956090d9
|
@ -62,31 +62,30 @@ local function path_to_module(path)
|
|||
error("Cannot figure out module for " .. tostring(path))
|
||||
end
|
||||
|
||||
local function module_to_html(mod)
|
||||
mod = mod:gsub(".init", "")
|
||||
|
||||
local f = io.open("doc/classes/".. mod ..".html","r")
|
||||
|
||||
if f~=nil then
|
||||
local function path_to_html(path)
|
||||
local mod = path_to_module(path):gsub(".init", "")
|
||||
local f = assert(io.open(path))
|
||||
while true do
|
||||
local line = f:read()
|
||||
if not line then break end
|
||||
if line:match("@classmod") then
|
||||
f:close()
|
||||
return "../classes/".. mod ..".html"
|
||||
end
|
||||
|
||||
f = io.open("doc/libraries/".. mod ..".html","r")
|
||||
|
||||
if f~=nil then
|
||||
if line:match("@module") or line:match("@submodule") then
|
||||
f:close()
|
||||
return "../libraries/".. mod ..".html"
|
||||
end
|
||||
end
|
||||
f:close()
|
||||
|
||||
-- This can happen
|
||||
return ""
|
||||
error("Cannot figure out if module or class: " .. tostring(path))
|
||||
end
|
||||
|
||||
local function get_link(file, element)
|
||||
return table.concat {
|
||||
"<a href='",
|
||||
module_to_html(path_to_module(file)),
|
||||
path_to_html(file),
|
||||
"#",
|
||||
element,
|
||||
"'>",
|
||||
|
|
Loading…
Reference in New Issue