transform streaming html using css selectors


The cornet is a brass instrument very similar to the trumpet, distinguished by its conical bore, compact shape, and mellower tone quality. - Wikipedia

This project is demonstrating how to use a couple of my libraries to replace substack/node-trumpet in just a couple of LOC.

Even better, there are some advantages over trumpet:

  • The ammount of usable CSS selectors is increased dramatically thanks to fb55/CSSselect.
  • cornet uses fb55/htmlparser2, which is probably the fastest HTML parser currently available for node. And it's much less strict than the sax module used by trumpet.
  • By using the great MatthewMueller/cheerio module, you can do everything with your document that would be possible with jQuery.


var Parser = require("htmlparser2").WritableStream,
    Cornet = require("cornet"),
    minreq = require("minreq"),
    $ = require("cheerio");
var cornet = new Cornet();
minreq.get("").pipe(new Parser(cornet));
cornet.remove("script"); //remove all scripts 
//show all repos".repo_list", function(elem){
        console.log("repo %d: %s", i, $(this).text());