summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--html.lua85
-rw-r--r--init.lua2
-rw-r--r--prose.lua2
3 files changed, 2 insertions, 87 deletions
diff --git a/html.lua b/html.lua
deleted file mode 100644
index 532d606..0000000
--- a/html.lua
+++ /dev/null
@@ -1,85 +0,0 @@
-local function fmt_attrs(attrs)
- local function fmt_attr(k,v)
- if v == true then
- return k
- else
- if type(v) == "table" then v = table.concat(v," ") end
- return ('%s="%s"'):format(k,v)
- end
- end
-
- local o = ""
- for k,v in pairs(attrs) do
- o = o .. " " .. fmt_attr(k,v)
- end
- return o
-end
-
-local html
-local function fmt_tag(tag)
- local attrs = tag.attrs and fmt_attrs(tag.attrs) or ""
- local selfclosing = (tag.body == "")
- if selfclosing then
- return ("<%s%s/>"):format(tag.tname,attrs)
- else
- return ("<%s%s>%s</%s>"):format(tag.tname,attrs,html(tag.body),tag.tname)
- end
-end
-
-local function tag(tname, a1, a2)
- -- tag(tname,body) or tag(tname,attrs,body)
- local body, attrs
- if a2 then attrs=a1 body=a2 else attrs=nil body=a1 end
- return setmetatable({tag=true,tname=tname,attrs=attrs,body=body},{__tostring=fmt_tag})
-end
-
--- instead of tag('ul', {x, y, z})
--- you can do T.ul{ x, y, z}
-local T = setmetatable({}, {__index=function(_,tname)
- return function (...)
- return tag(tname, ...)
- end
-end})
-
-local function safe(s)
- -- marks s as safe, doesn't escape it
- assert(type(s) == "string","can only mark string as safe")
- return setmetatable({safe=true,s=s},{__tostring=function(x)return x.s end})
-end
-
-local function escape(s)
- s=s:gsub("&","&amp;")
- s=s:gsub("<","&lt;")
- s=s:gsub(">","&gt;")
- s=s:gsub('"',"&quot;")
- return safe(s)
-end
-
-
-html = function (x)
- if type(x) == "string" then
- return escape(x)
- elseif type(x) == "table" then
- if x.safe then
- -- safestr. already escaped
- return x
- elseif x.tag then
- -- it's a tag
- return safe( tostring(x) )
- else
- -- just a regular list
- local o = ""
- for _,item in ipairs(x) do
- o = o .. tostring(html(item))
- end
- return safe(o)
- end
- end
-end
-
-return {
- html = html,
- tag = tag,
- safe = safe,
- T = T,
-}
diff --git a/init.lua b/init.lua
index 6f09cb8..dbf37bc 100644
--- a/init.lua
+++ b/init.lua
@@ -1,4 +1,4 @@
-local html = require'garkup.html'
+local html = require'r.html'
local T = html.T
local prose = require'garkup.prose'
diff --git a/prose.lua b/prose.lua
index 83e6f5d..cada55a 100644
--- a/prose.lua
+++ b/prose.lua
@@ -1,4 +1,4 @@
-local html = require'garkup.html'
+local html = require'r.html'
local T = html.T
local extensions = {}