html5lib 0.12.1

This package has been renamed to 'html'.

Future releases of this package will happen in the html package.

To continue using html5lib without deprecation warnings, change your pubspec to depend on html5lib: '<=0.12.0'.

See the html package for details.

html5lib in Pure 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.


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

  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="">HTML5 rocks!');

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

# From Dart SVN checkout
./tools/ -m release
./tools/ -m release html5lib
./tools/ -m release -r drt html5lib


This file contains highlights of what changes on each version of the html5lib package.

Pub version 0.12.0

  • switch from source_maps' Span class to source_span's SourceSpan class.

Pub version 0.11.0+2

  • expand the version constraint for csslib.

Pub version 0.10.0+1

  • use a more recent source_maps version.

Pub version 0.10.0

  • fix how document fragments are added in NodeList.add/addAll/insertAll.

Pub version 0.9.2-dev

  • add Node.text, Node.append, Document.documentElement
  • add, deprecate Node.value and Text.value.
  • deprecate Node.$dom_nodeType
  • added querySelector/querySelectorAll, deprecated query/queryAll. This matches the current APIs in dart:html.

1. Depend on it

Add this to your package's pubspec.yaml file:

  html5lib: "^0.12.1"

2. Install it

You can install packages from the command line:

$ pub get

Alternatively, your editor might support 'pub get'. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:html5lib/dom.dart';
import 'package:html5lib/dom_parsing.dart';
import 'package:html5lib/parser.dart';
import 'package:html5lib/parser_console.dart';



(renamed to "package:html")


Email Dart Team





Mar 20, 2015