A ClojureScript implementation of Hiccup that generates DOM nodes instead of HTML strings.
Crate is a ClojureScript implementation of the Hiccup HTML templating library that generates DOM nodes instead of HTML strings. It allows developers to write HTML structures using Clojure data structures and directly manipulate the DOM in client-side web applications. The library provides a functional approach to building user interfaces by transforming data structures into browser-ready DOM elements.
ClojureScript developers building client-side web applications who want a Hiccup-style templating solution that works directly with the DOM. It's particularly useful for developers familiar with Hiccup who need browser-compatible DOM generation.
Developers choose Crate because it brings Hiccup's elegant templating syntax to ClojureScript with native DOM node generation, eliminating the need for string-to-DOM conversion. Its direct DOM output and support for partial templates make it efficient for building dynamic web interfaces in a functional programming style.
A ClojureScript implementation of Hiccup
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Returns actual DOM nodes as shown in the README, eliminating the overhead of string-to-DOM conversion and enabling immediate browser manipulation.
Uses vectors and maps identical to the server-side Hiccup library, making it intuitive for Clojure developers transitioning to client-side work.
defpartial macro allows defining composable partials, as demonstrated in the usage example for creating header elements.
raw function enables inclusion of existing HTML strings within generated DOM, providing flexibility for mixed content scenarios.
Only handles basic DOM generation; lacks built-in support for events, state management, or reactivity, requiring manual integration with other libraries.
Last updated in 2011 per the README, which may lead to compatibility issues with newer ClojureScript versions or browser APIs.
README provides only basic examples without comprehensive API references, tutorials, or advanced usage guides.
Niche library with fewer users and resources, resulting in scarce community support, plugins, or third-party integrations.