html_of_jsx
Render HTML with JSX
html_of_jsx is a JSX transformation to write HTML declaratively in OCaml, Reason and mlx.
This library was extracted from server-reason-react and later simplified to work only with HTML5.
Installation
opam install html_of_jsx
Add it to your dune file
(libraries html_of_jsx)
(preprocess (pps html_of_jsx.ppx))
API
The only module exposed is JSX
with some functions to construct elements and JSX.render
to transform those elements into a string.
Overview
- Brings the component model to HTML
- Supports most of the JSX features (uppercase components, fragments, optional attributes, punning, childrens, etc...)
- but with a few improvements (lowercase components, no need to add ppx annotations)
- Integrates well with Htmx and others (see the
htmx
page) - No React idioms (no
className
, no htmlFor
, no onChange
, etc...), just plain HTML5 - Type-safe, validates attributes and their types
- Works with OCaml, Reason and mlx
See the features
page for all details