@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.
Files changed (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +371 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.js +145 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/constants.d.ts +24 -0
  7. package/dist/constants.js +950 -0
  8. package/dist/constants.js.map +1 -0
  9. package/dist/defuddle.d.ts +136 -0
  10. package/dist/defuddle.js +1816 -0
  11. package/dist/defuddle.js.map +1 -0
  12. package/dist/elements/callouts.d.ts +6 -0
  13. package/dist/elements/callouts.js +74 -0
  14. package/dist/elements/callouts.js.map +1 -0
  15. package/dist/elements/code.d.ts +5 -0
  16. package/dist/elements/code.js +346 -0
  17. package/dist/elements/code.js.map +1 -0
  18. package/dist/elements/footnotes.d.ts +5 -0
  19. package/dist/elements/footnotes.js +619 -0
  20. package/dist/elements/footnotes.js.map +1 -0
  21. package/dist/elements/headings.d.ts +11 -0
  22. package/dist/elements/headings.js +100 -0
  23. package/dist/elements/headings.js.map +1 -0
  24. package/dist/elements/images.d.ts +8 -0
  25. package/dist/elements/images.js +877 -0
  26. package/dist/elements/images.js.map +1 -0
  27. package/dist/elements/math.base.d.ts +9 -0
  28. package/dist/elements/math.base.js +195 -0
  29. package/dist/elements/math.base.js.map +1 -0
  30. package/dist/elements/math.core.d.ts +7 -0
  31. package/dist/elements/math.core.js +52 -0
  32. package/dist/elements/math.core.js.map +1 -0
  33. package/dist/elements/math.d.ts +2 -0
  34. package/dist/elements/math.full.d.ts +8 -0
  35. package/dist/elements/math.js +7 -0
  36. package/dist/elements/math.js.map +1 -0
  37. package/dist/extractor-registry.d.ts +16 -0
  38. package/dist/extractor-registry.js +140 -0
  39. package/dist/extractor-registry.js.map +1 -0
  40. package/dist/extractors/_base.d.ts +22 -0
  41. package/dist/extractors/_base.js +27 -0
  42. package/dist/extractors/_base.js.map +1 -0
  43. package/dist/extractors/_conversation.d.ts +9 -0
  44. package/dist/extractors/_conversation.js +78 -0
  45. package/dist/extractors/_conversation.js.map +1 -0
  46. package/dist/extractors/chatgpt.d.ts +14 -0
  47. package/dist/extractors/chatgpt.js +138 -0
  48. package/dist/extractors/chatgpt.js.map +1 -0
  49. package/dist/extractors/claude.d.ts +10 -0
  50. package/dist/extractors/claude.js +91 -0
  51. package/dist/extractors/claude.js.map +1 -0
  52. package/dist/extractors/gemini.d.ts +14 -0
  53. package/dist/extractors/gemini.js +111 -0
  54. package/dist/extractors/gemini.js.map +1 -0
  55. package/dist/extractors/github.d.ts +20 -0
  56. package/dist/extractors/github.js +251 -0
  57. package/dist/extractors/github.js.map +1 -0
  58. package/dist/extractors/grok.d.ts +15 -0
  59. package/dist/extractors/grok.js +142 -0
  60. package/dist/extractors/grok.js.map +1 -0
  61. package/dist/extractors/hackernews.d.ts +21 -0
  62. package/dist/extractors/hackernews.js +155 -0
  63. package/dist/extractors/hackernews.js.map +1 -0
  64. package/dist/extractors/reddit.d.ts +22 -0
  65. package/dist/extractors/reddit.js +197 -0
  66. package/dist/extractors/reddit.js.map +1 -0
  67. package/dist/extractors/twitter.d.ts +16 -0
  68. package/dist/extractors/twitter.js +204 -0
  69. package/dist/extractors/twitter.js.map +1 -0
  70. package/dist/extractors/x-article.d.ts +24 -0
  71. package/dist/extractors/x-article.js +267 -0
  72. package/dist/extractors/x-article.js.map +1 -0
  73. package/dist/extractors/x-oembed.d.ts +20 -0
  74. package/dist/extractors/x-oembed.js +350 -0
  75. package/dist/extractors/x-oembed.js.map +1 -0
  76. package/dist/extractors/youtube.d.ts +87 -0
  77. package/dist/extractors/youtube.js +869 -0
  78. package/dist/extractors/youtube.js.map +1 -0
  79. package/dist/fetch.d.ts +18 -0
  80. package/dist/fetch.js +265 -0
  81. package/dist/fetch.js.map +1 -0
  82. package/dist/index.d.ts +3 -0
  83. package/dist/index.full.d.ts +12 -0
  84. package/dist/index.full.js +1 -0
  85. package/dist/index.js +1 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/markdown.d.ts +30 -0
  88. package/dist/markdown.js +661 -0
  89. package/dist/markdown.js.map +1 -0
  90. package/dist/metadata.d.ts +25 -0
  91. package/dist/metadata.js +426 -0
  92. package/dist/metadata.js.map +1 -0
  93. package/dist/node.d.ts +19 -0
  94. package/dist/node.js +78 -0
  95. package/dist/node.js.map +1 -0
  96. package/dist/scoring.d.ts +31 -0
  97. package/dist/scoring.js +472 -0
  98. package/dist/scoring.js.map +1 -0
  99. package/dist/standardize.d.ts +2 -0
  100. package/dist/standardize.js +1101 -0
  101. package/dist/standardize.js.map +1 -0
  102. package/dist/types/extractors.d.ts +41 -0
  103. package/dist/types/extractors.js +3 -0
  104. package/dist/types/extractors.js.map +1 -0
  105. package/dist/types.d.ts +135 -0
  106. package/dist/types.js +3 -0
  107. package/dist/types.js.map +1 -0
  108. package/dist/utils/comments.d.ts +44 -0
  109. package/dist/utils/comments.js +103 -0
  110. package/dist/utils/comments.js.map +1 -0
  111. package/dist/utils/dom.d.ts +42 -0
  112. package/dist/utils/dom.js +104 -0
  113. package/dist/utils/dom.js.map +1 -0
  114. package/dist/utils/linkedom-compat.d.ts +5 -0
  115. package/dist/utils/linkedom-compat.js +23 -0
  116. package/dist/utils/linkedom-compat.js.map +1 -0
  117. package/dist/utils/transcript.d.ts +37 -0
  118. package/dist/utils/transcript.js +61 -0
  119. package/dist/utils/transcript.js.map +1 -0
  120. package/dist/utils.d.ts +13 -0
  121. package/dist/utils.js +98 -0
  122. package/dist/utils.js.map +1 -0
  123. 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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=extractors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractors.js","sourceRoot":"","sources":["../../src/types/extractors.ts"],"names":[],"mappings":""}
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -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":"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"}
@@ -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. `&amp;` → `&`).
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. `&amp;` → `&`).
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, '&amp;')
49
+ .replace(/</g, '&lt;')
50
+ .replace(/>/g, '&gt;')
51
+ .replace(/"/g, '&quot;');
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":";;AAIA,0CAWC;AAKD,sCAEC;AAMD,gDAIC;AAKD,gCAMC;AAMD,oCAEC;AAMD,wCAGC;AAMD,gDAOC;AAQD,8BAgBC;AAjGD;;;GAGG;AACH,SAAgB,eAAe,CAAC,MAAY,EAAE,MAAY;IACzD,IAAI,iBAAiB,IAAI,MAAM,EAAE,CAAC;QAChC,MAAkB,CAAC,eAAe,EAAE,CAAC;IACvC,CAAC;SAAM,CAAC;QACP,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1B,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1B,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,EAAyB;IACtD,OAAO,EAAE,CAAC,SAAS,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,GAAa,EAAE,IAAY;IAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,OAAO,QAAQ,CAAC,KAAK,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,IAAY;IACtC,OAAO,IAAI;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,EAAW;IACvC,OAAO,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACzF,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,GAAW;IACzC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACxE,OAAO,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACxF,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,EAAQ,EAAE,QAAc;IAC1D,IAAI,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC;IAC3B,OAAO,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,KAAK,QAAQ,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,GAAa,EAAE,IAAY;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAE/C,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC,OAAO,CAAC;IACzB,CAAC;IACD,6DAA6D;IAC7D,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;IACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAC9C,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Parse HTML with linkedom and apply polyfills for missing DOM APIs
3
+ * (styleSheets, getComputedStyle) that defuddle's internals expect.
4
+ */
5
+ export declare function parseLinkedomHTML(html: string, url?: string): Document;
@@ -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;