navigate-hacker-news-comments
Navigate in the DOM of a Hacker News comments page.
Installation
npm install navigate-hacker-news-comments
Usage
We assume that you run this code on a Hacker News post (such as this one) or comments page (such as this one). In the following examples, we will use the test/hn-post.html
.
all comments
Let's find all comments, in the depth-first order in which they occur in the page:
const findComments = const comments = while true const done value: comment = commentsnext if done break console
findComments
is a generator function that walks the DOM step by step. It returns an iterator, so we can collect all comments using Array.from
:
const allComments = Arrayconsole
id: '23173572' parentId: '23172483' author: 'aazaa' age: '12 hours ago' text: '> ... Deno is (and always will be) a single…' level: 0 id: '23173707' parentId: '23173572' author: 'bgdam' age: '12 hours ago' text: 'See the thing about the sandbox…' level: 40 id: '23175634' parentId: '23173707' author: 'danShumway' age: '7 hours ago' text: `> That combined with the 'download…` level: 80
siblings
To find siblings (comments replying to the same parent) of a comment:
const findCommentElement findSiblings = const foo = const fooSiblings = Arraylength // 2
children
To find children of a comment:
const findChildren = const fooChildren = Arraylength // 4
Node.js
If you want to use this package in Node.js, use jsdom to emulate the DOM:
const readFileSync = const JSDOM = const post = const document = postwindow
Contributing
If you have a question or need support using navigate-hacker-news-comments
, please double-check your code and setup first. If you think you have found a bug or want to propose a feature, use the issues page.