html5lib 0.0.12

  • README.md
  • Installing
  • Versions
  • 26

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 or the server.

Installation

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

Usage

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.

Updating

You can upgrade the library with:

pub update

Disclaimer: the APIs are not finished. Updating may break your code. If that happens, you can check the commit log, to figure out what the change was.

If you want to avoid breakage, you can also put the version constraint in your pubspec.yaml in place of the word any.

Implementation Status

Right now the tokenizer, html5parser, and simpletree are working.

These files from the html5lib directory still need to be ported:

  • ihatexml.py
  • sanitizer.py
  • filters/*
  • serializer/*
  • some of treebuilders/*
  • treewalkers/*
  • the tests corresponding to the above files

Running Tests

All tests should be passing.

# Make sure dependencies are installed
pub install

# Run command line tests
#export DART_SDK=path/to/dart/sdk
test/run.sh

Use this package as a library

1. Depend on it

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


dependencies:
  html5lib: ^0.0.12

2. Install it

You can install packages from the command line:

with pub:


$ 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_io.dart';
  
Version Uploaded Documentation Archive
0.12.1 Mar 20, 2015 Go to the documentation of html5lib 0.12.1 Download html5lib 0.12.1 archive
0.12.0+2 Mar 20, 2015 Go to the documentation of html5lib 0.12.0+2 Download html5lib 0.12.0+2 archive
0.12.0+1 Mar 19, 2015 Go to the documentation of html5lib 0.12.0+1 Download html5lib 0.12.0+1 archive
0.12.0 Jul 30, 2014 Go to the documentation of html5lib 0.12.0 Download html5lib 0.12.0 archive
0.11.0+2 Jul 30, 2014 Go to the documentation of html5lib 0.11.0+2 Download html5lib 0.11.0+2 archive
0.11.0+1 May 28, 2014 Go to the documentation of html5lib 0.11.0+1 Download html5lib 0.11.0+1 archive
0.11.0 May 23, 2014 Go to the documentation of html5lib 0.11.0 Download html5lib 0.11.0 archive
0.10.0 Apr 4, 2014 Go to the documentation of html5lib 0.10.0 Download html5lib 0.10.0 archive
0.9.2 Feb 28, 2014 Go to the documentation of html5lib 0.9.2 Download html5lib 0.9.2 archive
0.9.1 Nov 22, 2013 Go to the documentation of html5lib 0.9.1 Download html5lib 0.9.1 archive

All 76 versions...

Popularity:
Describes how popular the package is relative to other packages. [more]
53
Health:
Code health derived from static analysis. [more]
--
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
--
Overall:
Weighted score of the above. [more]
26
Learn more about scoring.

This package is not analyzed, because it is discontinued.

This package version is not analyzed, because it is more than two years old. Check the latest stable version for its analysis.

Maintenance issues and suggestions

Running dartdoc failed. (-10 points)

Make sure dartdoc runs without any issues.