Write code resembling elm-lang/html and serialize to either a string or actual HTML
This package copies the entire API of elm-lang/html, but adds 2 functions:
toHtml which serializes the resulting Html.String.Html msg node into a
Html.Html msg nodetoString which serializes the node into a String with optional indentationTwo caveats:
lazy nodes since those can't be expressed in Elmimport Html.String as Html exposing (Html)
import Html.String.Attributes as Attr
import Html.String.Events as Events
type Msg = Increment | Decrement
counter : Int -> Html Msg
counter count =
Html.div
[ Attr.classList [ ( "below-zero" = count < 0 ), ( "counter" = True ) ] ]
[ Html.button [ Events.onClick Decrement ] [ Html.text "-" ]
, Html.text <| toString count
, Html.button [ Events.onClick Increment ] [ Html.text "+" ]
]
counterAsString : String
counterAsString =
Html.toString 2 <| counter -5
{- Expected output:
<div class="below-zero counter">
<button>
-
</button>
-5
<button>
+
</button>
</div>
-}Yes.
br, img, etc.)False, and added as
boolean properties when True. I.e. selected True will result in
<someNode selected>.Made with ❤️ and licensed under BSD-3. Fork me and send me some pull-requests!