package html_of_jsx
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=d1a36abcbebd23adfaffe9eed27e69045c1e112da17bfebc385355d2a64f1fb7
sha512=bee674151f2ab6fba41acc1234118b5eca5379aedab2907da517bdeb604ddd02807519b9b29b4eea09595ced9936300b9a6ebf16c9edd92d959151daab4e7a96
Description
Published: 12 Feb 2024
README
html_of_jsx
html_of_jsx is an implementation of JSX designed to render HTML on the server, without React or anything else. It's a minimal library that allows you to write components of HTML in a declarative way.
Supports most of features from JSX (uppercase components, fragments, optional attributes, punning)
but with a few improvements (lowercase components, no need to add annotations)
No React idioms (no
className
, nohtmlFor
, noonChange
, etc...)Type-safe, validates attributes and their types (it can be better thought)
Minimal
Html_of_jsx.render
to render an element to HTMLJsx.*
to construct DOM Elements and DOM nodes (Jsx.text
,Jsx.int
,Jsx.null
,Jsx.list
)
Installation
opam pin add html_of_jsx git+https://github.com/davesnx/html_of_jsx
+ (library html_of_jsx.lib)
+ (preprocess (pps html_of_jsx.ppx))
Usage
let element = <a href="https://x.com/davesnx">
<span> {"Click me!"} </span>
</a>
let html: string = Html_of_jsx.render(element);
Check the demo/server.re file to see a full example with a tiny HTTP server.
Documentation
Check the Documentation to know more about the API and the features.
Credits
This library is extracted from server-reason-react and simplified to just work with HTML5.
Dev Dependencies (5)
-
tiny_httpd
with-test
-
ocaml-lsp-server
with-test
-
ocamlformat
= "0.26.1" & with-test
-
odoc
with-doc
-
alcotest
with-test
Used by (1)
-
dream
>= "1.0.0~alpha7"
Conflicts
None