html_plus 0.14.0+1

  • Readme
  • Changelog
  • Installing
  • 45

This is a pure Dart HTML5 parser. It's a port of html5lib from Python.

Notice #

This is a fork of html that supports more selectors and fixes some bugs.

This module was created because the html project handles the pull request very slowly.

Usage #

Parsing HTML is easy!

import 'package:html_plus/parser.dart' show parse;
import 'package:html_plus/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.

0.14.0+1 #

  • Support package:css >=0.13.2 <0.16.0.

0.14.0 #


  • Drop support for encodings other than UTF-8 and ASCII.
  • Removed parser_console.dart library.

0.13.4+1 #

  • Fixes to readme and pubspec.

0.13.4 #

  • Require Dart 2.0 stable.

0.13.3+3 #

  • Do not use this tag in our systems - there was an earlier version of it pointing to a different commit, that is still in some caches.

  • Fix missing_return analyzer errors in processStartTag and processEndTag methods.

0.13.3+2 #

  • Set max SDK version to <3.0.0, and adjust other dependencies.

0.13.3+1 #

  • Updated SDK version to 2.0.0-dev.17.0

0.13.3 #

  • Update the signatures of FilteredElementList.indexOf and FilteredElementList.lastIndexOf to include type annotations.

0.13.2+2 #

  • Update signature for implementations of Iterable.singleWhere to include optional argument.

0.13.2+1 #

  • Changed the implementation of Set and List classes to use base classes from dart:collection.

0.13.2 #

  • Support the latest release of pkg/csslib.

0.13.1 #

  • Update Set.difference to take a Set

Use this package as a library

1. Depend on it

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

  html_plus: ^0.14.0+1

2. Install it

You can install packages from the command line:

with pub:

$ pub get

with Flutter:

$ flutter pub get

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

3. Import it

Now in your Dart code, you can use:

import 'package:html_plus/dom.dart';
import 'package:html_plus/dom_parsing.dart';
import 'package:html_plus/parser.dart';
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

We analyzed this package on Mar 30, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.1
  • pana: 0.13.6

Health suggestions

Fix lib/dom.dart. (-2.96 points)

Analysis of lib/dom.dart reported 6 hints, including:

line 226 col 31: DO use curly braces for all flow control structures.

line 707 col 37: DO use curly braces for all flow control structures.

line 724 col 28: DO use curly braces for all flow control structures.

line 760 col 47: DO use curly braces for all flow control structures.

line 781 col 37: DO use curly braces for all flow control structures.

Fix lib/dom_parsing.dart. (-0.50 points)

Analysis of lib/dom_parsing.dart reported 1 hint:

line 31 col 44: DO use curly braces for all flow control structures.

Fix lib/src/utils.dart. (-0.50 points)

Analysis of lib/src/utils.dart reported 1 hint:

line 68 col 34: DO use curly braces for all flow control structures.

Maintenance issues and suggestions

Support latest dependencies. (-10 points)

The version constraint in pubspec.yaml does not support the latest published versions for 1 dependency (csslib).

Maintain an example. (-10 points)

Create a short demo in the example/ directory to show how to use this package.

Common filename patterns include main.dart, example.dart, and html_plus.dart. Packages with multiple examples should provide example/

For more information see the pub package layout conventions.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0 <3.0.0
csslib >=0.13.2 <0.16.0 0.15.0 0.16.1
source_span >=1.0.0 <2.0.0 1.7.0
Transitive dependencies
charcode 1.1.3
collection 1.14.12
meta 1.1.8
term_glyph 1.1.0
Dev dependencies
path ^1.6.2 1.6.4
pedantic ^1.3.0
test ^1.3.0