-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
106 lines (106 loc) · 6.94 KB
/
Copy pathpackage.json
File metadata and controls
106 lines (106 loc) · 6.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
{
"_args": [
[
{
"raw": "htmlparser2@https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
"scope": null,
"escapedName": "htmlparser2",
"name": "htmlparser2",
"rawSpec": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
"spec": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
"type": "remote"
},
"C:\\Users\\ibcn\\Documents\\Ghost"
]
],
"_from": "htmlparser2@3.9.2",
"_id": "htmlparser2@3.9.2",
"_inCache": true,
"_location": "/htmlparser2",
"_phantomChildren": {
"domelementtype": "1.3.0",
"inherits": "2.0.3"
},
"_requested": {
"raw": "htmlparser2@https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
"scope": null,
"escapedName": "htmlparser2",
"name": "htmlparser2",
"rawSpec": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
"spec": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
"type": "remote"
},
"_requiredBy": [
"/",
"/amperize",
"/cheerio",
"/html-to-text",
"/netjet/posthtml/posthtml-parser",
"/sanitize-html"
],
"_resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
"_shasum": "1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338",
"_shrinkwrap": null,
"_spec": "htmlparser2@https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
"_where": "C:\\Users\\ibcn\\Documents\\Ghost",
"author": {
"name": "Felix Boehm",
"email": "me@feedic.com"
},
"browser": {
"readable-stream": false
},
"bugs": {
"url": "http://github.com/fb55/htmlparser2/issues"
},
"dependencies": {
"domelementtype": "^1.3.0",
"domhandler": "^2.3.0",
"domutils": "^1.5.1",
"entities": "^1.1.1",
"inherits": "^2.0.1",
"readable-stream": "^2.0.2"
},
"description": "Fast & forgiving HTML/XML/RSS parser",
"devDependencies": {
"coveralls": "^2.11.4",
"eslint": "^2.12.0",
"istanbul": "^0.4.3",
"mocha": "^2.2.5",
"mocha-lcov-reporter": "^1.2.0"
},
"directories": {
"lib": "lib/"
},
"files": [
"lib"
],
"homepage": "https://github.com/fb55/htmlparser2#readme",
"keywords": [
"html",
"parser",
"streams",
"xml",
"dom",
"rss",
"feed",
"atom"
],
"license": "MIT",
"main": "lib/index.js",
"name": "htmlparser2",
"optionalDependencies": {},
"readme": "# htmlparser2\n\n[](https://npmjs.org/package/htmlparser2)\n[](https://npmjs.org/package/htmlparser2)\n[](http://travis-ci.org/fb55/htmlparser2)\n[](https://coveralls.io/r/fb55/htmlparser2)\n\nA forgiving HTML/XML/RSS parser. The parser can handle streams and provides a callback interface.\n\n## Installation\n\tnpm install htmlparser2\n\nA live demo of htmlparser2 is available [here](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}, {decodeEntities: true});\nparser.write(\"Xyz <script type='text/javascript'>var foo = '<<bar>>';</ script>\");\nparser.end();\n```\n\nOutput (simplified):\n\n```\n--> Xyz\nJS! Hooray!\n--> var foo = '<<bar>>';\nThat's it?!\n```\n\n## Documentation\n\nRead more about the parser and its options 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\nNote: While the provided feed handler works for most feeds, you might want to use [danmactough/node-feedparser](https://github.com/danmactough/node-feedparser), which is much better tested and actively maintained.\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 does this module differ from [node-htmlparser](https://github.com/tautologistics/node-htmlparser)?\n\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`, your code should work as expected.\n",
"readmeFilename": "README.md",
"repository": {
"type": "git",
"url": "git://github.com/fb55/htmlparser2.git"
},
"scripts": {
"coveralls": "npm run lint && npm run lcov && (cat coverage/lcov.info | coveralls || exit 0)",
"lcov": "istanbul cover _mocha --report lcovonly -- -R spec",
"lint": "eslint lib test",
"test": "mocha && npm run lint"
},
"version": "3.9.2"
}