Htmx/htmlact web development approach

I never know what people mean by “heavy” :slight_smile:

But yes, I did use the regular tyxml ppx for a while when I first started using dream, and have tried it 2-3 times since. It’s totally fine, the language support is great (again, not a fan of reason as a whole, and ocamllsp sees everything it needs to within the ppx expressions), but editing HTML within strings interleaved with not-strings is really very cumbersome. Doubly so when copy-pasting HTML snippets from e.g. design tools, which then need to be laboriously split into N strings to accommodate the necessary antiquotations, etc.

I think I suggested on discord some weeks back an addition to the ppx to support interpolation of values via some notation within the HTML, e.g. instead of:

let page =
  let title = Html.txt "title" in
  let eid = "summary" in
  [%html "<h1>" [ title ] "</h1><p id=" eid ">content</p>"]

Something like this would IMO yield something at least as pleasant to edit as EML or JSX:

let page =
  let title = Html.txt "title" in
  let eid = "summary" in
  [%html {|<h1>{[title]}</h1><p id={eid}>content</p>|}]

…and then for bonus points, it should be relatively straightforward to convince vscode/merlin to syntax-highlight and format the now-unitary %html strings. It’s on my TODO list, though tbh I probably won’t be panic-motivated until refmt breaks (more).