packages feed

miso-from-html-0.3.0.0: README.md

🍜 miso-from-html
===================
Use [live](https://miso-from-html.haskell-miso.org) from your browser.

Convert HTML into [miso](https://github.com/dmjio/miso) `View` syntax.

### Usage

Given some HTML

```html
<nav class="navbar" role="navigation">
  <div class="navbar-brand">
    <a class="navbar-item" href="https://bulma.io">
      <img src="https://bulma.io/images/bulma-logo.png" width="112" height="28" />
      <a>ok<p>hey</p></a>
    </a>
  </div>
</nav>
```

Convert it to [miso](https://github.com/dmjio/miso) `View` syntax.

```bash
$ cabal run miso-from-html < index.html
```

Result

```haskell
nav_
    [ class_ "navbar"
    , role_ "navigation"
    ]
    [ div_ [ class_ "navbar-brand" ]
	[ a_
	    [ class_ "navbar-item"
	    , href_ "https://bulma.io"
	    ]
	    [ img_
		[ src_ "https://bulma.io/images/bulma-logo.png"
		, width_ "112"
		, height_ "28"
		]
	    , a_ []
		[ "ok"
		, p_ [][ "hey" ]
		]
	    ]
	]
    ]
```

### Limitations

Currently operates on a single top-level node, not on a list of nodes.

This is invalid since there is no single top-level parent node.

```html
<div>
    foo
</div>
<div>
   bar
</div>
```

This is valid

```html
<div>
  <div>
      foo
  </div>
  <div>
     bar
  </div>
</div>
```

Also, if your HTML isn't parsing, make sure it's valid.

When in doubt, check the [W3C validation service](https://validator.w3.org/#validate_by_input).

### Test

```bash
nix develop --command bash -c cabal run < index.html'
```