Dart port of html5lib. For parsing HTML/HTML5 with Dart. Works in the client and on the server.
Dart HTML Shell
Latest commit f6fac71 Dec 8, 2016 @keertip keertip Strong mode fixes for package
BUG=
R=kevmoo@google.com

Review URL: https://codereview.chromium.org//2560823004 .
Permalink
Failed to load latest commit information.
lib Strong mode fixes for package Dec 8, 2016
test
.analysis_options Make package:html strong clean May 11, 2016
.gitignore
.status
CHANGELOG.md Update Set.difference signature for 1.21.0-dev.2.0 (#43) Oct 24, 2016
LICENSE
README.md
codereview.settings
pubspec.yaml Update Set.difference signature for 1.21.0-dev.2.0 (#43) Oct 24, 2016

README.md

html5 parser in dart

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.

(Formerly known as html5lib.)

Installation

Add this to your pubspec.yaml (or create it):

dependencies:
  html: any

Then run the Pub Package Manager (comes with the Dart SDK):

pub install

Usage

Parsing HTML is easy!

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

./test/run.sh