npm install h5o!Supported: phantom.js v1.9
!Supported: jsdom v3.x
!Supported: jsdom v4.x

h5o is an implementation of the HTML5 outline algorithm in JavaScript. Specifications:
* W3C Recommendation 28 October 2014
* WHATWG Living Standard
If you like this tool, please consider a charitable donation to Ocean Voyages Institute (Project Kaisei).
npm install h5o (as of 2015, you should not be using any other way of managing your JS dependencies, but
you can still download latest release)
* Use the UMD module available in dist/outliner.min.js with a fallback to global HTML5Outline or
var HTML5Outline = require('h5o') in node or browserify
* var outline = HTML5Outline(startFrom) (you likely want startFrom to be document.body). Returned value is an outline object, with sections.
* outline.asHTML( [ options | createLinks ]) to get HTML with an ordered list.
- If options.createLinks (or createLinks) is true, the DOM will be amended with IDs and the list will contain links for navigation.
- If options.skipToHeader is true, the outline HTML will only include the sub-sections of the first section in
the outline (which is usually the body), i.e. it will only contain the sections of the documents, skipping
the title of the whole document.
Visit https://h5o.github.io/ for the Chrome extension and bookmarklet.
node or iojs (includes npm)npm install -g grunt-clinpm install in your local clone of this repogrunt testjsdom and jsdom-compatRun grunt watch
* Will watch for file changes and rebuild/run tests automatically
getHeadingElementRank into getRankingHeadingElement and getRankSection no longer has asHTML (out of scope)Outline is not a separate object of its owngetSectionHeadingRank cleanupjsdom v4.x and v3.x via jsdom-compatnavfirst, issue-13. Issue #13 was partly invalid.hgroup without any h1-h6 insidegrunt start-dev in favor a simpler grunt watch.grunt folderjsdomgrunt