html_of_jsx

A ppx transformation and a library to write HTML in OCaml, Reason and mlx.

Features

Installation

opam install html_of_jsx -y
(libraries html_of_jsx)
(preprocess (pps html_of_jsx.ppx))

See Getting started for dune package manager, opam pin, and syntax setup.

Usage

let element: JSX.element =
  <a href="https://x.com/davesnx">
    <span> (JSX.string "Click me!") </span>
  </a>

let html: string = JSX.render element
(* <a href="https://x.com/davesnx"><span>Click me!</span></a> *)
let element: JSX.element =
  <a href="https://x.com/davesnx">
    <span> {JSX.string("Click me!")} </span>
  </a>;

let html: string = JSX.render(element);
/* <a href="https://x.com/davesnx"><span>Click me!</span></a> */

See Core API for elements, children, components, and rendering.

Credits

This library was extracted from server-reason-react and later simplified to work only with HTML5.

Documentation