@mz1999/defuddle 0.14.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/LICENSE +21 -0
- package/README.md +371 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +145 -0
- package/dist/cli.js.map +1 -0
- package/dist/constants.d.ts +24 -0
- package/dist/constants.js +950 -0
- package/dist/constants.js.map +1 -0
- package/dist/defuddle.d.ts +136 -0
- package/dist/defuddle.js +1816 -0
- package/dist/defuddle.js.map +1 -0
- package/dist/elements/callouts.d.ts +6 -0
- package/dist/elements/callouts.js +74 -0
- package/dist/elements/callouts.js.map +1 -0
- package/dist/elements/code.d.ts +5 -0
- package/dist/elements/code.js +346 -0
- package/dist/elements/code.js.map +1 -0
- package/dist/elements/footnotes.d.ts +5 -0
- package/dist/elements/footnotes.js +619 -0
- package/dist/elements/footnotes.js.map +1 -0
- package/dist/elements/headings.d.ts +11 -0
- package/dist/elements/headings.js +100 -0
- package/dist/elements/headings.js.map +1 -0
- package/dist/elements/images.d.ts +8 -0
- package/dist/elements/images.js +877 -0
- package/dist/elements/images.js.map +1 -0
- package/dist/elements/math.base.d.ts +9 -0
- package/dist/elements/math.base.js +195 -0
- package/dist/elements/math.base.js.map +1 -0
- package/dist/elements/math.core.d.ts +7 -0
- package/dist/elements/math.core.js +52 -0
- package/dist/elements/math.core.js.map +1 -0
- package/dist/elements/math.d.ts +2 -0
- package/dist/elements/math.full.d.ts +8 -0
- package/dist/elements/math.js +7 -0
- package/dist/elements/math.js.map +1 -0
- package/dist/extractor-registry.d.ts +16 -0
- package/dist/extractor-registry.js +140 -0
- package/dist/extractor-registry.js.map +1 -0
- package/dist/extractors/_base.d.ts +22 -0
- package/dist/extractors/_base.js +27 -0
- package/dist/extractors/_base.js.map +1 -0
- package/dist/extractors/_conversation.d.ts +9 -0
- package/dist/extractors/_conversation.js +78 -0
- package/dist/extractors/_conversation.js.map +1 -0
- package/dist/extractors/chatgpt.d.ts +14 -0
- package/dist/extractors/chatgpt.js +138 -0
- package/dist/extractors/chatgpt.js.map +1 -0
- package/dist/extractors/claude.d.ts +10 -0
- package/dist/extractors/claude.js +91 -0
- package/dist/extractors/claude.js.map +1 -0
- package/dist/extractors/gemini.d.ts +14 -0
- package/dist/extractors/gemini.js +111 -0
- package/dist/extractors/gemini.js.map +1 -0
- package/dist/extractors/github.d.ts +20 -0
- package/dist/extractors/github.js +251 -0
- package/dist/extractors/github.js.map +1 -0
- package/dist/extractors/grok.d.ts +15 -0
- package/dist/extractors/grok.js +142 -0
- package/dist/extractors/grok.js.map +1 -0
- package/dist/extractors/hackernews.d.ts +21 -0
- package/dist/extractors/hackernews.js +155 -0
- package/dist/extractors/hackernews.js.map +1 -0
- package/dist/extractors/reddit.d.ts +22 -0
- package/dist/extractors/reddit.js +197 -0
- package/dist/extractors/reddit.js.map +1 -0
- package/dist/extractors/twitter.d.ts +16 -0
- package/dist/extractors/twitter.js +204 -0
- package/dist/extractors/twitter.js.map +1 -0
- package/dist/extractors/x-article.d.ts +24 -0
- package/dist/extractors/x-article.js +267 -0
- package/dist/extractors/x-article.js.map +1 -0
- package/dist/extractors/x-oembed.d.ts +20 -0
- package/dist/extractors/x-oembed.js +350 -0
- package/dist/extractors/x-oembed.js.map +1 -0
- package/dist/extractors/youtube.d.ts +87 -0
- package/dist/extractors/youtube.js +869 -0
- package/dist/extractors/youtube.js.map +1 -0
- package/dist/fetch.d.ts +18 -0
- package/dist/fetch.js +265 -0
- package/dist/fetch.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.full.d.ts +12 -0
- package/dist/index.full.js +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/markdown.d.ts +30 -0
- package/dist/markdown.js +661 -0
- package/dist/markdown.js.map +1 -0
- package/dist/metadata.d.ts +25 -0
- package/dist/metadata.js +426 -0
- package/dist/metadata.js.map +1 -0
- package/dist/node.d.ts +19 -0
- package/dist/node.js +78 -0
- package/dist/node.js.map +1 -0
- package/dist/scoring.d.ts +31 -0
- package/dist/scoring.js +472 -0
- package/dist/scoring.js.map +1 -0
- package/dist/standardize.d.ts +2 -0
- package/dist/standardize.js +1101 -0
- package/dist/standardize.js.map +1 -0
- package/dist/types/extractors.d.ts +41 -0
- package/dist/types/extractors.js +3 -0
- package/dist/types/extractors.js.map +1 -0
- package/dist/types.d.ts +135 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -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 +42 -0
- package/dist/utils/dom.js +104 -0
- package/dist/utils/dom.js.map +1 -0
- 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 +13 -0
- package/dist/utils.js +98 -0
- package/dist/utils.js.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standardize.js","sourceRoot":"","sources":["../src/standardize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface ConversationMessage {
|
|
2
|
+
author: string;
|
|
3
|
+
content: string;
|
|
4
|
+
timestamp?: string;
|
|
5
|
+
metadata?: {
|
|
6
|
+
role: string;
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export interface ConversationMetadata {
|
|
11
|
+
title: string;
|
|
12
|
+
site: string;
|
|
13
|
+
url: string;
|
|
14
|
+
messageCount: number;
|
|
15
|
+
description?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface Footnote {
|
|
18
|
+
url: string;
|
|
19
|
+
text: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ExtractorVariables {
|
|
22
|
+
[key: string]: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ExtractedContent {
|
|
25
|
+
title?: string;
|
|
26
|
+
author?: string;
|
|
27
|
+
published?: string;
|
|
28
|
+
content?: string;
|
|
29
|
+
contentHtml?: string;
|
|
30
|
+
variables?: ExtractorVariables;
|
|
31
|
+
}
|
|
32
|
+
export interface ExtractorResult {
|
|
33
|
+
content: string;
|
|
34
|
+
contentHtml: string;
|
|
35
|
+
extractedContent?: {
|
|
36
|
+
[key: string]: string;
|
|
37
|
+
};
|
|
38
|
+
variables?: {
|
|
39
|
+
[key: string]: string;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractors.js","sourceRoot":"","sources":["../../src/types/extractors.ts"],"names":[],"mappings":""}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
export interface DefuddleMetadata {
|
|
2
|
+
title: string;
|
|
3
|
+
description: string;
|
|
4
|
+
domain: string;
|
|
5
|
+
favicon: string;
|
|
6
|
+
image: string;
|
|
7
|
+
language: string;
|
|
8
|
+
parseTime: number;
|
|
9
|
+
published: string;
|
|
10
|
+
author: string;
|
|
11
|
+
site: string;
|
|
12
|
+
schemaOrgData: any;
|
|
13
|
+
wordCount: number;
|
|
14
|
+
}
|
|
15
|
+
export interface MetaTagItem {
|
|
16
|
+
name?: string | null;
|
|
17
|
+
property?: string | null;
|
|
18
|
+
content: string | null;
|
|
19
|
+
}
|
|
20
|
+
export interface DebugRemoval {
|
|
21
|
+
step: string;
|
|
22
|
+
selector?: string;
|
|
23
|
+
reason?: string;
|
|
24
|
+
text: string;
|
|
25
|
+
}
|
|
26
|
+
export interface DebugInfo {
|
|
27
|
+
contentSelector: string;
|
|
28
|
+
removals: DebugRemoval[];
|
|
29
|
+
}
|
|
30
|
+
export interface DefuddleResponse extends DefuddleMetadata {
|
|
31
|
+
content: string;
|
|
32
|
+
contentMarkdown?: string;
|
|
33
|
+
extractorType?: string;
|
|
34
|
+
metaTags?: MetaTagItem[];
|
|
35
|
+
debug?: DebugInfo;
|
|
36
|
+
variables?: {
|
|
37
|
+
[key: string]: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export interface DefuddleOptions {
|
|
41
|
+
/**
|
|
42
|
+
* Enable debug logging
|
|
43
|
+
* Defaults to false
|
|
44
|
+
*/
|
|
45
|
+
debug?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* URL of the page being parsed
|
|
48
|
+
*/
|
|
49
|
+
url?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Convert output to Markdown
|
|
52
|
+
* Defaults to false
|
|
53
|
+
*/
|
|
54
|
+
markdown?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Include Markdown in the response
|
|
57
|
+
* Defaults to false
|
|
58
|
+
*/
|
|
59
|
+
separateMarkdown?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Remove elements matching exact selectors like ads, social buttons, etc
|
|
62
|
+
* Defaults to true
|
|
63
|
+
*/
|
|
64
|
+
removeExactSelectors?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Remove elements matching partial selectors like ads, social buttons, etc
|
|
67
|
+
* Defaults to true
|
|
68
|
+
*/
|
|
69
|
+
removePartialSelectors?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Remove images
|
|
72
|
+
* Defaults to false
|
|
73
|
+
*/
|
|
74
|
+
removeImages?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Allow async extractors to fetch content from third-party APIs
|
|
77
|
+
* when no content can be extracted from the local HTML.
|
|
78
|
+
* Defaults to true
|
|
79
|
+
*/
|
|
80
|
+
useAsync?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Toggle hidden element removal
|
|
83
|
+
* Defaults to true
|
|
84
|
+
*/
|
|
85
|
+
removeHiddenElements?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Toggle content scoring/removal
|
|
88
|
+
* Defaults to true
|
|
89
|
+
*/
|
|
90
|
+
removeLowScoring?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Toggle small image removal
|
|
93
|
+
* Defaults to true
|
|
94
|
+
*/
|
|
95
|
+
removeSmallImages?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Toggle HTML standardization (footnotes, headings, code blocks, etc.)
|
|
98
|
+
* Defaults to true
|
|
99
|
+
*/
|
|
100
|
+
standardize?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Toggle content-based pattern removal (read time, boilerplate, article cards)
|
|
103
|
+
* Defaults to true
|
|
104
|
+
*/
|
|
105
|
+
removeContentPatterns?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* CSS selector to use as main content element, bypassing auto-detection
|
|
108
|
+
*/
|
|
109
|
+
contentSelector?: string;
|
|
110
|
+
/**
|
|
111
|
+
* Preferred language for content extraction (BCP 47 tag, e.g. 'en', 'fr', 'ja')
|
|
112
|
+
* Used as Accept-Language header when fetching pages and to select
|
|
113
|
+
* transcript language tracks in extractors like YouTube
|
|
114
|
+
*/
|
|
115
|
+
language?: string;
|
|
116
|
+
/**
|
|
117
|
+
* Include replies in extracted content
|
|
118
|
+
* - 'extractors' (default): include replies from site-specific extractors
|
|
119
|
+
* (e.g. Reddit, GitHub, Hacker News, Twitter/X)
|
|
120
|
+
* - true: include all replies, including page comment sections
|
|
121
|
+
* - false: exclude all replies
|
|
122
|
+
*/
|
|
123
|
+
includeReplies?: boolean | 'extractors';
|
|
124
|
+
}
|
|
125
|
+
export interface ExtractorVariables {
|
|
126
|
+
[key: string]: string;
|
|
127
|
+
}
|
|
128
|
+
export interface ExtractedContent {
|
|
129
|
+
title?: string;
|
|
130
|
+
author?: string;
|
|
131
|
+
published?: string;
|
|
132
|
+
content?: string;
|
|
133
|
+
contentHtml?: string;
|
|
134
|
+
variables?: ExtractorVariables;
|
|
135
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standardized comment HTML construction.
|
|
3
|
+
*
|
|
4
|
+
* Used by Reddit, Hacker News, GitHub, and other extractors to produce
|
|
5
|
+
* consistent comment markup.
|
|
6
|
+
*
|
|
7
|
+
* Metadata format (in markdown): **author** · date · score
|
|
8
|
+
* - date is linked if a url is provided
|
|
9
|
+
* - score is omitted if not provided
|
|
10
|
+
*/
|
|
11
|
+
export interface CommentData {
|
|
12
|
+
/** Comment author name */
|
|
13
|
+
author: string;
|
|
14
|
+
/** Display date (e.g. "2025-01-15") */
|
|
15
|
+
date: string;
|
|
16
|
+
/** Comment body HTML */
|
|
17
|
+
content: string;
|
|
18
|
+
/** Nesting depth (0 = top-level). Omit for flat lists. */
|
|
19
|
+
depth?: number;
|
|
20
|
+
/** Score text (e.g. "42 points", "25 points") */
|
|
21
|
+
score?: string;
|
|
22
|
+
/** Permalink URL for the comment */
|
|
23
|
+
url?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Build the full content HTML for a post with optional comments section.
|
|
27
|
+
* @param site - Site identifier for wrapper class (e.g. "reddit", "hackernews", "github")
|
|
28
|
+
* @param postContent - The main post body HTML
|
|
29
|
+
* @param comments - Pre-built comments HTML string (from buildCommentTree)
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildContentHtml(site: string, postContent: string, comments: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Build a nested comment tree from a flat list of comments with depth.
|
|
34
|
+
* Uses <blockquote> elements to represent reply hierarchy.
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildCommentTree(comments: CommentData[]): string;
|
|
37
|
+
/**
|
|
38
|
+
* Build a single comment div with metadata and content.
|
|
39
|
+
*
|
|
40
|
+
* Metadata order: author · date · score
|
|
41
|
+
* - date is wrapped in a link if url is provided
|
|
42
|
+
* - score is omitted if not provided
|
|
43
|
+
*/
|
|
44
|
+
export declare function buildComment(comment: CommentData): string;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Standardized comment HTML construction.
|
|
4
|
+
*
|
|
5
|
+
* Used by Reddit, Hacker News, GitHub, and other extractors to produce
|
|
6
|
+
* consistent comment markup.
|
|
7
|
+
*
|
|
8
|
+
* Metadata format (in markdown): **author** · date · score
|
|
9
|
+
* - date is linked if a url is provided
|
|
10
|
+
* - score is omitted if not provided
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.buildContentHtml = buildContentHtml;
|
|
14
|
+
exports.buildCommentTree = buildCommentTree;
|
|
15
|
+
exports.buildComment = buildComment;
|
|
16
|
+
const dom_1 = require("./dom");
|
|
17
|
+
/**
|
|
18
|
+
* Build the full content HTML for a post with optional comments section.
|
|
19
|
+
* @param site - Site identifier for wrapper class (e.g. "reddit", "hackernews", "github")
|
|
20
|
+
* @param postContent - The main post body HTML
|
|
21
|
+
* @param comments - Pre-built comments HTML string (from buildCommentTree)
|
|
22
|
+
*/
|
|
23
|
+
function buildContentHtml(site, postContent, comments) {
|
|
24
|
+
return `
|
|
25
|
+
<div class="${site} post">
|
|
26
|
+
<div class="post-content">
|
|
27
|
+
${postContent}
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
${comments ? `
|
|
31
|
+
<hr>
|
|
32
|
+
<div class="${site} comments">
|
|
33
|
+
<h2>Comments</h2>
|
|
34
|
+
${comments}
|
|
35
|
+
</div>
|
|
36
|
+
` : ''}
|
|
37
|
+
`.trim();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Build a nested comment tree from a flat list of comments with depth.
|
|
41
|
+
* Uses <blockquote> elements to represent reply hierarchy.
|
|
42
|
+
*/
|
|
43
|
+
function buildCommentTree(comments) {
|
|
44
|
+
const parts = [];
|
|
45
|
+
const blockquoteStack = [];
|
|
46
|
+
for (const comment of comments) {
|
|
47
|
+
const depth = comment.depth ?? 0;
|
|
48
|
+
if (depth === 0) {
|
|
49
|
+
while (blockquoteStack.length > 0) {
|
|
50
|
+
parts.push('</blockquote>');
|
|
51
|
+
blockquoteStack.pop();
|
|
52
|
+
}
|
|
53
|
+
parts.push('<blockquote>');
|
|
54
|
+
blockquoteStack.push(0);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
const currentDepth = blockquoteStack[blockquoteStack.length - 1] ?? -1;
|
|
58
|
+
if (depth < currentDepth) {
|
|
59
|
+
while (blockquoteStack.length > 0 && blockquoteStack[blockquoteStack.length - 1] >= depth) {
|
|
60
|
+
parts.push('</blockquote>');
|
|
61
|
+
blockquoteStack.pop();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Open a new level if needed (handles both deeper nesting
|
|
65
|
+
// and reopening after closing, e.g. depth 2 → 1 → 1)
|
|
66
|
+
const newCurrentDepth = blockquoteStack[blockquoteStack.length - 1] ?? -1;
|
|
67
|
+
if (depth > newCurrentDepth) {
|
|
68
|
+
parts.push('<blockquote>');
|
|
69
|
+
blockquoteStack.push(depth);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
parts.push(buildComment(comment));
|
|
73
|
+
}
|
|
74
|
+
while (blockquoteStack.length > 0) {
|
|
75
|
+
parts.push('</blockquote>');
|
|
76
|
+
blockquoteStack.pop();
|
|
77
|
+
}
|
|
78
|
+
return parts.join('');
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Build a single comment div with metadata and content.
|
|
82
|
+
*
|
|
83
|
+
* Metadata order: author · date · score
|
|
84
|
+
* - date is wrapped in a link if url is provided
|
|
85
|
+
* - score is omitted if not provided
|
|
86
|
+
*/
|
|
87
|
+
function buildComment(comment) {
|
|
88
|
+
const author = `<span class="comment-author"><strong>${(0, dom_1.escapeHtml)(comment.author)}</strong></span>`;
|
|
89
|
+
const safeUrl = comment.url && !(0, dom_1.isDangerousUrl)(comment.url) ? comment.url : '';
|
|
90
|
+
const dateHtml = safeUrl
|
|
91
|
+
? `<a href="${(0, dom_1.escapeHtml)(safeUrl)}" class="comment-link">${(0, dom_1.escapeHtml)(comment.date)}</a>`
|
|
92
|
+
: `<span class="comment-date">${(0, dom_1.escapeHtml)(comment.date)}</span>`;
|
|
93
|
+
const scoreHtml = comment.score
|
|
94
|
+
? ` · <span class="comment-points">${(0, dom_1.escapeHtml)(comment.score)}</span>`
|
|
95
|
+
: '';
|
|
96
|
+
return `<div class="comment">
|
|
97
|
+
<div class="comment-metadata">
|
|
98
|
+
${author} · ${dateHtml}${scoreHtml}
|
|
99
|
+
</div>
|
|
100
|
+
<div class="comment-content">${comment.content}</div>
|
|
101
|
+
</div>`;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=comments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/utils/comments.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AAyBH,4CAeC;AAMD,4CAwCC;AASD,oCAkBC;AA/GD,+BAAmD;AAiBnD;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,IAAY,EAAE,WAAmB,EAAE,QAAgB;IACnF,OAAO;gBACQ,IAAI;;MAEd,WAAW;;;IAGb,QAAQ,CAAC,CAAC,CAAC;;iBAEE,IAAI;;MAEf,QAAQ;;GAEX,CAAC,CAAC,CAAC,EAAE;EACN,CAAC,IAAI,EAAE,CAAC;AACV,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,QAAuB;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QAEjC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC5B,eAAe,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACP,MAAM,YAAY,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;gBAC1B,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;oBAC3F,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAC5B,eAAe,CAAC,GAAG,EAAE,CAAC;gBACvB,CAAC;YACF,CAAC;YACD,0DAA0D;YAC1D,qDAAqD;YACrD,MAAM,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1E,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC3B,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACF,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5B,eAAe,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,OAAoB;IAChD,MAAM,MAAM,GAAG,wCAAwC,IAAA,gBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;IAEpG,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,IAAA,oBAAc,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,MAAM,QAAQ,GAAG,OAAO;QACvB,CAAC,CAAC,YAAY,IAAA,gBAAU,EAAC,OAAO,CAAC,0BAA0B,IAAA,gBAAU,EAAC,OAAO,CAAC,IAAI,CAAC,MAAM;QACzF,CAAC,CAAC,8BAA8B,IAAA,gBAAU,EAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;IAEnE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK;QAC9B,CAAC,CAAC,mCAAmC,IAAA,gBAAU,EAAC,OAAO,CAAC,KAAK,CAAC,SAAS;QACvE,CAAC,CAAC,EAAE,CAAC;IAEN,OAAO;;IAEJ,MAAM,MAAM,QAAQ,GAAG,SAAS;;gCAEJ,OAAO,CAAC,OAAO;OACxC,CAAC;AACR,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Move all child nodes from source to target.
|
|
3
|
+
* Clears target first, then moves each child node from source.
|
|
4
|
+
*/
|
|
5
|
+
export declare function transferContent(source: Node, target: Node): void;
|
|
6
|
+
/**
|
|
7
|
+
* Read an element's inner HTML.
|
|
8
|
+
*/
|
|
9
|
+
export declare function serializeHTML(el: {
|
|
10
|
+
innerHTML: string;
|
|
11
|
+
}): string;
|
|
12
|
+
/**
|
|
13
|
+
* Decode HTML entities in a string (e.g. `&` → `&`).
|
|
14
|
+
* Uses a <textarea> element which is safe for entity decoding.
|
|
15
|
+
*/
|
|
16
|
+
export declare function decodeHTMLEntities(doc: Document, text: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Escape HTML special characters in a string.
|
|
19
|
+
*/
|
|
20
|
+
export declare function escapeHtml(text: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Safely get an element's class name as a string.
|
|
23
|
+
* Handles SVG elements where className is an SVGAnimatedString.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getClassName(el: Element): string;
|
|
26
|
+
/**
|
|
27
|
+
* Check if a URL uses a dangerous protocol (javascript:, data:text/html).
|
|
28
|
+
* Strips whitespace and control characters before checking.
|
|
29
|
+
*/
|
|
30
|
+
export declare function isDangerousUrl(url: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Check if an element belongs directly to an ancestor table,
|
|
33
|
+
* not to an intervening nested TABLE.
|
|
34
|
+
*/
|
|
35
|
+
export declare function isDirectTableChild(el: Node, ancestor: Node): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Parse an HTML string into a DocumentFragment.
|
|
38
|
+
* Uses a <template> element when available (safer: no script execution,
|
|
39
|
+
* no resource loading). Falls back to a <div> for environments that
|
|
40
|
+
* don't support template.content (e.g. some server-side DOM libraries).
|
|
41
|
+
*/
|
|
42
|
+
export declare function parseHTML(doc: Document, html: string): DocumentFragment;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transferContent = transferContent;
|
|
4
|
+
exports.serializeHTML = serializeHTML;
|
|
5
|
+
exports.decodeHTMLEntities = decodeHTMLEntities;
|
|
6
|
+
exports.escapeHtml = escapeHtml;
|
|
7
|
+
exports.getClassName = getClassName;
|
|
8
|
+
exports.isDangerousUrl = isDangerousUrl;
|
|
9
|
+
exports.isDirectTableChild = isDirectTableChild;
|
|
10
|
+
exports.parseHTML = parseHTML;
|
|
11
|
+
/**
|
|
12
|
+
* Move all child nodes from source to target.
|
|
13
|
+
* Clears target first, then moves each child node from source.
|
|
14
|
+
*/
|
|
15
|
+
function transferContent(source, target) {
|
|
16
|
+
if ('replaceChildren' in target) {
|
|
17
|
+
target.replaceChildren();
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
while (target.firstChild) {
|
|
21
|
+
target.removeChild(target.firstChild);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
while (source.firstChild) {
|
|
25
|
+
target.appendChild(source.firstChild);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Read an element's inner HTML.
|
|
30
|
+
*/
|
|
31
|
+
function serializeHTML(el) {
|
|
32
|
+
return el.innerHTML;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Decode HTML entities in a string (e.g. `&` → `&`).
|
|
36
|
+
* Uses a <textarea> element which is safe for entity decoding.
|
|
37
|
+
*/
|
|
38
|
+
function decodeHTMLEntities(doc, text) {
|
|
39
|
+
const textarea = doc.createElement('textarea');
|
|
40
|
+
textarea.innerHTML = text;
|
|
41
|
+
return textarea.value;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Escape HTML special characters in a string.
|
|
45
|
+
*/
|
|
46
|
+
function escapeHtml(text) {
|
|
47
|
+
return text
|
|
48
|
+
.replace(/&/g, '&')
|
|
49
|
+
.replace(/</g, '<')
|
|
50
|
+
.replace(/>/g, '>')
|
|
51
|
+
.replace(/"/g, '"');
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Safely get an element's class name as a string.
|
|
55
|
+
* Handles SVG elements where className is an SVGAnimatedString.
|
|
56
|
+
*/
|
|
57
|
+
function getClassName(el) {
|
|
58
|
+
return typeof el.className === 'string' ? el.className : el.getAttribute('class') || '';
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Check if a URL uses a dangerous protocol (javascript:, data:text/html).
|
|
62
|
+
* Strips whitespace and control characters before checking.
|
|
63
|
+
*/
|
|
64
|
+
function isDangerousUrl(url) {
|
|
65
|
+
const normalized = url.replace(/[\s\u0000-\u001F]+/g, '').toLowerCase();
|
|
66
|
+
return normalized.startsWith('javascript:') || normalized.startsWith('data:text/html');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Check if an element belongs directly to an ancestor table,
|
|
70
|
+
* not to an intervening nested TABLE.
|
|
71
|
+
*/
|
|
72
|
+
function isDirectTableChild(el, ancestor) {
|
|
73
|
+
let parent = el.parentNode;
|
|
74
|
+
while (parent && parent !== ancestor) {
|
|
75
|
+
if (parent.nodeName === 'TABLE')
|
|
76
|
+
return false;
|
|
77
|
+
parent = parent.parentNode;
|
|
78
|
+
}
|
|
79
|
+
return parent === ancestor;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Parse an HTML string into a DocumentFragment.
|
|
83
|
+
* Uses a <template> element when available (safer: no script execution,
|
|
84
|
+
* no resource loading). Falls back to a <div> for environments that
|
|
85
|
+
* don't support template.content (e.g. some server-side DOM libraries).
|
|
86
|
+
*/
|
|
87
|
+
function parseHTML(doc, html) {
|
|
88
|
+
if (!html)
|
|
89
|
+
return doc.createDocumentFragment();
|
|
90
|
+
const template = doc.createElement('template');
|
|
91
|
+
template.innerHTML = html;
|
|
92
|
+
if (template.content) {
|
|
93
|
+
return template.content;
|
|
94
|
+
}
|
|
95
|
+
// Fallback for environments without template.content support
|
|
96
|
+
const div = doc.createElement('div');
|
|
97
|
+
div.innerHTML = html;
|
|
98
|
+
const fragment = doc.createDocumentFragment();
|
|
99
|
+
while (div.firstChild) {
|
|
100
|
+
fragment.appendChild(div.firstChild);
|
|
101
|
+
}
|
|
102
|
+
return fragment;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=dom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/utils/dom.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseLinkedomHTML = parseLinkedomHTML;
|
|
4
|
+
const linkedom_1 = require("linkedom");
|
|
5
|
+
/**
|
|
6
|
+
* Parse HTML with linkedom and apply polyfills for missing DOM APIs
|
|
7
|
+
* (styleSheets, getComputedStyle) that defuddle's internals expect.
|
|
8
|
+
*/
|
|
9
|
+
function parseLinkedomHTML(html, url) {
|
|
10
|
+
const { document } = (0, linkedom_1.parseHTML)(html);
|
|
11
|
+
const doc = document;
|
|
12
|
+
if (!doc.styleSheets)
|
|
13
|
+
doc.styleSheets = [];
|
|
14
|
+
if (doc.defaultView && !doc.defaultView.getComputedStyle) {
|
|
15
|
+
doc.defaultView.getComputedStyle = () => ({ display: '' });
|
|
16
|
+
}
|
|
17
|
+
// document.URL is read-only per spec, but linkedom allows mutation.
|
|
18
|
+
// This sets the base URL for relative URL resolution and extractor matching.
|
|
19
|
+
if (url)
|
|
20
|
+
doc.URL = url;
|
|
21
|
+
return document;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=linkedom-compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linkedom-compat.js","sourceRoot":"","sources":["../../src/utils/linkedom-compat.ts"],"names":[],"mappings":";;AAMA,8CAWC;AAjBD,uCAAqC;AAErC;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,IAAY,EAAE,GAAY;IAC3D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,oBAAS,EAAC,IAAI,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,QAAe,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC;IAC3C,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAC1D,GAAG,CAAC,WAAW,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,oEAAoE;IACpE,6EAA6E;IAC7E,IAAI,GAAG;QAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACvB,OAAO,QAA+B,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standardized transcript HTML and text construction.
|
|
3
|
+
*
|
|
4
|
+
* Used by YouTube (and potentially other video/audio extractors)
|
|
5
|
+
* to produce consistent transcript markup.
|
|
6
|
+
*/
|
|
7
|
+
export interface TranscriptSegment {
|
|
8
|
+
/** Start time in seconds */
|
|
9
|
+
start: number;
|
|
10
|
+
/** Segment text (plain, not HTML-escaped) */
|
|
11
|
+
text: string;
|
|
12
|
+
/** Whether this segment starts a new speaker turn */
|
|
13
|
+
speakerChange: boolean;
|
|
14
|
+
/** Speaker index (0, 1, ...) for CSS classes */
|
|
15
|
+
speaker?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface TranscriptChapter {
|
|
18
|
+
title: string;
|
|
19
|
+
/** Start time in seconds */
|
|
20
|
+
start: number;
|
|
21
|
+
}
|
|
22
|
+
export interface TranscriptResult {
|
|
23
|
+
html: string;
|
|
24
|
+
text: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Format seconds as a human-readable timestamp (M:SS or H:MM:SS).
|
|
28
|
+
*/
|
|
29
|
+
export declare function formatTimestamp(seconds: number): string;
|
|
30
|
+
/**
|
|
31
|
+
* Build transcript HTML and text from segments and optional chapters.
|
|
32
|
+
*
|
|
33
|
+
* @param site - Site identifier for wrapper class (e.g. "youtube")
|
|
34
|
+
* @param segments - Grouped transcript segments with timestamps and speaker info
|
|
35
|
+
* @param chapters - Optional chapter headings with start times
|
|
36
|
+
*/
|
|
37
|
+
export declare function buildTranscript(site: string, segments: TranscriptSegment[], chapters?: TranscriptChapter[]): TranscriptResult;
|