blob: 27db3ceac2b245ae3fa8cc0566d8312544db8afd [file] [log] [blame] [view]
html5 parser in dart
====================
This is a pure [Dart][dart] [html5 parser][html5parse]. It's a port of
[html5lib](https://github.com/html5lib/html5lib-python) from Python. Since it's 100%
Dart you can use it safely from a script or server side app.
Eventually the parse tree API will be compatible with [dart:html][d_html], so
the same code will work on the client and the server.
(Formerly known as _html5lib_.)
Installation
------------
Add this to your `pubspec.yaml` (or create it):
```yaml
dependencies:
html: any
```
Then run the [Pub Package Manager][pub] (comes with the Dart SDK):
pub install
Usage
-----
Parsing HTML is easy!
```dart
import 'package:html/parser.dart' show parse;
import 'package:html/dom.dart';
main() {
var document = parse(
'<body>Hello world! <a href="www.html5rocks.com">HTML5 rocks!');
print(document.outerHtml);
}
```
You can pass a String or list of bytes to `parse`.
There's also `parseFragment` for parsing a document fragment, and `HtmlParser`
if you want more low level control.
Running Tests
-------------
```bash
./test/run.sh
```
[dart]: http://www.dartlang.org/
[html5parse]: http://dev.w3.org/html5/spec/parsing.html
[d_html]: http://api.dartlang.org/docs/continuous/dart_html.html
[files]: http://html5lib.googlecode.com/hg/python/html5lib/
[pub]: http://www.dartlang.org/docs/pub-package-manager/