35 lines
763 B
Lua
35 lines
763 B
Lua
local function map(list, func)
|
|
local new_list = {}
|
|
for key, value in pairs(list) do
|
|
new_list[key] = func(key, value)
|
|
end
|
|
return new_list
|
|
end
|
|
local function join(list)
|
|
local string = ""
|
|
for key, value in pairs(list) do
|
|
string = string .. value
|
|
end
|
|
return string
|
|
end
|
|
|
|
local function basic_element(name)
|
|
return function(params, children)
|
|
return "<"..name
|
|
..join(map(params, function(key, value)
|
|
return " "..key.."='"..value.."'"
|
|
end))
|
|
..">"
|
|
..join(children)
|
|
.."</"..name..">"
|
|
end
|
|
end
|
|
|
|
local function a(params, children)
|
|
if not params.href then
|
|
print("WARNING: Link `"..join(children).."` doesn't have a href.")
|
|
end
|
|
return basic_element("a")(params, children)
|
|
end
|
|
print(a({ href = "https://nulo.in" }, {"Hola, soy html.lua"}))
|