defuddle 0.11.0 → 0.12.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 +23 -8
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.js +12 -1
- package/dist/constants.js.map +1 -1
- package/dist/defuddle.d.ts +48 -1
- package/dist/defuddle.js +519 -213
- package/dist/defuddle.js.map +1 -1
- package/dist/elements/footnotes.js +2 -1
- package/dist/elements/footnotes.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 +37 -0
- package/dist/extractors/youtube.js +409 -9
- package/dist/extractors/youtube.js.map +1 -1
- package/dist/index.full.js +1 -1
- package/dist/index.js +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.js +0 -5
- package/dist/node.js.map +1 -1
- package/dist/scoring.d.ts +6 -1
- package/dist/scoring.js +66 -19
- package/dist/scoring.js.map +1 -1
- package/dist/standardize.js +64 -60
- 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/transcript.d.ts +37 -0
- package/dist/utils/transcript.js +61 -0
- package/dist/utils/transcript.js.map +1 -0
- package/package.json +1 -1
package/dist/metadata.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ export declare class MetadataExtractor {
|
|
|
9
9
|
private static cleanTitle;
|
|
10
10
|
private static getDescription;
|
|
11
11
|
private static getImage;
|
|
12
|
+
private static getLanguage;
|
|
13
|
+
/**
|
|
14
|
+
* Normalize language codes to BCP 47 format (e.g. en_US -> en-US)
|
|
15
|
+
*/
|
|
16
|
+
private static normalizeLangCode;
|
|
12
17
|
private static getFavicon;
|
|
13
18
|
private static getPublished;
|
|
14
19
|
private static getMetaContent;
|
package/dist/metadata.js
CHANGED
|
@@ -46,6 +46,7 @@ class MetadataExtractor {
|
|
|
46
46
|
domain,
|
|
47
47
|
favicon: this.getFavicon(doc, url, metaTags),
|
|
48
48
|
image: this.getImage(doc, schemaOrgData, metaTags),
|
|
49
|
+
language: this.getLanguage(doc, schemaOrgData, metaTags),
|
|
49
50
|
published: this.getPublished(doc, schemaOrgData, metaTags),
|
|
50
51
|
author: this.getAuthor(doc, schemaOrgData, metaTags),
|
|
51
52
|
site: this.getSite(doc, schemaOrgData, metaTags),
|
|
@@ -250,6 +251,33 @@ class MetadataExtractor {
|
|
|
250
251
|
this.getMetaContent(metaTags, "name", "sailthru.image.full") ||
|
|
251
252
|
'');
|
|
252
253
|
}
|
|
254
|
+
static getLanguage(doc, schemaOrgData, metaTags) {
|
|
255
|
+
// 1. <html lang="...">
|
|
256
|
+
const htmlLang = doc.documentElement?.getAttribute('lang')?.trim();
|
|
257
|
+
if (htmlLang)
|
|
258
|
+
return this.normalizeLangCode(htmlLang);
|
|
259
|
+
// 2. Content-Language meta tag
|
|
260
|
+
const contentLang = this.getMetaContent(metaTags, "name", "content-language") ||
|
|
261
|
+
this.getMetaContent(metaTags, "property", "og:locale");
|
|
262
|
+
if (contentLang)
|
|
263
|
+
return this.normalizeLangCode(contentLang);
|
|
264
|
+
// 3. http-equiv Content-Language (stored as name in our meta tag collection)
|
|
265
|
+
const httpEquivLang = doc.querySelector('meta[http-equiv="Content-Language" i]')?.getAttribute('content')?.trim();
|
|
266
|
+
if (httpEquivLang)
|
|
267
|
+
return this.normalizeLangCode(httpEquivLang);
|
|
268
|
+
// 4. Schema.org
|
|
269
|
+
const schemaLang = this.getSchemaProperty(schemaOrgData, 'inLanguage');
|
|
270
|
+
if (schemaLang)
|
|
271
|
+
return this.normalizeLangCode(schemaLang);
|
|
272
|
+
return '';
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Normalize language codes to BCP 47 format (e.g. en_US -> en-US)
|
|
276
|
+
*/
|
|
277
|
+
static normalizeLangCode(code) {
|
|
278
|
+
// Replace underscores with hyphens (og:locale uses en_US)
|
|
279
|
+
return code.replace(/_/g, '-');
|
|
280
|
+
}
|
|
253
281
|
static getFavicon(doc, baseUrl, metaTags) {
|
|
254
282
|
const iconFromMeta = this.getMetaContent(metaTags, "property", "og:image:favicon");
|
|
255
283
|
if (iconFromMeta)
|
package/dist/metadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
|
package/dist/node.js
CHANGED
|
@@ -21,12 +21,7 @@ async function Defuddle(htmlOrDom, url, options) {
|
|
|
21
21
|
if (typeof htmlOrDom === 'string') {
|
|
22
22
|
dom = new jsdom_1.JSDOM(htmlOrDom, {
|
|
23
23
|
url,
|
|
24
|
-
// runScripts: 'outside-only',
|
|
25
|
-
resources: 'usable',
|
|
26
|
-
pretendToBeVisual: true,
|
|
27
|
-
includeNodeLocations: true,
|
|
28
24
|
storageQuota: 10000000,
|
|
29
|
-
// Add virtual console to suppress warnings
|
|
30
25
|
virtualConsole: new jsdom_1.VirtualConsole().sendTo(console, { omitJSDOMErrors: true })
|
|
31
26
|
});
|
|
32
27
|
}
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":";;;;;;AAYA,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":";;;;;;AAYA,4BAgCC;AA5CD,iCAA8C;AAC9C,oDAAoC;AA6C3B,wBA7CF,eAAa,CA6CE;AA3CtB,yCAAwC;AAExC;;;;;;GAMG;AACI,KAAK,UAAU,QAAQ,CAC7B,SAAyB,EACzB,GAAY,EACZ,OAAyB;IAGzB,IAAI,GAAU,CAAC;IAEf,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnC,GAAG,GAAG,IAAI,aAAK,CAAC,SAAS,EAAE;YAC1B,GAAG;YACH,YAAY,EAAE,QAAQ;YACtB,cAAc,EAAE,IAAI,sBAAc,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;SAC/E,CAAC,CAAC;IACJ,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,SAAS,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAEhD,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,IAAI,eAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;QACvD,GAAG,OAAO;QACV,GAAG,EAAE,OAAO;KACZ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAE3C,mCAAmC;IACnC,IAAA,qBAAU,EAAC,MAAM,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC;AACf,CAAC"}
|
package/dist/scoring.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export declare class ContentScorer {
|
|
|
13
13
|
* Scores blocks based on their content and structure
|
|
14
14
|
* and removes those that are likely not content.
|
|
15
15
|
*/
|
|
16
|
-
static scoreAndRemove(doc: Document, debug?: boolean, debugRemovals?: DebugRemoval[]): void;
|
|
16
|
+
static scoreAndRemove(doc: Document, debug?: boolean, debugRemovals?: DebugRemoval[], mainContent?: Element | null): void;
|
|
17
17
|
/**
|
|
18
18
|
* Determines if an element is likely to be content based on its structure and attributes.
|
|
19
19
|
*/
|
|
@@ -23,4 +23,9 @@ export declare class ContentScorer {
|
|
|
23
23
|
* Returns a negative score if the element is likely not content, a positive score if it is.
|
|
24
24
|
*/
|
|
25
25
|
private static scoreNonContentBlock;
|
|
26
|
+
/**
|
|
27
|
+
* Detects article card grids: blocks with 3+ headings and 2+ images
|
|
28
|
+
* but very little prose per heading.
|
|
29
|
+
*/
|
|
30
|
+
private static isCardGrid;
|
|
26
31
|
}
|
package/dist/scoring.js
CHANGED
|
@@ -64,6 +64,10 @@ const socialProfilePattern = /\b(linkedin\.com\/(in|company)\/|twitter\.com\/(?!
|
|
|
64
64
|
const datePattern = /(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*\s+\d{1,2}/i;
|
|
65
65
|
// Author attribution pattern — case-sensitive "By" + capitalized name
|
|
66
66
|
const bylinePattern = /\bBy\s+[A-Z]/;
|
|
67
|
+
// Pre-compiled navigation indicator regexes for scoreNonContentBlock
|
|
68
|
+
const navigationIndicatorRegexes = navigationIndicators.map(indicator => new RegExp(`\\b${indicator.replace(/\s+/g, '\\s+')}\\b`));
|
|
69
|
+
// Single combined regex for heading text matching in isLikelyContent
|
|
70
|
+
const navigationHeadingPattern = new RegExp(navigationIndicators.map(i => i.replace(/\s+/g, '\\s+')).join('|'), 'i');
|
|
67
71
|
// Classes that indicate non-content these are elements are
|
|
68
72
|
// not removed, but lower the score
|
|
69
73
|
const nonContentPatterns = [
|
|
@@ -107,10 +111,9 @@ class ContentScorer {
|
|
|
107
111
|
// Paragraph ratio
|
|
108
112
|
const paragraphs = element.getElementsByTagName('p').length;
|
|
109
113
|
score += paragraphs * 10;
|
|
110
|
-
//
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
score -= linkDensity * 5;
|
|
114
|
+
// Comma counting — prose text has commas, navigation doesn't
|
|
115
|
+
const commas = text.split(/,/).length - 1;
|
|
116
|
+
score += commas;
|
|
114
117
|
// Image ratio (penalize high image density)
|
|
115
118
|
const images = element.getElementsByTagName('img').length;
|
|
116
119
|
const imageDensity = images / (words || 1);
|
|
@@ -174,6 +177,17 @@ class ContentScorer {
|
|
|
174
177
|
}
|
|
175
178
|
}
|
|
176
179
|
}
|
|
180
|
+
// Link density as a multiplier — scales the score down proportionally
|
|
181
|
+
// rather than applying a fixed penalty. Capped at 0.5 reduction to
|
|
182
|
+
// avoid over-penalizing link-heavy content like blog index pages.
|
|
183
|
+
const linkElements = element.getElementsByTagName('a');
|
|
184
|
+
let linkTextLength = 0;
|
|
185
|
+
for (let i = 0; i < linkElements.length; i++) {
|
|
186
|
+
linkTextLength += (linkElements[i].textContent || '').length;
|
|
187
|
+
}
|
|
188
|
+
const textLength = text.length || 1;
|
|
189
|
+
const linkDensity = Math.min(linkTextLength / textLength, 0.5);
|
|
190
|
+
score *= (1 - linkDensity);
|
|
177
191
|
return score;
|
|
178
192
|
}
|
|
179
193
|
static findBestElement(elements, minScore = 50) {
|
|
@@ -192,18 +206,22 @@ class ContentScorer {
|
|
|
192
206
|
* Scores blocks based on their content and structure
|
|
193
207
|
* and removes those that are likely not content.
|
|
194
208
|
*/
|
|
195
|
-
static scoreAndRemove(doc, debug = false, debugRemovals) {
|
|
209
|
+
static scoreAndRemove(doc, debug = false, debugRemovals, mainContent) {
|
|
196
210
|
const startTime = Date.now();
|
|
197
211
|
// Track all elements to be removed
|
|
198
212
|
const elementsToRemove = new Map();
|
|
199
213
|
// Get all block elements
|
|
200
|
-
const blockElements = Array.from(doc.querySelectorAll(constants_1.
|
|
214
|
+
const blockElements = Array.from(doc.querySelectorAll(constants_1.BLOCK_ELEMENTS_SELECTOR));
|
|
201
215
|
// Process each block element
|
|
202
216
|
blockElements.forEach(element => {
|
|
203
217
|
// Skip elements that are already marked for removal
|
|
204
218
|
if (elementsToRemove.has(element)) {
|
|
205
219
|
return;
|
|
206
220
|
}
|
|
221
|
+
// Skip ancestors of mainContent to avoid disconnecting it
|
|
222
|
+
if (mainContent && element.contains(mainContent)) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
207
225
|
// Skip elements inside code blocks — they are code structure, not page navigation
|
|
208
226
|
if (element.closest('pre')) {
|
|
209
227
|
return;
|
|
@@ -255,8 +273,8 @@ class ContentScorer {
|
|
|
255
273
|
return true;
|
|
256
274
|
}
|
|
257
275
|
}
|
|
258
|
-
// Elements containing code blocks are likely content
|
|
259
|
-
if (element.querySelector('pre')) {
|
|
276
|
+
// Elements containing code blocks or tables are likely content
|
|
277
|
+
if (element.querySelector('pre, table')) {
|
|
260
278
|
return true;
|
|
261
279
|
}
|
|
262
280
|
const text = element.textContent || '';
|
|
@@ -269,14 +287,10 @@ class ContentScorer {
|
|
|
269
287
|
let hasNavigationHeading = false;
|
|
270
288
|
for (let i = 0; i < headings.length; i++) {
|
|
271
289
|
const headingText = (headings[i].textContent || '').toLowerCase().trim();
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
hasNavigationHeading = true;
|
|
275
|
-
break;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
if (hasNavigationHeading)
|
|
290
|
+
if (navigationHeadingPattern.test(headingText)) {
|
|
291
|
+
hasNavigationHeading = true;
|
|
279
292
|
break;
|
|
293
|
+
}
|
|
280
294
|
}
|
|
281
295
|
if (hasNavigationHeading) {
|
|
282
296
|
if (words < 200) {
|
|
@@ -291,6 +305,14 @@ class ContentScorer {
|
|
|
291
305
|
}
|
|
292
306
|
}
|
|
293
307
|
}
|
|
308
|
+
// Article card listing detection: blocks with many headings and images
|
|
309
|
+
// but very little prose per heading are likely article card grids
|
|
310
|
+
// (e.g. "related articles", "more stories"), not single-article content.
|
|
311
|
+
// Also checked in scoreNonContentBlock as a score penalty for elements
|
|
312
|
+
// that pass the content checks above but still look like card grids.
|
|
313
|
+
if (ContentScorer.isCardGrid(element, words)) {
|
|
314
|
+
return false;
|
|
315
|
+
}
|
|
294
316
|
// Small elements containing social media profile links are likely
|
|
295
317
|
// author bios or social widgets, not article content.
|
|
296
318
|
if (words < 80) {
|
|
@@ -350,12 +372,13 @@ class ContentScorer {
|
|
|
350
372
|
if (words < 3) {
|
|
351
373
|
return 0;
|
|
352
374
|
}
|
|
375
|
+
// Comma counting — prose has commas, navigation/boilerplate doesn't.
|
|
376
|
+
// This counterbalances negative signals from navigation indicators.
|
|
377
|
+
const commas = text.split(/,/).length - 1;
|
|
378
|
+
score += commas;
|
|
353
379
|
const textLower = text.toLowerCase();
|
|
354
380
|
let indicatorMatches = 0;
|
|
355
|
-
for (const
|
|
356
|
-
// Use word boundary matching to avoid false positives like
|
|
357
|
-
// "design information" matching "sign in"
|
|
358
|
-
const regex = new RegExp(`\\b${indicator.replace(/\s+/g, '\\s+')}\\b`);
|
|
381
|
+
for (const regex of navigationIndicatorRegexes) {
|
|
359
382
|
if (regex.test(textLower)) {
|
|
360
383
|
indicatorMatches++;
|
|
361
384
|
}
|
|
@@ -405,6 +428,10 @@ class ContentScorer {
|
|
|
405
428
|
score -= 10;
|
|
406
429
|
}
|
|
407
430
|
}
|
|
431
|
+
// Penalize blocks that look like article card grids
|
|
432
|
+
if (ContentScorer.isCardGrid(element, words)) {
|
|
433
|
+
score -= 15;
|
|
434
|
+
}
|
|
408
435
|
// Check for specific class patterns that indicate non-content
|
|
409
436
|
const className = element.className.toLowerCase();
|
|
410
437
|
const id = element.id.toLowerCase();
|
|
@@ -415,6 +442,26 @@ class ContentScorer {
|
|
|
415
442
|
}
|
|
416
443
|
return score;
|
|
417
444
|
}
|
|
445
|
+
/**
|
|
446
|
+
* Detects article card grids: blocks with 3+ headings and 2+ images
|
|
447
|
+
* but very little prose per heading.
|
|
448
|
+
*/
|
|
449
|
+
static isCardGrid(element, words) {
|
|
450
|
+
if (words < 3 || words >= 500)
|
|
451
|
+
return false;
|
|
452
|
+
const headings = element.querySelectorAll('h2, h3, h4');
|
|
453
|
+
if (headings.length < 3)
|
|
454
|
+
return false;
|
|
455
|
+
const images = element.querySelectorAll('img');
|
|
456
|
+
if (images.length < 2)
|
|
457
|
+
return false;
|
|
458
|
+
let headingWordCount = 0;
|
|
459
|
+
for (let i = 0; i < headings.length; i++) {
|
|
460
|
+
headingWordCount += (headings[i].textContent || '').split(/\s+/).length;
|
|
461
|
+
}
|
|
462
|
+
const prosePerHeading = (words - headingWordCount) / headings.length;
|
|
463
|
+
return prosePerHeading < 20;
|
|
464
|
+
}
|
|
418
465
|
}
|
|
419
466
|
exports.ContentScorer = ContentScorer;
|
|
420
467
|
//# sourceMappingURL=scoring.js.map
|
package/dist/scoring.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoring.js","sourceRoot":"","sources":["../src/scoring.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scoring.js","sourceRoot":"","sources":["../src/scoring.ts"],"names":[],"mappings":"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"}
|
package/dist/standardize.js
CHANGED
|
@@ -336,18 +336,17 @@ function standardizeHeadings(element, title, doc) {
|
|
|
336
336
|
}
|
|
337
337
|
function removeHtmlComments(element) {
|
|
338
338
|
let removedCount = 0;
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
});
|
|
339
|
+
const doc = element.ownerDocument;
|
|
340
|
+
// Use TreeWalker to find comment nodes directly (O(n) instead of O(n*m))
|
|
341
|
+
const walker = doc.createTreeWalker(element, 128 /* NodeFilter.SHOW_COMMENT */);
|
|
342
|
+
const comments = [];
|
|
343
|
+
while (walker.nextNode()) {
|
|
344
|
+
comments.push(walker.currentNode);
|
|
345
|
+
}
|
|
346
|
+
for (const node of comments) {
|
|
347
|
+
node.parentNode?.removeChild(node);
|
|
348
|
+
removedCount++;
|
|
349
|
+
}
|
|
351
350
|
(0, utils_1.logDebug)(_debug, 'Removed HTML comments:', removedCount);
|
|
352
351
|
}
|
|
353
352
|
function stripUnwantedAttributes(element, debug) {
|
|
@@ -423,52 +422,57 @@ function unwrapBareSpans(element) {
|
|
|
423
422
|
}
|
|
424
423
|
function removeEmptyElements(element) {
|
|
425
424
|
let removedCount = 0;
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
const hasNbsp = textContent.includes('\u00A0'); // Unicode non-breaking space
|
|
440
|
-
// Check if element has no meaningful children
|
|
441
|
-
const hasNoChildren = !el.hasChildNodes() ||
|
|
442
|
-
(Array.from(el.childNodes).every(node => {
|
|
443
|
-
if ((0, utils_1.isTextNode)(node)) { // TEXT_NODE
|
|
444
|
-
const nodeText = node.textContent || '';
|
|
445
|
-
return nodeText.trim().length === 0 && !nodeText.includes('\u00A0');
|
|
425
|
+
const isEmptyElement = (el) => {
|
|
426
|
+
if (constants_1.ALLOWED_EMPTY_ELEMENTS.has(el.tagName.toLowerCase()))
|
|
427
|
+
return false;
|
|
428
|
+
// Special case: divs that only contain spans with commas
|
|
429
|
+
if (el.tagName === 'DIV') {
|
|
430
|
+
const children = el.children;
|
|
431
|
+
if (children.length > 0) {
|
|
432
|
+
let allCommaSpans = true;
|
|
433
|
+
for (let i = 0; i < children.length; i++) {
|
|
434
|
+
const child = children[i];
|
|
435
|
+
if (child.tagName !== 'SPAN') {
|
|
436
|
+
allCommaSpans = false;
|
|
437
|
+
break;
|
|
446
438
|
}
|
|
447
|
-
return false;
|
|
448
|
-
}));
|
|
449
|
-
// Special case: Check for divs that only contain spans with commas
|
|
450
|
-
if (el.tagName.toLowerCase() === 'div') {
|
|
451
|
-
const children = Array.from(el.children);
|
|
452
|
-
const hasOnlyCommaSpans = children.length > 0 && children.every(child => {
|
|
453
|
-
if (child.tagName.toLowerCase() !== 'span')
|
|
454
|
-
return false;
|
|
455
439
|
const content = child.textContent?.trim() || '';
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
440
|
+
if (content !== ',' && content !== '' && content !== ' ') {
|
|
441
|
+
allCommaSpans = false;
|
|
442
|
+
break;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
if (allCommaSpans)
|
|
459
446
|
return true;
|
|
460
447
|
}
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
if (
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
448
|
+
}
|
|
449
|
+
const textContent = el.textContent || '';
|
|
450
|
+
if (textContent.trim().length > 0 || textContent.includes('\u00A0'))
|
|
451
|
+
return false;
|
|
452
|
+
// Check if element has no meaningful children (no element children, only whitespace text)
|
|
453
|
+
if (!el.hasChildNodes())
|
|
454
|
+
return true;
|
|
455
|
+
const childNodes = el.childNodes;
|
|
456
|
+
for (let i = 0; i < childNodes.length; i++) {
|
|
457
|
+
const node = childNodes[i];
|
|
458
|
+
if (!(0, utils_1.isTextNode)(node))
|
|
459
|
+
return false;
|
|
460
|
+
const nodeText = node.textContent || '';
|
|
461
|
+
if (nodeText.trim().length > 0 || nodeText.includes('\u00A0'))
|
|
462
|
+
return false;
|
|
463
|
+
}
|
|
464
|
+
return true;
|
|
465
|
+
};
|
|
466
|
+
// Process deepest-first in a single pass by reversing the element list
|
|
467
|
+
// (querySelectorAll returns document order, reverse gives deepest last → first)
|
|
468
|
+
const allElements = Array.from(element.querySelectorAll('*')).reverse();
|
|
469
|
+
for (const el of allElements) {
|
|
470
|
+
if (el.parentNode && isEmptyElement(el)) {
|
|
471
|
+
el.remove();
|
|
472
|
+
removedCount++;
|
|
469
473
|
}
|
|
470
474
|
}
|
|
471
|
-
(0, utils_1.logDebug)(_debug, 'Removed empty elements:', removedCount
|
|
475
|
+
(0, utils_1.logDebug)(_debug, 'Removed empty elements:', removedCount);
|
|
472
476
|
}
|
|
473
477
|
function stripExtraBrElements(element) {
|
|
474
478
|
let processedCount = 0;
|
|
@@ -560,7 +564,7 @@ function removeEmptyLines(element, doc) {
|
|
|
560
564
|
const text = node.textContent || '';
|
|
561
565
|
// If it's completely empty or just zero-width/invisible characters, remove it
|
|
562
566
|
// Preserve nodes with regular spaces or as they may separate words
|
|
563
|
-
if (!text ||
|
|
567
|
+
if (!text || /^[\u200C\u200B\u200D\u200E\u200F\uFEFF]*$/.test(text)) {
|
|
564
568
|
node.parentNode?.removeChild(node);
|
|
565
569
|
removedCount++;
|
|
566
570
|
}
|
|
@@ -839,7 +843,7 @@ function flattenWrapperElements(element, doc) {
|
|
|
839
843
|
// Check if all children are block elements
|
|
840
844
|
const allBlockElements = children.every(child => {
|
|
841
845
|
const tag = child.tagName.toLowerCase();
|
|
842
|
-
return constants_1.
|
|
846
|
+
return constants_1.BLOCK_ELEMENTS_SET.has(tag) ||
|
|
843
847
|
tag === 'p' || tag === 'h1' || tag === 'h2' ||
|
|
844
848
|
tag === 'h3' || tag === 'h4' || tag === 'h5' || tag === 'h6' ||
|
|
845
849
|
tag === 'ul' || tag === 'ol' || tag === 'pre' || tag === 'blockquote' ||
|
|
@@ -939,7 +943,7 @@ function flattenWrapperElements(element, doc) {
|
|
|
939
943
|
const child = el.firstElementChild;
|
|
940
944
|
const childTag = child.tagName.toLowerCase();
|
|
941
945
|
// Only unwrap if the single child is a block element and not preserved
|
|
942
|
-
if (constants_1.
|
|
946
|
+
if (constants_1.BLOCK_ELEMENTS_SET.has(childTag) && !shouldPreserveElement(child)) {
|
|
943
947
|
el.replaceWith(child);
|
|
944
948
|
processedCount++;
|
|
945
949
|
return true;
|
|
@@ -950,7 +954,7 @@ function flattenWrapperElements(element, doc) {
|
|
|
950
954
|
let parent = el.parentElement;
|
|
951
955
|
while (parent) {
|
|
952
956
|
const parentTag = parent.tagName.toLowerCase();
|
|
953
|
-
if (constants_1.
|
|
957
|
+
if (constants_1.BLOCK_ELEMENTS_SET.has(parentTag)) {
|
|
954
958
|
nestingDepth++;
|
|
955
959
|
}
|
|
956
960
|
parent = parent.parentElement;
|
|
@@ -969,7 +973,7 @@ function flattenWrapperElements(element, doc) {
|
|
|
969
973
|
};
|
|
970
974
|
// First pass: Process top-level wrapper elements
|
|
971
975
|
const processTopLevelElements = () => {
|
|
972
|
-
const topElements = Array.from(element.children).filter(el => constants_1.
|
|
976
|
+
const topElements = Array.from(element.children).filter(el => constants_1.BLOCK_ELEMENTS_SET.has(el.tagName.toLowerCase()));
|
|
973
977
|
let modified = false;
|
|
974
978
|
topElements.forEach(el => {
|
|
975
979
|
if (processElement(el)) {
|
|
@@ -981,7 +985,7 @@ function flattenWrapperElements(element, doc) {
|
|
|
981
985
|
// Second pass: Process remaining wrapper elements from deepest to shallowest
|
|
982
986
|
const processRemainingElements = () => {
|
|
983
987
|
// Get all wrapper elements
|
|
984
|
-
const allElements = Array.from(element.querySelectorAll(constants_1.
|
|
988
|
+
const allElements = Array.from(element.querySelectorAll(constants_1.BLOCK_ELEMENTS_SELECTOR))
|
|
985
989
|
.sort((a, b) => {
|
|
986
990
|
// Count nesting depth
|
|
987
991
|
const getDepth = (el) => {
|
|
@@ -989,7 +993,7 @@ function flattenWrapperElements(element, doc) {
|
|
|
989
993
|
let parent = el.parentElement;
|
|
990
994
|
while (parent) {
|
|
991
995
|
const parentTag = parent.tagName.toLowerCase();
|
|
992
|
-
if (constants_1.
|
|
996
|
+
if (constants_1.BLOCK_ELEMENTS_SET.has(parentTag))
|
|
993
997
|
depth++;
|
|
994
998
|
parent = parent.parentElement;
|
|
995
999
|
}
|
|
@@ -1007,7 +1011,7 @@ function flattenWrapperElements(element, doc) {
|
|
|
1007
1011
|
};
|
|
1008
1012
|
// Final cleanup pass - aggressively flatten remaining wrapper elements
|
|
1009
1013
|
const finalCleanup = () => {
|
|
1010
|
-
const remainingElements = Array.from(element.querySelectorAll(constants_1.
|
|
1014
|
+
const remainingElements = Array.from(element.querySelectorAll(constants_1.BLOCK_ELEMENTS_SELECTOR));
|
|
1011
1015
|
let modified = false;
|
|
1012
1016
|
remainingElements.forEach(el => {
|
|
1013
1017
|
// Check if element only contains paragraphs
|