defuddle 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -29
- package/dist/cli.js +15 -46
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts +9 -0
- package/dist/constants.js +33 -9
- package/dist/constants.js.map +1 -1
- package/dist/defuddle.d.ts +50 -2
- package/dist/defuddle.js +615 -238
- package/dist/defuddle.js.map +1 -1
- package/dist/elements/code.js +31 -9
- package/dist/elements/code.js.map +1 -1
- package/dist/elements/footnotes.js +2 -1
- package/dist/elements/footnotes.js.map +1 -1
- package/dist/elements/headings.js +42 -50
- package/dist/elements/headings.js.map +1 -1
- package/dist/extractor-registry.d.ts +1 -0
- package/dist/extractor-registry.js +3 -0
- package/dist/extractor-registry.js.map +1 -1
- package/dist/extractors/_base.d.ts +6 -0
- package/dist/extractors/_base.js +8 -0
- package/dist/extractors/_base.js.map +1 -1
- package/dist/extractors/github.d.ts +10 -2
- package/dist/extractors/github.js +158 -71
- package/dist/extractors/github.js.map +1 -1
- package/dist/extractors/hackernews.js +18 -72
- package/dist/extractors/hackernews.js.map +1 -1
- package/dist/extractors/reddit.d.ts +1 -2
- package/dist/extractors/reddit.js +41 -94
- package/dist/extractors/reddit.js.map +1 -1
- package/dist/extractors/x-oembed.d.ts +0 -1
- package/dist/extractors/x-oembed.js +20 -27
- package/dist/extractors/x-oembed.js.map +1 -1
- package/dist/extractors/youtube.d.ts +57 -0
- package/dist/extractors/youtube.js +619 -10
- package/dist/extractors/youtube.js.map +1 -1
- package/dist/index.full.js +1 -1
- package/dist/index.js +1 -1
- package/dist/markdown.js +5 -0
- package/dist/markdown.js.map +1 -1
- package/dist/metadata.d.ts +5 -0
- package/dist/metadata.js +28 -0
- package/dist/metadata.js.map +1 -1
- package/dist/node.d.ts +12 -5
- package/dist/node.js +53 -22
- package/dist/node.js.map +1 -1
- package/dist/scoring.d.ts +6 -1
- package/dist/scoring.js +69 -22
- package/dist/scoring.js.map +1 -1
- package/dist/standardize.js +152 -63
- package/dist/standardize.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/utils/comments.d.ts +44 -0
- package/dist/utils/comments.js +103 -0
- package/dist/utils/comments.js.map +1 -0
- package/dist/utils/dom.d.ts +9 -0
- package/dist/utils/dom.js +20 -0
- package/dist/utils/dom.js.map +1 -1
- package/dist/utils/linkedom-compat.d.ts +5 -0
- package/dist/utils/linkedom-compat.js +23 -0
- package/dist/utils/linkedom-compat.js.map +1 -0
- package/dist/utils/transcript.d.ts +37 -0
- package/dist/utils/transcript.js +61 -0
- package/dist/utils/transcript.js.map +1 -0
- package/dist/utils.d.ts +6 -0
- package/dist/utils.js +36 -0
- package/dist/utils.js.map +1 -1
- package/package.json +3 -4
package/README.md
CHANGED
|
@@ -5,11 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
Defuddle extracts the main content from web pages. It cleans up web pages by removing clutter like comments, sidebars, headers, footers, and other non-essential elements, leaving only the primary content.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
## Overview
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Defuddle aims to output clean and consistent HTML documents. It was written for [Obsidian Web Clipper](https://github.com/obsidianmd/obsidian-clipper) with the goal of creating a more useful input for HTML-to-Markdown converters like [Turndown](https://github.com/mixmark-io/turndown).
|
|
10
|
+
Defuddle takes a URL or HTML, finds the main content, and returns cleaned HTML or Markdown. Defuddle was created for the browser extension [Obsidian Web Clipper](https://github.com/obsidianmd/obsidian-clipper), but it is designed to run in any environment.
|
|
13
11
|
|
|
14
12
|
Defuddle can be used as a replacement for [Mozilla Readability](https://github.com/mozilla/readability) with a few differences:
|
|
15
13
|
|
|
@@ -37,58 +35,59 @@ console.log(result.author);
|
|
|
37
35
|
|
|
38
36
|
### Node.js
|
|
39
37
|
|
|
38
|
+
`defuddle/node` accepts a DOM `Document` from any implementation (JSDOM, linkedom, happy-dom, etc.).
|
|
39
|
+
|
|
40
40
|
```javascript
|
|
41
|
-
import {
|
|
41
|
+
import { parseHTML } from 'linkedom';
|
|
42
42
|
import { Defuddle } from 'defuddle/node';
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
// Parse HTML from a URL
|
|
49
|
-
const dom = await JSDOM.fromURL('https://example.com/article');
|
|
50
|
-
const result = await Defuddle(dom);
|
|
51
|
-
|
|
52
|
-
// With options
|
|
53
|
-
const url = 'https://example.com/article'; // Original URL of the page
|
|
54
|
-
const result = await Defuddle(dom, url, {
|
|
55
|
-
debug: true, // Enable debug mode for verbose logging
|
|
56
|
-
markdown: true // Convert content to markdown
|
|
44
|
+
const { document } = parseHTML(html);
|
|
45
|
+
const result = await Defuddle(document, 'https://example.com/article', {
|
|
46
|
+
markdown: true
|
|
57
47
|
});
|
|
58
48
|
|
|
59
|
-
// Access the content and metadata
|
|
60
49
|
console.log(result.content);
|
|
61
50
|
console.log(result.title);
|
|
62
51
|
console.log(result.author);
|
|
63
52
|
```
|
|
64
53
|
|
|
54
|
+
Or with JSDOM:
|
|
55
|
+
|
|
56
|
+
```javascript
|
|
57
|
+
import { JSDOM } from 'jsdom';
|
|
58
|
+
import { Defuddle } from 'defuddle/node';
|
|
59
|
+
|
|
60
|
+
const dom = new JSDOM(html, { url: 'https://example.com/article' });
|
|
61
|
+
const result = await Defuddle(dom.window.document, 'https://example.com/article');
|
|
62
|
+
```
|
|
63
|
+
|
|
65
64
|
_Note: for `defuddle/node` to import properly, the module format in your `package.json` has to be set to `{ "type": "module" }`_
|
|
66
65
|
|
|
67
66
|
### CLI
|
|
68
67
|
|
|
69
|
-
Defuddle includes a command-line interface for parsing web pages directly from the terminal.
|
|
68
|
+
Defuddle includes a command-line interface for parsing web pages directly from the terminal. You can run it with `npx` or [install it globally](#cli-installation).
|
|
70
69
|
|
|
71
70
|
```bash
|
|
72
71
|
# Parse a local HTML file
|
|
73
|
-
defuddle parse page.html
|
|
72
|
+
npx defuddle parse page.html
|
|
74
73
|
|
|
75
74
|
# Parse a URL
|
|
76
|
-
defuddle parse https://example.com/article
|
|
75
|
+
npx defuddle parse https://example.com/article
|
|
77
76
|
|
|
78
77
|
# Output as markdown
|
|
79
|
-
defuddle parse page.html --markdown
|
|
78
|
+
npx defuddle parse page.html --markdown
|
|
80
79
|
|
|
81
80
|
# Output as JSON with metadata
|
|
82
|
-
defuddle parse page.html --json
|
|
81
|
+
npx defuddle parse page.html --json
|
|
83
82
|
|
|
84
83
|
# Extract a specific property
|
|
85
|
-
defuddle parse page.html --property title
|
|
84
|
+
npx defuddle parse page.html --property title
|
|
86
85
|
|
|
87
86
|
# Save output to a file
|
|
88
|
-
defuddle parse page.html --output result.html
|
|
87
|
+
npx defuddle parse page.html --output result.html
|
|
89
88
|
|
|
90
89
|
# Enable debug mode
|
|
91
|
-
defuddle parse page.html --debug
|
|
90
|
+
npx defuddle parse page.html --debug
|
|
92
91
|
```
|
|
93
92
|
|
|
94
93
|
#### CLI Options
|
|
@@ -108,12 +107,32 @@ defuddle parse page.html --debug
|
|
|
108
107
|
npm install defuddle
|
|
109
108
|
```
|
|
110
109
|
|
|
111
|
-
For Node.js usage,
|
|
110
|
+
For Node.js usage, install a DOM implementation:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
npm install linkedom
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Or use JSDOM:
|
|
112
117
|
|
|
113
118
|
```bash
|
|
114
119
|
npm install jsdom
|
|
115
120
|
```
|
|
116
121
|
|
|
122
|
+
### CLI installation
|
|
123
|
+
|
|
124
|
+
To use the `defuddle` command globally, install it with the `-g` flag:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
npm install -g defuddle
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Or use `npx` to run the CLI without installing globally:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
npx defuddle parse https://example.com/article
|
|
134
|
+
```
|
|
135
|
+
|
|
117
136
|
## Response
|
|
118
137
|
|
|
119
138
|
Defuddle returns an object with the following properties:
|
|
@@ -126,6 +145,7 @@ Defuddle returns an object with the following properties:
|
|
|
126
145
|
| `domain` | string | Domain name of the website |
|
|
127
146
|
| `favicon` | string | URL of the website's favicon |
|
|
128
147
|
| `image` | string | URL of the article's main image |
|
|
148
|
+
| `language` | string | Language of the page in [BCP 47](https://www.rfc-editor.org/info/bcp47) format (e.g. `en`, `en-US`) |
|
|
129
149
|
| `metaTags` | object | Meta tags |
|
|
130
150
|
| `parseTime` | number | Time taken to parse the page in milliseconds |
|
|
131
151
|
| `published` | string | Publication date of the article |
|
|
@@ -141,7 +161,7 @@ Defuddle is available in three different bundles:
|
|
|
141
161
|
|
|
142
162
|
1. Core bundle (`defuddle`): The main bundle for browser usage. No dependencies.
|
|
143
163
|
2. Full bundle (`defuddle/full`): Includes additional features for math equation parsing and Markdown conversion.
|
|
144
|
-
3. Node.js bundle (`defuddle/node`):
|
|
164
|
+
3. Node.js bundle (`defuddle/node`): For Node.js environments. Accepts any DOM `Document` (e.g. from linkedom, JSDOM, or happy-dom). Includes full capabilities for math and Markdown conversion.
|
|
145
165
|
|
|
146
166
|
The core bundle is recommended for most use cases. It still handles math content, but doesn't include fallbacks for converting between MathML and LaTeX formats. The full bundle adds the ability to create reliable `<math>` elements using `mathml-to-latex` and `temml` libraries.
|
|
147
167
|
|
package/dist/cli.js
CHANGED
|
@@ -1,43 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
4
|
const commander_1 = require("commander");
|
|
38
5
|
const node_1 = require("./node");
|
|
39
6
|
const promises_1 = require("fs/promises");
|
|
40
7
|
const path_1 = require("path");
|
|
8
|
+
const linkedom_compat_1 = require("./utils/linkedom-compat");
|
|
41
9
|
// ANSI color helpers (avoids chalk dependency which is ESM-only)
|
|
42
10
|
const useColor = process.stdout.isTTY ?? false;
|
|
43
11
|
const ansi = {
|
|
@@ -67,24 +35,23 @@ program
|
|
|
67
35
|
if (options.md) {
|
|
68
36
|
options.markdown = true;
|
|
69
37
|
}
|
|
70
|
-
let
|
|
71
|
-
|
|
72
|
-
JSDOM = (await Promise.resolve().then(() => __importStar(require('jsdom')))).JSDOM;
|
|
73
|
-
}
|
|
74
|
-
catch {
|
|
75
|
-
console.error(ansi.red('Error: jsdom is required for the CLI. Install it with: npm install jsdom'));
|
|
76
|
-
process.exit(1);
|
|
77
|
-
}
|
|
78
|
-
let dom;
|
|
38
|
+
let html;
|
|
39
|
+
let url;
|
|
79
40
|
// Determine if source is a URL or file path
|
|
80
41
|
if (source.startsWith('http://') || source.startsWith('https://')) {
|
|
81
|
-
|
|
42
|
+
url = source;
|
|
43
|
+
const response = await fetch(source);
|
|
44
|
+
if (!response.ok) {
|
|
45
|
+
throw new Error(`Failed to fetch ${source}: ${response.status} ${response.statusText}`);
|
|
46
|
+
}
|
|
47
|
+
html = await response.text();
|
|
82
48
|
}
|
|
83
49
|
else {
|
|
84
50
|
const filePath = (0, path_1.resolve)(process.cwd(), source);
|
|
85
|
-
|
|
51
|
+
html = await (0, promises_1.readFile)(filePath, 'utf-8');
|
|
86
52
|
}
|
|
87
|
-
const
|
|
53
|
+
const doc = (0, linkedom_compat_1.parseLinkedomHTML)(html);
|
|
54
|
+
const result = await (0, node_1.Defuddle)(doc, url, {
|
|
88
55
|
debug: options.debug,
|
|
89
56
|
markdown: options.markdown
|
|
90
57
|
});
|
|
@@ -108,13 +75,15 @@ program
|
|
|
108
75
|
domain: result.domain,
|
|
109
76
|
favicon: result.favicon,
|
|
110
77
|
image: result.image,
|
|
78
|
+
language: result.language,
|
|
111
79
|
metaTags: result.metaTags,
|
|
112
80
|
parseTime: result.parseTime,
|
|
113
81
|
published: result.published,
|
|
114
82
|
author: result.author,
|
|
115
83
|
site: result.site,
|
|
116
84
|
schemaOrgData: result.schemaOrgData,
|
|
117
|
-
wordCount: result.wordCount
|
|
85
|
+
wordCount: result.wordCount,
|
|
86
|
+
...(result.variables ? { variables: result.variables } : {}),
|
|
118
87
|
}, null, 2);
|
|
119
88
|
}
|
|
120
89
|
else {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
export declare const ENTRY_POINT_ELEMENTS: string[];
|
|
2
2
|
export declare const MOBILE_WIDTH = 600;
|
|
3
3
|
export declare const BLOCK_ELEMENTS: string[];
|
|
4
|
+
export declare const BLOCK_ELEMENTS_SELECTOR: string;
|
|
5
|
+
export declare const BLOCK_ELEMENTS_SET: Set<string>;
|
|
4
6
|
export declare const PRESERVE_ELEMENTS: Set<string>;
|
|
5
7
|
export declare const INLINE_ELEMENTS: Set<string>;
|
|
8
|
+
export declare const HIDDEN_EXACT_SKIP_SELECTORS: string[];
|
|
9
|
+
export declare const HIDDEN_EXACT_SELECTORS: string[];
|
|
10
|
+
export declare const HIDDEN_EXACT_SELECTOR: string;
|
|
11
|
+
export declare const HIDDEN_EXACT_SKIP_SELECTOR: string;
|
|
6
12
|
export declare const EXACT_SELECTORS: string[];
|
|
13
|
+
export declare const EXACT_SELECTORS_JOINED: string;
|
|
7
14
|
export declare const TEST_ATTRIBUTES: string[];
|
|
8
15
|
export declare const PARTIAL_SELECTORS: string[];
|
|
16
|
+
export declare const PARTIAL_SELECTORS_REGEX: RegExp;
|
|
17
|
+
export declare const TEST_ATTRIBUTES_SELECTOR: string;
|
|
9
18
|
export declare const FOOTNOTE_INLINE_REFERENCES: string;
|
|
10
19
|
export declare const FOOTNOTE_LIST_SELECTORS: string;
|
|
11
20
|
export declare const ALLOWED_EMPTY_ELEMENTS: Set<string>;
|
package/dist/constants.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ALLOWED_ATTRIBUTES_DEBUG = exports.ALLOWED_ATTRIBUTES = exports.ALLOWED_EMPTY_ELEMENTS = exports.FOOTNOTE_LIST_SELECTORS = exports.FOOTNOTE_INLINE_REFERENCES = exports.PARTIAL_SELECTORS = exports.TEST_ATTRIBUTES = exports.EXACT_SELECTORS = exports.INLINE_ELEMENTS = exports.PRESERVE_ELEMENTS = exports.BLOCK_ELEMENTS = exports.MOBILE_WIDTH = exports.ENTRY_POINT_ELEMENTS = void 0;
|
|
3
|
+
exports.ALLOWED_ATTRIBUTES_DEBUG = exports.ALLOWED_ATTRIBUTES = exports.ALLOWED_EMPTY_ELEMENTS = exports.FOOTNOTE_LIST_SELECTORS = exports.FOOTNOTE_INLINE_REFERENCES = exports.TEST_ATTRIBUTES_SELECTOR = exports.PARTIAL_SELECTORS_REGEX = exports.PARTIAL_SELECTORS = exports.TEST_ATTRIBUTES = exports.EXACT_SELECTORS_JOINED = exports.EXACT_SELECTORS = exports.HIDDEN_EXACT_SKIP_SELECTOR = exports.HIDDEN_EXACT_SELECTOR = exports.HIDDEN_EXACT_SELECTORS = exports.HIDDEN_EXACT_SKIP_SELECTORS = exports.INLINE_ELEMENTS = exports.PRESERVE_ELEMENTS = exports.BLOCK_ELEMENTS_SET = exports.BLOCK_ELEMENTS_SELECTOR = exports.BLOCK_ELEMENTS = exports.MOBILE_WIDTH = exports.ENTRY_POINT_ELEMENTS = void 0;
|
|
4
4
|
// Entry point elements
|
|
5
5
|
// These are the elements that will be used to find the main content
|
|
6
6
|
exports.ENTRY_POINT_ELEMENTS = [
|
|
7
7
|
'#post',
|
|
8
8
|
'.post-content',
|
|
9
|
+
'.post-body',
|
|
9
10
|
'.article-content',
|
|
10
11
|
'#article-content',
|
|
11
12
|
'.article_post',
|
|
@@ -24,6 +25,8 @@ exports.ENTRY_POINT_ELEMENTS = [
|
|
|
24
25
|
];
|
|
25
26
|
exports.MOBILE_WIDTH = 600;
|
|
26
27
|
exports.BLOCK_ELEMENTS = ['div', 'section', 'article', 'main', 'aside', 'header', 'footer', 'nav', 'content'];
|
|
28
|
+
exports.BLOCK_ELEMENTS_SELECTOR = exports.BLOCK_ELEMENTS.join(',');
|
|
29
|
+
exports.BLOCK_ELEMENTS_SET = new Set(exports.BLOCK_ELEMENTS);
|
|
27
30
|
// Elements that should not be unwrapped
|
|
28
31
|
exports.PRESERVE_ELEMENTS = new Set([
|
|
29
32
|
'pre', 'code', 'table', 'thead', 'tbody', 'tr', 'td', 'th',
|
|
@@ -40,6 +43,16 @@ exports.INLINE_ELEMENTS = new Set([
|
|
|
40
43
|
'font'
|
|
41
44
|
]);
|
|
42
45
|
// Selectors to be removed
|
|
46
|
+
exports.HIDDEN_EXACT_SKIP_SELECTORS = [
|
|
47
|
+
'[hidden]',
|
|
48
|
+
'[aria-hidden="true"]',
|
|
49
|
+
'.hidden',
|
|
50
|
+
'.invisible',
|
|
51
|
+
];
|
|
52
|
+
exports.HIDDEN_EXACT_SELECTORS = exports.HIDDEN_EXACT_SKIP_SELECTORS.map(s => s === '[aria-hidden="true"]' ? '[aria-hidden="true"]:not([class*="math"])' : s);
|
|
53
|
+
// Pre-joined selector strings (these arrays are constant)
|
|
54
|
+
exports.HIDDEN_EXACT_SELECTOR = exports.HIDDEN_EXACT_SELECTORS.join(',');
|
|
55
|
+
exports.HIDDEN_EXACT_SKIP_SELECTOR = exports.HIDDEN_EXACT_SKIP_SELECTORS.join(',');
|
|
43
56
|
exports.EXACT_SELECTORS = [
|
|
44
57
|
// scripts, styles
|
|
45
58
|
'noscript',
|
|
@@ -114,6 +127,8 @@ exports.EXACT_SELECTORS = [
|
|
|
114
127
|
'[href*="/author/"]',
|
|
115
128
|
'[href*="/author?"]',
|
|
116
129
|
'[href$="/author"]',
|
|
130
|
+
'a[href*="copyright.com"]',
|
|
131
|
+
'a[href*="google.com/preferences"]',
|
|
117
132
|
'[href*="#toc"]',
|
|
118
133
|
'[href="#top"]',
|
|
119
134
|
'[href="#Top"]',
|
|
@@ -145,14 +160,10 @@ exports.EXACT_SELECTORS = [
|
|
|
145
160
|
// 'time', // see issue #136
|
|
146
161
|
// 'relative-time', // see issue #136
|
|
147
162
|
// hidden
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
'[style*="visibility: hidden"]',
|
|
153
|
-
'[style*="visibility:hidden"]',
|
|
154
|
-
'.hidden',
|
|
155
|
-
'.invisible',
|
|
163
|
+
...exports.HIDDEN_EXACT_SELECTORS,
|
|
164
|
+
// Note: [style*="display: none"] removed — substring match causes false positives
|
|
165
|
+
// with CSS custom properties like --footer-display: none. The removeHiddenElements
|
|
166
|
+
// step handles inline style detection with a proper regex.
|
|
156
167
|
// iframes
|
|
157
168
|
'instaread-player',
|
|
158
169
|
'iframe:not([src*="youtube"]):not([src*="youtu.be"]):not([src*="vimeo"]):not([src*="twitter"]):not([src*="x.com"]):not([src*="datawrapper"])',
|
|
@@ -202,6 +213,7 @@ exports.EXACT_SELECTORS = [
|
|
|
202
213
|
'.gh-header-sticky', // GitHub
|
|
203
214
|
'[data-testid="issue-metadata-sticky"]', // GitHub
|
|
204
215
|
];
|
|
216
|
+
exports.EXACT_SELECTORS_JOINED = exports.EXACT_SELECTORS.join(',');
|
|
205
217
|
// Attributes to test against for partial matches
|
|
206
218
|
exports.TEST_ATTRIBUTES = [
|
|
207
219
|
'class',
|
|
@@ -228,6 +240,8 @@ exports.PARTIAL_SELECTORS = [
|
|
|
228
240
|
'ad-placement',
|
|
229
241
|
'ads-container',
|
|
230
242
|
'_ad_',
|
|
243
|
+
'AdBlock_',
|
|
244
|
+
'AdUnit',
|
|
231
245
|
'after_content',
|
|
232
246
|
'after_main_article',
|
|
233
247
|
'afterpost',
|
|
@@ -370,6 +384,7 @@ exports.PARTIAL_SELECTORS = [
|
|
|
370
384
|
'disclosure',
|
|
371
385
|
'discussion',
|
|
372
386
|
'discuss_',
|
|
387
|
+
'-dismiss',
|
|
373
388
|
'disqus',
|
|
374
389
|
'donate',
|
|
375
390
|
'donation',
|
|
@@ -441,12 +456,14 @@ exports.PARTIAL_SELECTORS = [
|
|
|
441
456
|
'interlude',
|
|
442
457
|
'interaction',
|
|
443
458
|
'itemendrow',
|
|
459
|
+
'intro-date',
|
|
444
460
|
'invisible',
|
|
445
461
|
'jp-no-solution',
|
|
446
462
|
'jp-relatedposts',
|
|
447
463
|
'jswarning',
|
|
448
464
|
'js-warning',
|
|
449
465
|
'jumplink',
|
|
466
|
+
'jumpto',
|
|
450
467
|
'jump-to-',
|
|
451
468
|
'js-skip-to-content',
|
|
452
469
|
'keepreading',
|
|
@@ -484,6 +501,8 @@ exports.PARTIAL_SELECTORS = [
|
|
|
484
501
|
'menu-',
|
|
485
502
|
// 'meta-', syntax highlighting
|
|
486
503
|
'metadata',
|
|
504
|
+
'meta-date',
|
|
505
|
+
'meta-row',
|
|
487
506
|
'might-like',
|
|
488
507
|
'minibio',
|
|
489
508
|
'more-about',
|
|
@@ -648,6 +667,7 @@ exports.PARTIAL_SELECTORS = [
|
|
|
648
667
|
'share-post',
|
|
649
668
|
'share-print',
|
|
650
669
|
'share-section',
|
|
670
|
+
'shariff-',
|
|
651
671
|
'show-for-print',
|
|
652
672
|
'sidebartitle',
|
|
653
673
|
// 'sidebar_',
|
|
@@ -743,6 +763,10 @@ exports.PARTIAL_SELECTORS = [
|
|
|
743
763
|
'widget_pages',
|
|
744
764
|
// 'widget-'
|
|
745
765
|
];
|
|
766
|
+
// Pre-compiled combined regex for PARTIAL_SELECTORS — avoids rebuilding on every parse
|
|
767
|
+
exports.PARTIAL_SELECTORS_REGEX = new RegExp(exports.PARTIAL_SELECTORS.join('|'), 'i');
|
|
768
|
+
// Attribute selector for elements we test partial matches against
|
|
769
|
+
exports.TEST_ATTRIBUTES_SELECTOR = exports.TEST_ATTRIBUTES.map(attr => `[${attr}]`).join(',');
|
|
746
770
|
// Selectors for footnotes and citations
|
|
747
771
|
exports.FOOTNOTE_INLINE_REFERENCES = [
|
|
748
772
|
'sup.reference',
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/defuddle.d.ts
CHANGED
|
@@ -3,12 +3,23 @@ export declare class Defuddle {
|
|
|
3
3
|
private readonly doc;
|
|
4
4
|
private options;
|
|
5
5
|
private debug;
|
|
6
|
+
private _schemaOrgData;
|
|
7
|
+
private _schemaOrgExtracted;
|
|
8
|
+
private _metaTags;
|
|
9
|
+
private _metadata;
|
|
10
|
+
private _mobileStyles;
|
|
11
|
+
private _smallImages;
|
|
6
12
|
/**
|
|
7
13
|
* Create a new Defuddle instance
|
|
8
14
|
* @param doc - The document to parse
|
|
9
15
|
* @param options - Options for parsing
|
|
10
16
|
*/
|
|
11
17
|
constructor(doc: Document, options?: DefuddleOptions);
|
|
18
|
+
/**
|
|
19
|
+
* Lazily extract and cache schema.org data. Must be called before
|
|
20
|
+
* parse() strips script tags from the document.
|
|
21
|
+
*/
|
|
22
|
+
private getSchemaOrgData;
|
|
12
23
|
/**
|
|
13
24
|
* Parse the document and extract its main content
|
|
14
25
|
*/
|
|
@@ -29,20 +40,32 @@ export declare class Defuddle {
|
|
|
29
40
|
* Returns the element's inner HTML including sibling media (images, etc.)
|
|
30
41
|
*/
|
|
31
42
|
private _findContentBySchemaText;
|
|
43
|
+
private findLargestHiddenContentSelector;
|
|
32
44
|
/**
|
|
33
45
|
* Get the largest available src from an img element,
|
|
34
46
|
* checking srcset for higher-resolution versions.
|
|
35
47
|
*/
|
|
36
48
|
private _getLargestImageSrc;
|
|
37
49
|
/**
|
|
38
|
-
* Parse the document
|
|
50
|
+
* Parse the document asynchronously. Checks for extractors that prefer
|
|
51
|
+
* async (e.g. YouTube transcripts) before sync, then falls back to async
|
|
52
|
+
* extractors if sync parse yields no content.
|
|
39
53
|
*/
|
|
40
54
|
parseAsync(): Promise<DefuddleResponse>;
|
|
55
|
+
/**
|
|
56
|
+
* Fetch only async variables (e.g. transcript) without re-parsing.
|
|
57
|
+
* Safe to call after parse() — uses cached schema.org data since
|
|
58
|
+
* parse() strips script tags from the document.
|
|
59
|
+
*/
|
|
60
|
+
fetchAsyncVariables(): Promise<{
|
|
61
|
+
[key: string]: string;
|
|
62
|
+
} | null>;
|
|
63
|
+
private tryAsyncExtractor;
|
|
41
64
|
/**
|
|
42
65
|
* Internal parse method that does the actual work
|
|
43
66
|
*/
|
|
44
67
|
private parseInternal;
|
|
45
|
-
private
|
|
68
|
+
private countHtmlWords;
|
|
46
69
|
private _log;
|
|
47
70
|
private _evaluateMediaQueries;
|
|
48
71
|
private applyMobileStyles;
|
|
@@ -66,6 +89,13 @@ export declare class Defuddle {
|
|
|
66
89
|
* Walks both trees in parallel so positional correspondence is exact.
|
|
67
90
|
*/
|
|
68
91
|
private flattenShadowRoots;
|
|
92
|
+
/**
|
|
93
|
+
* Resolve React streaming SSR suspense boundaries.
|
|
94
|
+
* React's streaming SSR places content in hidden divs (id="S:0") and
|
|
95
|
+
* template placeholders (id="B:0") with $RC scripts to swap them.
|
|
96
|
+
* Since we don't execute scripts, we perform the swap manually.
|
|
97
|
+
*/
|
|
98
|
+
private resolveStreamedContent;
|
|
69
99
|
/**
|
|
70
100
|
* Replace a shadow DOM host element with a div containing its shadow content.
|
|
71
101
|
* Custom elements (tag names with hyphens) would re-initialize when inserted
|
|
@@ -79,4 +109,22 @@ export declare class Defuddle {
|
|
|
79
109
|
private _extractSchemaOrgData;
|
|
80
110
|
private _collectMetaTags;
|
|
81
111
|
private _decodeHTMLEntities;
|
|
112
|
+
/**
|
|
113
|
+
* Build a DefuddleResponse from an extractor result with metadata
|
|
114
|
+
*/
|
|
115
|
+
private buildExtractorResponse;
|
|
116
|
+
/**
|
|
117
|
+
* Filter extractor variables to only include custom ones
|
|
118
|
+
* (exclude standard fields that are already mapped to top-level properties)
|
|
119
|
+
*/
|
|
120
|
+
private getExtractorVariables;
|
|
121
|
+
/**
|
|
122
|
+
* Content-based pattern removal for elements that can't be detected by
|
|
123
|
+
* CSS selectors (e.g. Tailwind/CSS-in-JS sites with non-semantic class names).
|
|
124
|
+
*/
|
|
125
|
+
private removeByContentPattern;
|
|
126
|
+
/**
|
|
127
|
+
* Remove an element's following siblings, and optionally the element itself.
|
|
128
|
+
*/
|
|
129
|
+
private removeTrailingSiblings;
|
|
82
130
|
}
|