mirror of https://gitee.com/bigwinds/arangodb
76 lines
5.5 KiB
JSON
76 lines
5.5 KiB
JSON
{
|
|
"name": "htmlparser2",
|
|
"description": "Fast & forgiving HTML/XML/RSS parser",
|
|
"version": "3.7.2",
|
|
"author": {
|
|
"name": "Felix Boehm",
|
|
"email": "me@feedic.com"
|
|
},
|
|
"keywords": [
|
|
"html",
|
|
"parser",
|
|
"streams",
|
|
"xml",
|
|
"dom",
|
|
"rss",
|
|
"feed",
|
|
"atom"
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git://github.com/fb55/htmlparser2.git"
|
|
},
|
|
"bugs": {
|
|
"url": "http://github.com/fb55/htmlparser2/issues"
|
|
},
|
|
"directories": {
|
|
"lib": "lib/"
|
|
},
|
|
"main": "lib/index.js",
|
|
"scripts": {
|
|
"lcov": "istanbul cover _mocha --report lcovonly -- -R spec",
|
|
"coveralls": "npm run lint && npm run lcov && (cat coverage/lcov.info | coveralls || exit 0)",
|
|
"test": "mocha && npm run lint",
|
|
"lint": "jshint {lib,test}/*.js test/*/*.js"
|
|
},
|
|
"dependencies": {
|
|
"domhandler": "2.2",
|
|
"domutils": "1.5",
|
|
"domelementtype": "1",
|
|
"readable-stream": "1.1",
|
|
"entities": "1.0"
|
|
},
|
|
"devDependencies": {
|
|
"mocha": "1",
|
|
"mocha-lcov-reporter": "*",
|
|
"coveralls": "*",
|
|
"istanbul": "*",
|
|
"jshint": "2"
|
|
},
|
|
"license": "MIT",
|
|
"jshintConfig": {
|
|
"eqeqeq": true,
|
|
"freeze": true,
|
|
"latedef": "nofunc",
|
|
"noarg": true,
|
|
"nonbsp": true,
|
|
"quotmark": "double",
|
|
"undef": true,
|
|
"unused": true,
|
|
"trailing": true,
|
|
"eqnull": true,
|
|
"proto": true,
|
|
"smarttabs": true,
|
|
"node": true,
|
|
"globals": {
|
|
"describe": true,
|
|
"it": true
|
|
}
|
|
},
|
|
"readme": "#htmlparser2 [](https://npmjs.org/package/htmlparser2) [](https://npmjs.org/package/htmlparser2)\n\n[](http://travis-ci.org/fb55/htmlparser2) [](https://coveralls.io/r/fb55/htmlparser2)\n\nA forgiving HTML/XML/RSS parser written in JS for NodeJS. The parser can handle streams (chunked data) and supports custom handlers for writing custom DOMs/output.\n\n##Installing\n\tnpm install htmlparser2\n\t\nA live demo of htmlparser2 is available at http://demos.forbeslindesay.co.uk/htmlparser2/\n\n##Usage\n\n```javascript\nvar htmlparser = require(\"htmlparser2\");\nvar parser = new htmlparser.Parser({\n\tonopentag: function(name, attribs){\n\t\tif(name === \"script\" && attribs.type === \"text/javascript\"){\n\t\t\tconsole.log(\"JS! Hooray!\");\n\t\t}\n\t},\n\tontext: function(text){\n\t\tconsole.log(\"-->\", text);\n\t},\n\tonclosetag: function(tagname){\n\t\tif(tagname === \"script\"){\n\t\t\tconsole.log(\"That's it?!\");\n\t\t}\n\t}\n});\nparser.write(\"Xyz <script type='text/javascript'>var foo = '<<bar>>';</ script>\");\nparser.end();\n```\n\nOutput (simplified):\n\n```javascript\n--> Xyz \nJS! Hooray!\n--> var foo = '<<bar>>';\nThat's it?!\n```\n\nRead more about the parser in the [wiki](https://github.com/fb55/htmlparser2/wiki/Parser-options).\n\n##Get a DOM\nThe `DomHandler` (known as `DefaultHandler` in the original `htmlparser` module) produces a DOM (document object model) that can be manipulated using the [`DomUtils`](https://github.com/fb55/DomUtils) helper.\n\nThe `DomHandler`, while still bundled with this module, was moved to its [own module](https://github.com/fb55/domhandler). Have a look at it for further information.\n\n##Parsing RSS/RDF/Atom Feeds\n\n```javascript\nnew htmlparser.FeedHandler(function(<error> error, <object> feed){\n ...\n});\n```\n\n##Performance\n\nAfter having some artificial benchmarks for some time, __@AndreasMadsen__ published his [`htmlparser-benchmark`](https://github.com/AndreasMadsen/htmlparser-benchmark), which benchmarks HTML parses based on real-world websites.\n\nAt the time of writing, the latest versions of all supported parsers show the following performance characteristics on [Travis CI](https://travis-ci.org/AndreasMadsen/htmlparser-benchmark/builds/10805007) (please note that Travis doesn't guarantee equal conditions for all tests):\n\n```\ngumbo-parser : 34.9208 ms/file ± 21.4238\nhtml-parser : 24.8224 ms/file ± 15.8703\nhtml5 : 419.597 ms/file ± 264.265\nhtmlparser : 60.0722 ms/file ± 384.844\nhtmlparser2-dom: 12.0749 ms/file ± 6.49474\nhtmlparser2 : 7.49130 ms/file ± 5.74368\nhubbub : 30.4980 ms/file ± 16.4682\nlibxmljs : 14.1338 ms/file ± 18.6541\nparse5 : 22.0439 ms/file ± 15.3743\nsax : 49.6513 ms/file ± 26.6032\n```\n\n##How is this different from [node-htmlparser](https://github.com/tautologistics/node-htmlparser)?\nThis is a fork of the `htmlparser` module. The main difference is that this is intended to be used only with node (it runs on other platforms using [browserify](https://github.com/substack/node-browserify)). `htmlparser2` was rewritten multiple times and, while it maintains an API that's compatible with `htmlparser` in most cases, the projects don't share any code anymore.\n\nThe parser now provides a callback interface close to [sax.js](https://github.com/isaacs/sax-js) (originally targeted at [readabilitySAX](https://github.com/fb55/readabilitysax)). As a result, old handlers won't work anymore.\n\nThe `DefaultHandler` and the `RssHandler` were renamed to clarify their purpose (to `DomHandler` and `FeedHandler`). The old names are still available when requiring `htmlparser2`, so your code should work as expected.\n",
|
|
"readmeFilename": "README.md",
|
|
"homepage": "https://github.com/fb55/htmlparser2",
|
|
"_id": "htmlparser2@3.7.2",
|
|
"_from": "htmlparser2@"
|
|
}
|