Commit e704c035 authored by Marco Cavalli's avatar Marco Cavalli
Browse files

fix: hardcoded links supports double digits clauses

parent 07230dee
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -6,35 +6,44 @@ local pandoc = require "pandoc"
--generates link for caluses
function ClauseLink(text, number)
    text = text:gsub("%-", "‑") --always use non-breaking hyphens for links
    first_character = number:sub(1, 1)
    -- find the first . or set the length to the whole string if there is no .
    local first_dot = number:find("%.") or (#number + 1)
    leading_characters = number:sub(1, first_dot - 1)
    first_character = leading_characters:sub(1, 1)
    if first_character:match("%a") then
        return pandoc.Link(text, "annex-" .. first_character:lower() .. ".html#" .. number)
    else
        return pandoc.Link(text, "clause-" .. first_character .. ".html#" .. number)
        return pandoc.Link(text, "clause-" .. leading_characters .. ".html#" .. number)
    end
end

--generates link for figures
function FigureLink(text, number)
    text = text:gsub("%-", "‑") --always use non-breaking hyphens for links
    first_character = number:sub(1, 1)
    -- find the first .
    local first_dot = number:find("%.") or (#number + 1)
    leading_characters = number:sub(1, first_dot - 1)
    first_character = leading_characters:sub(1, 1)
    -- check if it is a letter
    if first_character:match("%a") then
        return pandoc.Link(text, "annex-" .. first_character:lower() .. ".html#Figure_" .. number)
    else
        return pandoc.Link(text, "clause-" .. first_character .. ".html#Figure_" .. number)
        return pandoc.Link(text, "clause-" .. leading_characters .. ".html#Figure_" .. number)
    end
end

--generates link for tables
function TableLink(text, number)
    text = text:gsub("%-", "‑") --always use non-breaking hyphens for links
    first_character = number:sub(1, 1)
    -- find the first .
    local first_dot = number:find("%.") or (#number + 1)
    leading_characters = number:sub(1, first_dot - 1)
    first_character = leading_characters:sub(1, 1)
    -- check if it is a letter
    if first_character:match("%a") then
        return pandoc.Link(text, "annex-" .. first_character:lower() .. ".html#Table_" .. number)
    else
        return pandoc.Link(text, "clause-" .. first_character .. ".html#Table_" .. number)
        return pandoc.Link(text, "clause-" .. leading_characters .. ".html#Table_" .. number)
    end
end