Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A Javascript implementation of the HTML outline algorithm

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 HTMLOutliner.js
Octocat-spinner-32 README.markdown
Octocat-spinner-32 bookmarklet-minified.js
Octocat-spinner-32 bookmarklet.js
README.markdown

HTMLOutliner.js

A Javascript implementation of the HTML outline algorithm.

This script provides the function

void HTMLOutline(Node root);

and defines a new object type Section implementing the concept of HTML section. A section has the following properties:

  • parentSection is the parent section if any, null otherwise;
  • childSections is the array of subsections;
  • explicit is a boolean indicating whether the section is an explicit section, i.e., corresponds to a sectioning element;
  • heading is the heading of the section: it can be a heading content element or null if the section has an implied heading;
  • associatedNodes is the array of all DOM nodes that are associated with the section, in algorithm order (in particular, associatedNodes[0] is a sectioning element for explicit sections).

The function HTMLOutline adds several properties to the nodes in the DOM subtree of root:

  • associatedSection is the section associated with a node if any, null otherwise;
  • parentSection is the parent section of a sectioning root if any, null otherwise (this is defined in the outline algorithm);
  • sectionList is the outline of a sectioning element, i.e., the list of its top-level sections;
  • text is the text of a heading content element;
  • rank is the rank of a heading content element (an integer between -6 and -1);
  • depth is the outline depth of a heading content element which is associated with a section.

License

WTFPL-2.0

Something went wrong with that request. Please try again.