Skip to content

Commit 3a31b45

Browse files
committed
Add raw api
1 parent 08605fa commit 3a31b45

File tree

3 files changed

+24
-65
lines changed

3 files changed

+24
-65
lines changed

README.md

Lines changed: 12 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -126,37 +126,6 @@ function export.declare_generator(func)
126126

127127
Allows you to create a function in which the `_ENV` is overloaded with the `xml` table. This allows you to write XML more concisely (see example above).
128128

129-
### `xml_gen.html_table`
130-
```lua
131-
---@generic TKey, TValue
132-
---@param tbl { [TKey] : TValue },
133-
---@param order TKey[]?
134-
---@param classes { table: string?, tr: string?, td: string? }?
135-
---@return XML.Node
136-
function export.html_table(tbl, order, classes)
137-
```
138-
139-
Creates an HTML table based off a lua table. This is unstyled, so you will need to add your own CSS.
140-
141-
```lua
142-
143-
local my_table = {
144-
key = "value",
145-
sub = {
146-
key = "value",
147-
}
148-
}
149-
150-
local tbl = xml_gen.html_table(my_table, { "key", "sub" }, {
151-
table = "my-table",
152-
tr = "my-table-row",
153-
td = "my-table-cell",
154-
})
155-
156-
print(tbl)
157-
158-
```
159-
160129
### `xml_gen.style`
161130
```lua
162131
---@param css { [string | string[]] : { [string | string[]] : (number | string | string[]) } }
@@ -186,6 +155,18 @@ local style = xml_gen.style {
186155
print(style)
187156
```
188157

158+
### `xml_gen.raw`
159+
```lua
160+
---WILL NOT BE SANITIZED
161+
---@param ... string
162+
---@return string[]
163+
function export.raw(...) end
164+
```
165+
166+
Inserts raw (NOT SANITIZED) strings into the document.
167+
168+
```lua
169+
189170
## API
190171

191172
You do not need to generate XML with this library, instead, you can use an `XML.Node` as its own object.

test.lua

Lines changed: 7 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -15,40 +15,13 @@ local doc = xml.html {charset="utf-8", lang="en"} {
1515
end
1616
end
1717
}
18-
}
18+
};
19+
20+
xml_gen.raw [[
21+
<script>
22+
console.log("Hello, World!");
23+
</script>
24+
]]
1925
}
2026

2127
print(doc)
22-
23-
-- local my_table = {
24-
-- key = "value",
25-
-- sub = {
26-
-- key = "value",
27-
-- }
28-
-- }
29-
30-
-- local tbl = xml_gen.html_table(my_table, { "key", "sub" }, {
31-
-- table = "my-table",
32-
-- tr = "my-table-row",
33-
-- td = "my-table-cell",
34-
-- })
35-
36-
-- print(tbl)
37-
38-
-- local xml_gen = require("xml-generator")
39-
40-
-- local style = xml_gen.style {
41-
-- [{ "body", "html" }] = {
42-
-- margin = 0,
43-
-- padding = 0,
44-
-- },
45-
46-
-- body = {
47-
-- background = "#000",
48-
-- color = "#fff",
49-
-- }
50-
51-
-- --etc
52-
-- }
53-
54-
-- print(style)

xml-generator.lua

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,4 +322,9 @@ function export.namespace(ns, sep)
322322
})
323323
end
324324

325+
---WILL NOT BE SANITIZED
326+
---@param ... string
327+
---@return string[]
328+
function export.raw(...) return stringable_array { ... } end
329+
325330
return export

0 commit comments

Comments
 (0)