├── .travis.yml ├── .gitignore ├── elm.json ├── README.md ├── src └── Html │ ├── Parser │ ├── Util.elm │ └── NamedCharacterReferences.elm │ └── Parser.elm ├── LICENSE ├── CHANGELOG.md └── tests └── Main.elm /.travis.yml: -------------------------------------------------------------------------------- 1 | language: elm 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | elm-stuff/ 2 | node_modules/ 3 | package.json 4 | yarn.lock 5 | -------------------------------------------------------------------------------- /elm.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "package", 3 | "name": "hecrj/html-parser", 4 | "summary": "Parse HTML 5 in Elm", 5 | "license": "BSD-3-Clause", 6 | "version": "2.4.0", 7 | "exposed-modules": [ 8 | "Html.Parser", 9 | "Html.Parser.Util" 10 | ], 11 | "elm-version": "0.19.0 <= v < 0.20.0", 12 | "dependencies": { 13 | "elm/core": "1.0.0 <= v < 2.0.0", 14 | "elm/html": "1.0.0 <= v < 2.0.0", 15 | "elm/parser": "1.0.0 <= v < 2.0.0", 16 | "elm/virtual-dom": "1.0.2 <= v < 2.0.0", 17 | "rtfeldman/elm-hex": "1.0.0 <= v < 2.0.0" 18 | }, 19 | "test-dependencies": { 20 | "elm-explorations/test": "1.0.0 <= v < 2.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # html-parser [![Build Status](https://travis-ci.org/hecrj/html-parser.svg?branch=master)](https://travis-ci.org/hecrj/html-parser) 2 | 3 | Parse HTML 5 in Elm 0.19! 4 | 5 | ```elm 6 | import Html.Parser 7 | 8 | Html.Parser.run "

Hello, world!

" 9 | -- => Ok [ Element "div" [] [ Element "p" [] [ Text "Hello, world!" ] ] ] 10 | ``` 11 | 12 | ## Limitations 13 | * `""" (Element "script" [] [])) 190 | , test "script2" (testParse """""" (Element "script" [] [])) 191 | , test "script3" (testParse """""" (Element "script" [ ( "src", "script.js" ) ] [ Text "foo" ])) 192 | , test "script4" (testParse """""" (Element "script" [] [ Text "var a = 0 < 1; b = 1 > 0;" ])) 193 | , test "script5" (testParse """""" (Element "script" [] [ Comment "" ])) 194 | , test "script6" (testParse """""" (Element "script" [] [ Text "a", Comment "