docs » cp.web.html
Functions for Generating HTML markup.
This library allows the creation of 'safe' HTML using via code.
Examples:
local html = require "cp.web.html"
print html.p "Hello world!" -- "<p>Hello world!</p>"
print html.p { class = "custom" } "Hello world!" -- "<p class='custom'>Hello world!</p>"
print html.p { class = "custom" } (
html.b "Bold" .. " and " .. html.i "italic" .. "."
)
-- "<p class='custom'><b>Bold</b> and <i>italic</i>.</p>"
print html("1 < 2") -- "1 < 2" (escaped)
print html("1 < 2", true) -- "1 < 2" (unescaped)
print html.p ("<b>bold</b>", true) -- "<p><b>bold</b></p>"Be aware that concatonating with ".." can behave unexpectedly in some cases. For example:
local name = "world!"
print html.p "Hello " .. name -- "<p>Hello </p>world!"The "Hello" gets inserted into the p tag, but the name gets concatonated after the closing tag.
To get the name inside the p tag, we need to put brackets around the content:
print html.p ("Hello " .. name) -- "<p>Hello world!</p>"Any tag name can be generated, along with any attribute. The results are correctly escaped. There are two 'special' tag names:
CDATA- will generate a<![CDATA[ ... ]]>section with the content contained.__- (double underscore) will generate a<!-- ... -->comment block.
- Functions - API calls offered directly by the extension
- is
- Methods - API calls which can only be made on an object returned by a constructor
- append
- prepend
| Signature | cp.web.html.is(value) -> boolean |
|---|---|
| Type | Function |
| Description | Checks if the value is an cp.web.html block. |
| Parameters |
|
| Returns |
|
| Signature | cp.web.html:append(newContent[, escaped]) -> self |
|---|---|
| Type | Method |
| Description | Appends the content. If specified, the escaped value will override any default escaping for the content type. |
| Parameters |
|
| Returns |
|
| Notes |
|
| Signature | cp.web.html:prepend(newContent[, escaped]) -> self |
|---|---|
| Type | Method |
| Description | Prepends the content. If specified, the escaped value will override any default escaping for the content type. |
| Parameters |
|
| Returns |
|
| Notes |
|