- Added support for using multimethods as tags in hiccup expressions
- Normalize spacing in style attr with multiple properties. Where before the generated style attr might have "\n" or " ", these are all now a simple " ", e.g. in-between multiple CSS properties.
- Add multimethod
convert-attr-value
to support custom rendering per attribute key - Add support for setting
lambdaisland.hiccup.kebab-prefixes
via a system property (comma or space separated) - Add HTMX extension prefixes to the default set:
hx-
,ws-
,sse-
- Add
wrap-render
, a middleware for rendering HTML with content negotiation
- Support custom attribute prefixes that use dashes
- bump garden
- switch to
com.lambdaisland/garden
- Fix rendering of classes specified in tags
-
Convert multi-word attributes to match Reagent + React's behaviour.
data-, aria-, and hx- attributes remain kebab-case. html and svg attributes that are kebab-case in those specs, are converted to kebab-case
BREAKING in some cases:
Previously: :tab-index -> "tab-index" "fontStyle" -> "fontStyle" :fontStyle -> "fontStyle"
Now: :tab-index -> "tabIndex" "fontStyle" -> "font-style" :fontStyle -> "font-style"
- Correctly handle boolean attributes (false values are removed rather than being set to "false")
- Initial implementation
- fragment support
- component support (fn? in first vector position)
- unsafe-html support