Thanks guys!
I have a use case where a request reads html from a database and before rendering I need to do some changes on the html string. In my case the html is quite large and the changes are quite extensive.
The idea for ModestEx is to implement a set of features that just do transformations on a html string. Each transformation feature will be done in C.
Something like:
result ModestEx.find("<p><a>Hello</a> World</p>", "p a")
|> ModestEx.attribute("href", "https://elixir-lang.org")
will return:
{:ok, "<a href=\"https://elixir-lang.org\">Hello</a>"}
… ready to render in a template.
Or you could also serialize it:
ModestEx.serialize(result)
and return:
{:ok, "<html><head></head><body><a href=\"https://elixir-lang.org\">Hello</a></body></html>"}
Which is already a (more or less) valid page!
Of course, if you need further decoding htmlex, floki or Meeseeks are great!
I see ModestEx as a useful addition to the landscape of html tools in Elixir.






















