Ergonomic HTMX extensions for Elementary
import Elementary
import ElementaryHTMX
form(.hx.post("/items"), .hx.target("#list"), .hx.swap(.outerHTML)) {
input(.type(.text), .name("item"), .value("New Item"))
input(.type(.submit), .value("Add Item"))
}
div {
button(.hx.delete("items/\(item.id)")) { "❌" }
item.text
}
MyFragment(items: items)
.attributes(.hx.swapOOB(.outerHTML, "#list"))
Check out the Hummingbird example app.
Check out the Vapor example app.
The package brings the .hx
syntaxt to all HTMLElements
- providing a rich API for most HTMX attributes.
There is also a ElementaryHTMXSSE
module that adds the .sse
syntax for the Server Sent Events extensions.
- Add module for WebSockets extension
- Add module (or separate package?) for HTMX Request and Response headers
PRs welcome.