package html_of_jsx
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Render HTML with JSX
Install
dune-project
Dependency
Authors
Maintainers
Sources
html_of_jsx-0.0.7.tbz
sha256=83b5437638815bb3d9c152a31f2125fda1989d6fc7d86774fbbfa4c90d0d8ea8
sha512=8c1f72403083b714beac9bf0676e0e3d2fef7a7b6891a9ae9d40487ac6aa85e53fc80566be39b1623c94678c957b6da8c772fe36ccc5e8d3a9a74bb5d471fe93
doc/README.html

Render HTML with JSX
html_of_jsx is a JSX transformation and a library to write HTML in OCaml, Reason and mlx.
Features
- Brings the "component model" to HTML
- Supports all of the Reason's JSX features (uppercase components, fragments, optional attributes, punning)
- but with a few improvements (lowercase components, no need to add the ppx annotation)
- No React idioms (no
className, nohtmlFor, noonChange, etc...) - Integrates well with htmx
- Type-safe, validates attributes and their types (it can be better thought)
- Works with OCaml, Reason and mlx
Minimal
JSX.renderto render a JSX element to a HTML stringJSX.*to construct DOM Elements and DOM nodes (JSX.string,JSX.int,JSX.null,JSX.listandJSX.unsafe)
- Designed to work on the server, but can be used on the client-side as well (with Melange or jsoo)
Installation
opam install html_of_jsx(libraries html_of_jsx)
(preprocess (pps html_of_jsx.ppx))Usage
let element: JSX.element = <a href="https://x.com/davesnx">
<span> {"Click me!"} </span>
</a>
let html: string = JSX.render(element);Check the demo/server.re file to see a full example.
Documentation
Check the Documentation to know more about the API and features.
Credits
This library was extracted from server-reason-react and later simplified to work only with HTML5.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>