commit | 3a35bfce365ec36e24eeb4494c4b453a06610b8a | [log] [tgz] |
---|---|---|
author | lrn@google.com <lrn@google.com> | Fri Jun 13 09:40:22 2014 +0000 |
committer | lrn@google.com <lrn@google.com> | Fri Jun 13 09:40:22 2014 +0000 |
tree | a7d4e7f8823a9470c75bd2b842614763a776f142 | |
parent | e076b4f96619137c82e3a05ba217d3fa9c569930 [diff] |
Revert "Add "last" setter to List." After discussion, we decided not to change the List interface for something that is just a convenience. Also revert "Mark pkgbuild/pkg/collection as failing when using repository packages" R=sgjesse@google.com Review URL: https://codereview.chromium.org//331833003 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart/pkg/third_party/html5lib@37307 260f80e4-7a28-3924-810f-c04153c831b5
This is a pure Dart html5 parser. It‘s a port of html5lib 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, so the same code will work on the client and the server.
Add this to your pubspec.yaml
(or create it):
dependencies: html5lib: any
Then run the Pub Package Manager (comes with the Dart SDK):
pub install
Parsing HTML is easy!
import 'package:html5lib/parser.dart' show parse; import 'package:html5lib/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.
# From Dart SVN checkout ./tools/build.py -m release ./tools/test.py -m release html5lib ./tools/test.py -m release -r drt html5lib