@purepageio/fetch-engines 0.9.1 → 0.10.1
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 +62 -30
- package/dist/FetchEngine.d.ts +0 -1
- package/dist/FetchEngine.d.ts.map +1 -1
- package/dist/FetchEngine.js +3 -15
- package/dist/FetchEngine.js.map +1 -1
- package/dist/HybridEngine.d.ts +2 -1
- package/dist/HybridEngine.d.ts.map +1 -1
- package/dist/HybridEngine.js +51 -30
- package/dist/HybridEngine.js.map +1 -1
- package/dist/PlaywrightEngine.d.ts +6 -1
- package/dist/PlaywrightEngine.d.ts.map +1 -1
- package/dist/PlaywrightEngine.js +169 -32
- package/dist/PlaywrightEngine.js.map +1 -1
- package/dist/evals/auto-render-cases.d.ts +17 -0
- package/dist/evals/auto-render-cases.d.ts.map +1 -0
- package/dist/evals/auto-render-cases.js +164 -0
- package/dist/evals/auto-render-cases.js.map +1 -0
- package/dist/types.d.ts +7 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/markdown-converter.d.ts +12 -0
- package/dist/utils/markdown-converter.d.ts.map +1 -1
- package/dist/utils/markdown-converter.js +244 -11
- package/dist/utils/markdown-converter.js.map +1 -1
- package/dist/utils/render-detection.d.ts +29 -0
- package/dist/utils/render-detection.d.ts.map +1 -0
- package/dist/utils/render-detection.js +145 -0
- package/dist/utils/render-detection.js.map +1 -0
- package/package.json +5 -2
package/dist/types.d.ts
CHANGED
|
@@ -169,21 +169,23 @@ export interface PlaywrightEngineConfig {
|
|
|
169
169
|
/**
|
|
170
170
|
* Enables Single Page Application (SPA) mode, which adjusts fetching strategies
|
|
171
171
|
* for sites that heavily rely on client-side JavaScript rendering.
|
|
172
|
-
*
|
|
173
|
-
*
|
|
172
|
+
* The library now auto-detects many app shells by default; `spaMode` still forces
|
|
173
|
+
* the more patient rendering path even when auto-detection is inconclusive.
|
|
174
174
|
* @default false
|
|
175
175
|
*/
|
|
176
176
|
spaMode?: boolean;
|
|
177
177
|
/**
|
|
178
178
|
* Explicit delay in milliseconds to wait after initial page load events when spaMode is true,
|
|
179
|
-
* allowing more time for client-side rendering and data fetching to complete
|
|
179
|
+
* allowing more time for client-side rendering and data fetching to complete before
|
|
180
|
+
* the engine considers the DOM stable enough to serialize.
|
|
180
181
|
* Only applies if `spaMode` is true.
|
|
181
|
-
* @default 0
|
|
182
|
+
* @default 0
|
|
182
183
|
*/
|
|
183
184
|
spaRenderDelayMs?: number;
|
|
184
185
|
/**
|
|
185
186
|
* An array of string or RegExp patterns. If a URL matches any of these patterns,
|
|
186
|
-
* the HybridEngine will use PlaywrightEngine directly, bypassing FetchEngine and
|
|
187
|
+
* the HybridEngine will use PlaywrightEngine directly, bypassing FetchEngine and the default
|
|
188
|
+
* shell-detection pass. Useful when you already know a URL family is browser-only.
|
|
187
189
|
* @default []
|
|
188
190
|
*/
|
|
189
191
|
playwrightOnlyPatterns?: (string | RegExp)[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export interface ConversionOptions {
|
|
2
2
|
/** Maximum length of the final Markdown content. Defaults to Infinity. */
|
|
3
3
|
maxContentLength?: number;
|
|
4
|
+
/** Base URL used to resolve relative href/src URLs into absolute URLs. */
|
|
5
|
+
baseUrl?: string;
|
|
4
6
|
}
|
|
5
7
|
export declare class MarkdownConverter {
|
|
6
8
|
constructor();
|
|
@@ -15,6 +17,10 @@ export declare class MarkdownConverter {
|
|
|
15
17
|
/** Remove img elements with .svg src (external SVG URLs). Inline SVG and data: URIs already stripped by PREPROCESSING_REMOVE_SELECTORS. */
|
|
16
18
|
private removeSvgImageRefs;
|
|
17
19
|
private removeBreadcrumbs;
|
|
20
|
+
private removeContentSubtreeBoilerplate;
|
|
21
|
+
private removeHighLinkDensityElementsInSelectedContent;
|
|
22
|
+
private absolutizeRelativeUrls;
|
|
23
|
+
private resolveUrlAgainstBase;
|
|
18
24
|
/** Promote or inject a primary H1 heading using the provided title (from Kreuzberg metadata or DOM extraction). */
|
|
19
25
|
private ensurePrimaryHeading;
|
|
20
26
|
private cleanupHtml;
|
|
@@ -26,7 +32,10 @@ export declare class MarkdownConverter {
|
|
|
26
32
|
private elementMatchesMainContent;
|
|
27
33
|
/** Check if element matches boilerplate selectors (node-html-parser has no matches()). */
|
|
28
34
|
private elementMatchesBoilerplate;
|
|
35
|
+
private isWithinProtectedMainContent;
|
|
36
|
+
private isLikelyConsentOrInterstitial;
|
|
29
37
|
private removeHighLinkDensityElements;
|
|
38
|
+
private findSemanticMainContent;
|
|
30
39
|
private detectForumPage;
|
|
31
40
|
/**
|
|
32
41
|
* Calculates a score for a given HTML element to determine if it's likely the main content.
|
|
@@ -39,5 +48,8 @@ export declare class MarkdownConverter {
|
|
|
39
48
|
private extractForumContentElement;
|
|
40
49
|
private hasHighLinkDensity;
|
|
41
50
|
private postprocessMarkdown;
|
|
51
|
+
private splitDenseAdjacentLinkRuns;
|
|
42
52
|
}
|
|
53
|
+
/** Insert a "Source: <url>" line immediately below the first H1 heading. */
|
|
54
|
+
export declare function injectSourceUrl(markdown: string, sourceUrl: string): string;
|
|
43
55
|
//# sourceMappingURL=markdown-converter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-converter.d.ts","sourceRoot":"","sources":["../../src/utils/markdown-converter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markdown-converter.d.ts","sourceRoot":"","sources":["../../src/utils/markdown-converter.ts"],"names":[],"mappings":"AAoHA,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,qBAAa,iBAAiB;;IAK5B;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM;IAerE,OAAO,CAAC,cAAc;IAwGtB,2IAA2I;IAC3I,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,+BAA+B;IAYvC,OAAO,CAAC,8CAA8C;IAuDtD,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,qBAAqB;IAqB7B,mHAAmH;IACnH,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,kBAAkB;IAqB1B,yIAAyI;IACzI,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,iBAAiB;IAIzB,4FAA4F;IAC5F,OAAO,CAAC,yBAAyB;IAuBjC,0FAA0F;IAC1F,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,6BAA6B;IAmBrC,OAAO,CAAC,6BAA6B;IAqDrC,OAAO,CAAC,uBAAuB;IA8B/B,OAAO,CAAC,eAAe;IAyDvB;;;;;OAKG;IAIH,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,CAAC,4BAA4B;IAwCpC,OAAO,CAAC,0BAA0B;IAuFlC,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,mBAAmB;IA2D3B,OAAO,CAAC,0BAA0B;CAUnC;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAM3E"}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as kreuzbergHtmlToMarkdown from "@kreuzberg/html-to-markdown";
|
|
2
2
|
import { parse, HTMLElement as NHPHTMLElement } from "node-html-parser";
|
|
3
|
+
function resolveKreuzbergConvert() {
|
|
4
|
+
const moduleWithOptionalDefault = kreuzbergHtmlToMarkdown;
|
|
5
|
+
if (typeof moduleWithOptionalDefault.convert === "function") {
|
|
6
|
+
return moduleWithOptionalDefault.convert;
|
|
7
|
+
}
|
|
8
|
+
if (typeof moduleWithOptionalDefault.default?.convert === "function") {
|
|
9
|
+
return moduleWithOptionalDefault.default.convert;
|
|
10
|
+
}
|
|
11
|
+
throw new Error("Failed to resolve @kreuzberg/html-to-markdown convert export.");
|
|
12
|
+
}
|
|
13
|
+
const kreuzbergConvert = resolveKreuzbergConvert();
|
|
3
14
|
// --- Constants ---
|
|
4
15
|
// Preprocessing - Selectors for removal (balanced approach)
|
|
5
16
|
const PREPROCESSING_REMOVE_SELECTORS = [
|
|
@@ -9,6 +20,37 @@ const PREPROCESSING_REMOVE_SELECTORS = [
|
|
|
9
20
|
"iframe:not([title])", // Keep iframes with titles (potential embeds)
|
|
10
21
|
"svg", // Inline SVGs - decorative icons, bloat RAG with meaningless path data
|
|
11
22
|
"img[src*='data:image/svg']", // Base64 inline SVG images
|
|
23
|
+
"button",
|
|
24
|
+
"[role='button']",
|
|
25
|
+
"input[type='button']",
|
|
26
|
+
"input[type='submit']",
|
|
27
|
+
"input[type='reset']",
|
|
28
|
+
"#cookies",
|
|
29
|
+
"[id*='cookie-banner']",
|
|
30
|
+
"[id*='cookie-consent']",
|
|
31
|
+
"[class*='cookie-banner']",
|
|
32
|
+
"[class*='cookie-consent']",
|
|
33
|
+
"[class*='consent-banner']",
|
|
34
|
+
];
|
|
35
|
+
// Content subtree cleanup - remove boilerplate even when nested inside semantic main/article containers.
|
|
36
|
+
const CONTENT_SUBTREE_REMOVE_SELECTORS = [
|
|
37
|
+
"nav",
|
|
38
|
+
"header",
|
|
39
|
+
"footer",
|
|
40
|
+
"aside",
|
|
41
|
+
"[role='navigation']",
|
|
42
|
+
"[role='banner']",
|
|
43
|
+
"[role='contentinfo']",
|
|
44
|
+
"[role='complementary']",
|
|
45
|
+
"[class*='navbar']",
|
|
46
|
+
"[class*='site-nav']",
|
|
47
|
+
"[class*='site-header']",
|
|
48
|
+
"[class*='site-footer']",
|
|
49
|
+
"[id*='navbar']",
|
|
50
|
+
"[id*='site-header']",
|
|
51
|
+
"[id*='site-footer']",
|
|
52
|
+
"#footer",
|
|
53
|
+
"#header",
|
|
12
54
|
];
|
|
13
55
|
// Preprocessing - Selectors for identifying potential main content
|
|
14
56
|
const MAIN_CONTENT_SELECTORS = [
|
|
@@ -27,7 +69,6 @@ const MAIN_CONTENT_SELECTORS = [
|
|
|
27
69
|
// Common CMS patterns
|
|
28
70
|
".article",
|
|
29
71
|
".post",
|
|
30
|
-
".content",
|
|
31
72
|
".entry",
|
|
32
73
|
".blog-post",
|
|
33
74
|
// Fallback
|
|
@@ -66,7 +107,7 @@ export class MarkdownConverter {
|
|
|
66
107
|
*/
|
|
67
108
|
convert(html, options = {}) {
|
|
68
109
|
// Preprocess HTML to clean and extract main content
|
|
69
|
-
const preprocessedHtml = this.preprocessHTML(html);
|
|
110
|
+
const preprocessedHtml = this.preprocessHTML(html, options);
|
|
70
111
|
// Convert preprocessed HTML to Markdown using Kreuzberg (Rust-native)
|
|
71
112
|
let markdown = kreuzbergConvert(preprocessedHtml, { headingStyle: "Atx" });
|
|
72
113
|
// Post-process Markdown for cleanup
|
|
@@ -74,7 +115,7 @@ export class MarkdownConverter {
|
|
|
74
115
|
return markdown;
|
|
75
116
|
}
|
|
76
117
|
// --- HTML Preprocessing ---
|
|
77
|
-
preprocessHTML(html) {
|
|
118
|
+
preprocessHTML(html, options) {
|
|
78
119
|
// This function performs multi-stage processing on the HTML string:
|
|
79
120
|
// 1. Initial cleanup (regex-based).
|
|
80
121
|
// 2. Parsing into a DOM tree.
|
|
@@ -111,6 +152,7 @@ export class MarkdownConverter {
|
|
|
111
152
|
console.warn(`Skipping invalid selector during preprocessing: ${selector}`, e);
|
|
112
153
|
}
|
|
113
154
|
});
|
|
155
|
+
this.absolutizeRelativeUrls(rootElement, options.baseUrl);
|
|
114
156
|
// Remove img elements pointing to .svg URLs (decorative logos/icons; bloat RAG)
|
|
115
157
|
this.removeSvgImageRefs(rootElement);
|
|
116
158
|
// Remove breadcrumb UI blocks explicitly (often low link density)
|
|
@@ -149,6 +191,11 @@ export class MarkdownConverter {
|
|
|
149
191
|
if (body)
|
|
150
192
|
contentElement = body;
|
|
151
193
|
}
|
|
194
|
+
// Final content subtree cleanup: remove navigational and footer/header chrome
|
|
195
|
+
// even when it is nested under semantic containers like <main>.
|
|
196
|
+
this.removeContentSubtreeBoilerplate(contentElement);
|
|
197
|
+
// Remove generic high-link-density utility clusters still remaining inside content.
|
|
198
|
+
this.removeHighLinkDensityElementsInSelectedContent(contentElement);
|
|
152
199
|
// Ensure main page title is rendered as H1 in content
|
|
153
200
|
this.ensurePrimaryHeading(rootElement, contentElement, bestTitle);
|
|
154
201
|
let contentHtml = contentElement instanceof NHPHTMLElement ? contentElement.outerHTML : contentElement.textContent;
|
|
@@ -199,6 +246,110 @@ export class MarkdownConverter {
|
|
|
199
246
|
}
|
|
200
247
|
}
|
|
201
248
|
}
|
|
249
|
+
removeContentSubtreeBoilerplate(content) {
|
|
250
|
+
if (!(content instanceof NHPHTMLElement))
|
|
251
|
+
return;
|
|
252
|
+
for (const selector of CONTENT_SUBTREE_REMOVE_SELECTORS) {
|
|
253
|
+
try {
|
|
254
|
+
content.querySelectorAll(selector).forEach((el) => el.remove());
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
console.warn(`Skipping invalid selector during content subtree cleanup: ${selector}`, error);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
removeHighLinkDensityElementsInSelectedContent(content) {
|
|
262
|
+
if (!(content instanceof NHPHTMLElement))
|
|
263
|
+
return;
|
|
264
|
+
const candidates = content.querySelectorAll("div, section, nav, ul, ol, aside");
|
|
265
|
+
for (const candidate of Array.from(candidates)) {
|
|
266
|
+
if (!(candidate instanceof NHPHTMLElement))
|
|
267
|
+
continue;
|
|
268
|
+
if (candidate === content)
|
|
269
|
+
continue;
|
|
270
|
+
const text = (candidate.textContent || "").replace(/\s+/g, " ").trim();
|
|
271
|
+
if (text.length < MIN_LINK_DENSITY_TEXT_LENGTH)
|
|
272
|
+
continue;
|
|
273
|
+
const links = candidate.querySelectorAll("a");
|
|
274
|
+
if (links.length < 2)
|
|
275
|
+
continue;
|
|
276
|
+
const headingCount = candidate.querySelectorAll("h1, h2, h3, h4, h5, h6").length;
|
|
277
|
+
const paragraphs = candidate.querySelectorAll("p");
|
|
278
|
+
const hasParagraph = paragraphs.length > 0;
|
|
279
|
+
const hasLongParagraph = paragraphs.some((p) => ((p.textContent || "").replace(/\s+/g, " ").trim().length || 0) >= 140);
|
|
280
|
+
let linkTextLength = 0;
|
|
281
|
+
links.forEach((link) => {
|
|
282
|
+
if (link.closest("a") === link) {
|
|
283
|
+
linkTextLength += (link.textContent || "").replace(/\s+/g, " ").trim().length;
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
const density = linkTextLength / Math.max(1, text.length);
|
|
287
|
+
const nonLinkTextLength = Math.max(0, text.length - linkTextLength);
|
|
288
|
+
// Keep this intentionally conservative to avoid over-pruning content-heavy landing pages.
|
|
289
|
+
const likelyUtilityCluster = density > 0.78 &&
|
|
290
|
+
headingCount === 0 &&
|
|
291
|
+
!hasParagraph &&
|
|
292
|
+
!hasLongParagraph &&
|
|
293
|
+
text.length <= 260 &&
|
|
294
|
+
nonLinkTextLength < 120;
|
|
295
|
+
const likelyRelatedLinksCluster = links.length >= 4 &&
|
|
296
|
+
density > 0.82 &&
|
|
297
|
+
headingCount === 0 &&
|
|
298
|
+
!hasParagraph &&
|
|
299
|
+
!hasLongParagraph &&
|
|
300
|
+
text.length <= 320 &&
|
|
301
|
+
nonLinkTextLength < 80;
|
|
302
|
+
if (likelyUtilityCluster || likelyRelatedLinksCluster) {
|
|
303
|
+
candidate.remove();
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
absolutizeRelativeUrls(root, baseUrl) {
|
|
308
|
+
if (!baseUrl)
|
|
309
|
+
return;
|
|
310
|
+
let base;
|
|
311
|
+
try {
|
|
312
|
+
base = new URL(baseUrl);
|
|
313
|
+
}
|
|
314
|
+
catch {
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
root.querySelectorAll("a[href], img[src], source[src], video[src], audio[src], track[src]").forEach((el) => {
|
|
318
|
+
if (!(el instanceof NHPHTMLElement))
|
|
319
|
+
return;
|
|
320
|
+
const href = el.getAttribute("href");
|
|
321
|
+
if (href) {
|
|
322
|
+
const resolved = this.resolveUrlAgainstBase(href, base);
|
|
323
|
+
if (resolved)
|
|
324
|
+
el.setAttribute("href", resolved);
|
|
325
|
+
}
|
|
326
|
+
const src = el.getAttribute("src");
|
|
327
|
+
if (src) {
|
|
328
|
+
const resolved = this.resolveUrlAgainstBase(src, base);
|
|
329
|
+
if (resolved)
|
|
330
|
+
el.setAttribute("src", resolved);
|
|
331
|
+
}
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
resolveUrlAgainstBase(rawValue, base) {
|
|
335
|
+
const value = rawValue.trim();
|
|
336
|
+
if (!value)
|
|
337
|
+
return null;
|
|
338
|
+
// Keep non-http navigations untouched.
|
|
339
|
+
if (/^(?:mailto:|tel:|sms:|javascript:|data:|blob:|about:|file:)/i.test(value)) {
|
|
340
|
+
return value;
|
|
341
|
+
}
|
|
342
|
+
// Already absolute with a scheme.
|
|
343
|
+
if (/^[a-z][a-z0-9+.-]*:/i.test(value)) {
|
|
344
|
+
return value;
|
|
345
|
+
}
|
|
346
|
+
try {
|
|
347
|
+
return new URL(value, base).toString();
|
|
348
|
+
}
|
|
349
|
+
catch {
|
|
350
|
+
return value;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
202
353
|
/** Promote or inject a primary H1 heading using the provided title (from Kreuzberg metadata or DOM extraction). */
|
|
203
354
|
ensurePrimaryHeading(_root, content, providedTitle) {
|
|
204
355
|
if (!(content instanceof NHPHTMLElement))
|
|
@@ -305,6 +456,22 @@ export class MarkdownConverter {
|
|
|
305
456
|
return true;
|
|
306
457
|
return false;
|
|
307
458
|
}
|
|
459
|
+
isWithinProtectedMainContent(el) {
|
|
460
|
+
const protectedAncestor = el.closest?.("main, article, [role='main'], [role='article']");
|
|
461
|
+
return protectedAncestor instanceof NHPHTMLElement;
|
|
462
|
+
}
|
|
463
|
+
isLikelyConsentOrInterstitial(el) {
|
|
464
|
+
const id = (el.getAttribute?.("id") || "").toLowerCase();
|
|
465
|
+
const cls = (el.getAttribute?.("class") || "").toLowerCase();
|
|
466
|
+
const text = (el.textContent || "").toLowerCase();
|
|
467
|
+
if (id.includes("cookie") || cls.includes("cookie") || cls.includes("consent")) {
|
|
468
|
+
return true;
|
|
469
|
+
}
|
|
470
|
+
return (text.includes("manage preferences") ||
|
|
471
|
+
text.includes("agree to all") ||
|
|
472
|
+
text.includes("refuse all") ||
|
|
473
|
+
text.includes("accept cookies"));
|
|
474
|
+
}
|
|
308
475
|
// Potentially performance-intensive: involves iterating over many elements
|
|
309
476
|
// and performing sub-queries (querySelectorAll, textContent) for each.
|
|
310
477
|
removeHighLinkDensityElements(element, threshold) {
|
|
@@ -312,6 +479,12 @@ export class MarkdownConverter {
|
|
|
312
479
|
for (const el of Array.from(potentialBoilerplate)) {
|
|
313
480
|
if (!(el instanceof NHPHTMLElement))
|
|
314
481
|
continue;
|
|
482
|
+
if (this.isWithinProtectedMainContent(el))
|
|
483
|
+
continue;
|
|
484
|
+
if (this.isLikelyConsentOrInterstitial(el)) {
|
|
485
|
+
el.remove();
|
|
486
|
+
continue;
|
|
487
|
+
}
|
|
315
488
|
const textContent = el.textContent || "";
|
|
316
489
|
if (textContent.length < MIN_LINK_DENSITY_TEXT_LENGTH)
|
|
317
490
|
continue;
|
|
@@ -332,16 +505,49 @@ export class MarkdownConverter {
|
|
|
332
505
|
continue;
|
|
333
506
|
const density = linkTextLength / textLength;
|
|
334
507
|
if (density > threshold) {
|
|
335
|
-
// Avoid removing the element if it contains a primary content marker
|
|
336
508
|
const containsMainContent = el.querySelector('main, article, [role="main"], [role="article"]') !== null;
|
|
337
|
-
// Also avoid removing if it IS the main content candidate itself
|
|
338
509
|
const isMainContent = this.elementMatchesMainContent(el);
|
|
339
|
-
if (
|
|
340
|
-
|
|
341
|
-
|
|
510
|
+
if (containsMainContent || isMainContent)
|
|
511
|
+
continue;
|
|
512
|
+
// Protect large layout wrappers that contain both nav and content.
|
|
513
|
+
// If significant non-link text or content signals exist inside the element,
|
|
514
|
+
// it's likely a page-level container rather than pure navigation.
|
|
515
|
+
const nonLinkTextLength = Math.max(0, textLength - linkTextLength);
|
|
516
|
+
const hasHeadings = el.querySelectorAll("h1, h2, h3, h4, h5, h6").length > 0;
|
|
517
|
+
const hasParagraphs = el.querySelectorAll("p").length > 0;
|
|
518
|
+
if (nonLinkTextLength > 200 && (hasHeadings || hasParagraphs))
|
|
519
|
+
continue;
|
|
520
|
+
el.remove();
|
|
342
521
|
}
|
|
343
522
|
}
|
|
344
523
|
}
|
|
524
|
+
findSemanticMainContent(root) {
|
|
525
|
+
const semanticCandidates = root.querySelectorAll("main, article, [role='main'], [role='article']");
|
|
526
|
+
let bestCandidate = null;
|
|
527
|
+
let bestScore = -1;
|
|
528
|
+
for (const element of Array.from(semanticCandidates)) {
|
|
529
|
+
if (!(element instanceof NHPHTMLElement))
|
|
530
|
+
continue;
|
|
531
|
+
const textLength = (element.textContent || "").trim().length;
|
|
532
|
+
const headingCount = element.querySelectorAll("h1, h2, h3").length;
|
|
533
|
+
const imageCount = element.querySelectorAll("img, figure, video").length;
|
|
534
|
+
const paragraphCount = element.querySelectorAll("p").length;
|
|
535
|
+
if (textLength < 120 && headingCount === 0 && imageCount === 0)
|
|
536
|
+
continue;
|
|
537
|
+
let score = textLength;
|
|
538
|
+
if (headingCount > 0)
|
|
539
|
+
score += 150;
|
|
540
|
+
if (paragraphCount > 1)
|
|
541
|
+
score += 75;
|
|
542
|
+
if (imageCount > 0)
|
|
543
|
+
score += 40;
|
|
544
|
+
if (score > bestScore) {
|
|
545
|
+
bestScore = score;
|
|
546
|
+
bestCandidate = element;
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
return bestCandidate;
|
|
550
|
+
}
|
|
345
551
|
detectForumPage(root) {
|
|
346
552
|
// Count indicators across different selector groups
|
|
347
553
|
const countMatches = (selectors) => {
|
|
@@ -445,6 +651,10 @@ export class MarkdownConverter {
|
|
|
445
651
|
// Complexity depends on the number of selectors, matched elements, and the
|
|
446
652
|
// cost of _calculateElementScore.
|
|
447
653
|
extractArticleContentElement(root) {
|
|
654
|
+
const semanticMain = this.findSemanticMainContent(root);
|
|
655
|
+
if (semanticMain) {
|
|
656
|
+
return semanticMain;
|
|
657
|
+
}
|
|
448
658
|
let bestCandidate = null;
|
|
449
659
|
let maxScore = -1;
|
|
450
660
|
// Evaluate candidates based on selectors, text length, and tag boosting/penalties
|
|
@@ -578,9 +788,11 @@ export class MarkdownConverter {
|
|
|
578
788
|
// 3. Remove empty Markdown elements (links, images)
|
|
579
789
|
processed = processed.replace(/\[\]\([^)]*\)/g, ""); // Empty links: [](...)
|
|
580
790
|
processed = processed.replace(/!\[\]\([^)]*\)/g, ""); // Empty images: 
|
|
581
|
-
// 4. Normalize image/link URLs
|
|
791
|
+
// 4. Normalize protocol-relative image/link URLs
|
|
582
792
|
processed = processed.replace(/(!?\[[^\]]*\]\()(\/\/)/g, "$1https://"); // Fix protocol-relative URLs //
|
|
583
|
-
//
|
|
793
|
+
// Add a separator between adjacent links produced from tight inline UI chrome.
|
|
794
|
+
processed = processed.replace(/(\]\([^)]+\))(?=\[)/g, "$1 ");
|
|
795
|
+
processed = this.splitDenseAdjacentLinkRuns(processed);
|
|
584
796
|
// 5. Normalize newlines (max 2 consecutive newlines)
|
|
585
797
|
const maxNewlines = "\n".repeat(POSTPROCESSING_MAX_CONSECUTIVE_NEWLINES + 1);
|
|
586
798
|
const newlineRegex = new RegExp(`${maxNewlines}+`, "g");
|
|
@@ -607,5 +819,26 @@ export class MarkdownConverter {
|
|
|
607
819
|
// 11. Final trim
|
|
608
820
|
return processed.trim();
|
|
609
821
|
}
|
|
822
|
+
splitDenseAdjacentLinkRuns(markdown) {
|
|
823
|
+
return markdown
|
|
824
|
+
.split("\n")
|
|
825
|
+
.map((line) => {
|
|
826
|
+
const linkRuns = line.match(/\[[^\]]*]\([^)]+\)/g);
|
|
827
|
+
if (!linkRuns || linkRuns.length < 3 || line.length < 180)
|
|
828
|
+
return line;
|
|
829
|
+
return line.replace(/(\]\([^)]+\))\s*(?=\[)/g, "$1\n");
|
|
830
|
+
})
|
|
831
|
+
.join("\n");
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
/** Insert a "Source: <url>" line immediately below the first H1 heading. */
|
|
835
|
+
export function injectSourceUrl(markdown, sourceUrl) {
|
|
836
|
+
if (!markdown || !sourceUrl)
|
|
837
|
+
return markdown;
|
|
838
|
+
const head = markdown.split("\n").slice(0, 50).join("\n");
|
|
839
|
+
if (/^Source:\s+/m.test(head))
|
|
840
|
+
return markdown;
|
|
841
|
+
const safeUrl = sourceUrl.trim();
|
|
842
|
+
return markdown.replace(/^(\s*#\s.*)$/m, `$1\n\nSource: ${safeUrl}`);
|
|
610
843
|
}
|
|
611
844
|
//# sourceMappingURL=markdown-converter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-converter.js","sourceRoot":"","sources":["../../src/utils/markdown-converter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown-converter.js","sourceRoot":"","sources":["../../src/utils/markdown-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface HtmlRenderAssessment {
|
|
2
|
+
htmlLength: number;
|
|
3
|
+
visibleTextLength: number;
|
|
4
|
+
titleLength: number;
|
|
5
|
+
scriptCount: number;
|
|
6
|
+
headingCount: number;
|
|
7
|
+
hasMainLike: boolean;
|
|
8
|
+
hasRootContainer: boolean;
|
|
9
|
+
hasEmptyRootContainer: boolean;
|
|
10
|
+
hasNoscriptEnableJs: boolean;
|
|
11
|
+
qualityScore: number;
|
|
12
|
+
renderLikelyNeededScore: number;
|
|
13
|
+
renderLikelyNeeded: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface SerializedContentAssessment {
|
|
16
|
+
textLength: number;
|
|
17
|
+
titleLength: number;
|
|
18
|
+
qualityScore: number;
|
|
19
|
+
}
|
|
20
|
+
export declare function assessHtmlRenderNeed(html: string): HtmlRenderAssessment;
|
|
21
|
+
/**
|
|
22
|
+
* Detect if an HTTP response is a soft-block page (Cloudflare challenge, CAPTCHA,
|
|
23
|
+
* "verify you're human", etc.) that looks like a real HTML document but contains no
|
|
24
|
+
* actual page content.
|
|
25
|
+
*/
|
|
26
|
+
export declare function isSoftBlockPage(html: string): boolean;
|
|
27
|
+
export declare function assessSerializedContent(content: string, contentType: "html" | "markdown"): SerializedContentAssessment;
|
|
28
|
+
export declare function isRenderedContentMeaningfullyBetter(baseline: SerializedContentAssessment, candidate: SerializedContentAssessment): boolean;
|
|
29
|
+
//# sourceMappingURL=render-detection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-detection.d.ts","sourceRoot":"","sources":["../../src/utils/render-detection.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAkED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CA0CvE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUrD;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAAG,UAAU,GAC/B,2BAA2B,CAmB7B;AAED,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,2BAA2B,EACrC,SAAS,EAAE,2BAA2B,GACrC,OAAO,CAMT"}
|