@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":"images.js","sourceRoot":"","sources":["../../src/elements/images.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface MathData {
|
|
2
|
+
mathml: string;
|
|
3
|
+
latex: string | null;
|
|
4
|
+
isBlock: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const getMathMLFromElement: (el: Element) => MathData | null;
|
|
7
|
+
export declare const getBasicLatexFromElement: (el: Element) => string | null;
|
|
8
|
+
export declare const isBlockDisplay: (el: Element) => boolean;
|
|
9
|
+
export declare const mathSelectors: string;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mathSelectors = exports.isBlockDisplay = exports.getBasicLatexFromElement = exports.getMathMLFromElement = void 0;
|
|
4
|
+
const dom_1 = require("../utils/dom");
|
|
5
|
+
const getMathMLFromElement = (el) => {
|
|
6
|
+
// 1. Direct MathML content
|
|
7
|
+
if (el.tagName.toLowerCase() === 'math') {
|
|
8
|
+
const isBlock = el.getAttribute('display') === 'block';
|
|
9
|
+
return {
|
|
10
|
+
mathml: el.outerHTML,
|
|
11
|
+
latex: el.getAttribute('alttext') || null,
|
|
12
|
+
isBlock
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
// 2. MathML in data-mathml attribute
|
|
16
|
+
const mathmlStr = el.getAttribute('data-mathml');
|
|
17
|
+
if (mathmlStr) {
|
|
18
|
+
const doc = el.ownerDocument || document;
|
|
19
|
+
const fragment = (0, dom_1.parseHTML)(doc, mathmlStr);
|
|
20
|
+
const mathElement = fragment.querySelector('math');
|
|
21
|
+
if (mathElement) {
|
|
22
|
+
const isBlock = mathElement.getAttribute('display') === 'block';
|
|
23
|
+
return {
|
|
24
|
+
mathml: mathElement.outerHTML,
|
|
25
|
+
latex: mathElement.getAttribute('alttext') || null,
|
|
26
|
+
isBlock
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// 3. MathJax assistive MathML
|
|
31
|
+
const assistiveMmlContainer = el.querySelector('.MJX_Assistive_MathML, mjx-assistive-mml');
|
|
32
|
+
if (assistiveMmlContainer) {
|
|
33
|
+
const mathElement = assistiveMmlContainer.querySelector('math');
|
|
34
|
+
if (mathElement) {
|
|
35
|
+
// Check both the math element and container for display mode
|
|
36
|
+
const mathDisplayAttr = mathElement.getAttribute('display');
|
|
37
|
+
const containerDisplayAttr = assistiveMmlContainer.getAttribute('display');
|
|
38
|
+
const isBlock = mathDisplayAttr === 'block' || containerDisplayAttr === 'block';
|
|
39
|
+
return {
|
|
40
|
+
mathml: mathElement.outerHTML,
|
|
41
|
+
latex: mathElement.getAttribute('alttext') || null,
|
|
42
|
+
isBlock
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// 4. KaTeX MathML
|
|
47
|
+
const katexMathml = el.querySelector('.katex-mathml math');
|
|
48
|
+
if (katexMathml) {
|
|
49
|
+
return {
|
|
50
|
+
mathml: katexMathml.outerHTML,
|
|
51
|
+
latex: null, // We'll get LaTeX separately for KaTeX
|
|
52
|
+
isBlock: false // We'll determine this from container
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
};
|
|
57
|
+
exports.getMathMLFromElement = getMathMLFromElement;
|
|
58
|
+
const getBasicLatexFromElement = (el) => {
|
|
59
|
+
// Direct data-latex attribute
|
|
60
|
+
const dataLatex = el.getAttribute('data-latex');
|
|
61
|
+
if (dataLatex) {
|
|
62
|
+
return dataLatex;
|
|
63
|
+
}
|
|
64
|
+
// WordPress LaTeX images
|
|
65
|
+
if (el.tagName.toLowerCase() === 'img' && el.classList.contains('latex')) {
|
|
66
|
+
// Try alt text first as it's cleaner
|
|
67
|
+
const altLatex = el.getAttribute('alt');
|
|
68
|
+
if (altLatex) {
|
|
69
|
+
return altLatex;
|
|
70
|
+
}
|
|
71
|
+
// Fallback to extracting from URL
|
|
72
|
+
const src = el.getAttribute('src');
|
|
73
|
+
if (src) {
|
|
74
|
+
const match = src.match(/latex\.php\?latex=([^&]+)/);
|
|
75
|
+
if (match) {
|
|
76
|
+
return decodeURIComponent(match[1])
|
|
77
|
+
.replace(/\+/g, ' ') // Replace + with spaces
|
|
78
|
+
.replace(/%5C/g, '\\'); // Fix escaped backslashes
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// LaTeX in annotation
|
|
83
|
+
const annotation = el.querySelector('annotation[encoding="application/x-tex"]');
|
|
84
|
+
if (annotation?.textContent) {
|
|
85
|
+
return annotation.textContent.trim();
|
|
86
|
+
}
|
|
87
|
+
// KaTeX formats
|
|
88
|
+
if (el.matches('.katex')) {
|
|
89
|
+
const katexAnnotation = el.querySelector('.katex-mathml annotation[encoding="application/x-tex"]');
|
|
90
|
+
if (katexAnnotation?.textContent) {
|
|
91
|
+
return katexAnnotation.textContent.trim();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// MathJax scripts
|
|
95
|
+
if (el.matches('script[type="math/tex"]') || el.matches('script[type="math/tex; mode=display"]')) {
|
|
96
|
+
return el.textContent?.trim() || null;
|
|
97
|
+
}
|
|
98
|
+
// Check for sibling script element
|
|
99
|
+
if (el.parentElement) {
|
|
100
|
+
const siblingScript = el.parentElement.querySelector('script[type="math/tex"], script[type="math/tex; mode=display"]');
|
|
101
|
+
if (siblingScript) {
|
|
102
|
+
return siblingScript.textContent?.trim() || null;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// For <math> elements, textContent gives clean Unicode (e.g. "f′", "a~")
|
|
106
|
+
// Only safe for <math> — other containers (mjx-container, .katex) have garbage textContent
|
|
107
|
+
if (el.tagName.toLowerCase() === 'math' && el.textContent?.trim()) {
|
|
108
|
+
return el.textContent.trim();
|
|
109
|
+
}
|
|
110
|
+
// Fallback to alt text only
|
|
111
|
+
return el.getAttribute('alt') || null;
|
|
112
|
+
};
|
|
113
|
+
exports.getBasicLatexFromElement = getBasicLatexFromElement;
|
|
114
|
+
const isBlockDisplay = (el) => {
|
|
115
|
+
// Check explicit display attribute
|
|
116
|
+
const displayAttr = el.getAttribute('display');
|
|
117
|
+
if (displayAttr === 'block') {
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
// Check common class names
|
|
121
|
+
const classNames = (0, dom_1.getClassName)(el).toLowerCase();
|
|
122
|
+
if (classNames.includes('display') || classNames.includes('block')) {
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
// Check container classes
|
|
126
|
+
const container = el.closest('.katex-display, .MathJax_Display, [data-display="block"]');
|
|
127
|
+
if (container) {
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
// Check if preceded by block element
|
|
131
|
+
const prevElement = el.previousElementSibling;
|
|
132
|
+
if (prevElement?.tagName.toLowerCase() === 'p') {
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
// Check specific formats
|
|
136
|
+
if (el.matches('.mwe-math-fallback-image-display')) {
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
// Check KaTeX display mode
|
|
140
|
+
if (el.matches('.katex')) {
|
|
141
|
+
// KaTeX elements are inline by default
|
|
142
|
+
// Only block if explicitly marked as display
|
|
143
|
+
return el.closest('.katex-display') !== null;
|
|
144
|
+
}
|
|
145
|
+
// Check MathJax v3 display attribute
|
|
146
|
+
if (el.hasAttribute('display')) {
|
|
147
|
+
return el.getAttribute('display') === 'true';
|
|
148
|
+
}
|
|
149
|
+
// Check MathJax script display attribute
|
|
150
|
+
if (el.matches('script[type="math/tex; mode=display"]')) {
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
// Check parent container display attribute
|
|
154
|
+
const parentContainer = el.closest('[display]');
|
|
155
|
+
if (parentContainer) {
|
|
156
|
+
return parentContainer.getAttribute('display') === 'true';
|
|
157
|
+
}
|
|
158
|
+
return false;
|
|
159
|
+
};
|
|
160
|
+
exports.isBlockDisplay = isBlockDisplay;
|
|
161
|
+
// Shared selector for math elements
|
|
162
|
+
exports.mathSelectors = [
|
|
163
|
+
// WordPress LaTeX images
|
|
164
|
+
'img.latex[src*="latex.php"]',
|
|
165
|
+
// MathJax elements (v2 and v3)
|
|
166
|
+
'span.MathJax',
|
|
167
|
+
'mjx-container',
|
|
168
|
+
'script[type="math/tex"]',
|
|
169
|
+
'script[type="math/tex; mode=display"]',
|
|
170
|
+
'.MathJax_Preview + script[type="math/tex"]',
|
|
171
|
+
'.MathJax_Display',
|
|
172
|
+
'.MathJax_SVG',
|
|
173
|
+
'.MathJax_MathML',
|
|
174
|
+
// MediaWiki math elements
|
|
175
|
+
'.mwe-math-element',
|
|
176
|
+
'.mwe-math-fallback-image-inline',
|
|
177
|
+
'.mwe-math-fallback-image-display',
|
|
178
|
+
'.mwe-math-mathml-inline',
|
|
179
|
+
'.mwe-math-mathml-display',
|
|
180
|
+
// KaTeX elements
|
|
181
|
+
'.katex',
|
|
182
|
+
'.katex-display',
|
|
183
|
+
'.katex-mathml',
|
|
184
|
+
'.katex-html',
|
|
185
|
+
'[data-katex]',
|
|
186
|
+
'script[type="math/katex"]',
|
|
187
|
+
// Generic math elements and other formats
|
|
188
|
+
'math',
|
|
189
|
+
'[data-math]',
|
|
190
|
+
'[data-latex]',
|
|
191
|
+
'[data-tex]',
|
|
192
|
+
'script[type^="math/"]',
|
|
193
|
+
'annotation[encoding="application/x-tex"]'
|
|
194
|
+
].join(',');
|
|
195
|
+
//# sourceMappingURL=math.base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.base.js","sourceRoot":"","sources":["../../src/elements/math.base.ts"],"names":[],"mappings":";;;AAAA,sCAAuD;AAQhD,MAAM,oBAAoB,GAAG,CAAC,EAAW,EAAmB,EAAE;IACpE,2BAA2B;IAC3B,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC;QACvD,OAAO;YACN,MAAM,EAAE,EAAE,CAAC,SAAS;YACpB,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI;YACzC,OAAO;SACP,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,EAAE,CAAC,aAAa,IAAI,QAAQ,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAA,eAAS,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC;YAChE,OAAO;gBACN,MAAM,EAAE,WAAW,CAAC,SAAS;gBAC7B,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI;gBAClD,OAAO;aACP,CAAC;QACH,CAAC;IACF,CAAC;IAED,8BAA8B;IAC9B,MAAM,qBAAqB,GAAG,EAAE,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAE3F,IAAI,qBAAqB,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEhE,IAAI,WAAW,EAAE,CAAC;YACjB,6DAA6D;YAC7D,MAAM,eAAe,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC5D,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,eAAe,KAAK,OAAO,IAAI,oBAAoB,KAAK,OAAO,CAAC;YAEhF,OAAO;gBACN,MAAM,EAAE,WAAW,CAAC,SAAS;gBAC7B,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI;gBAClD,OAAO;aACP,CAAC;QACH,CAAC;IACF,CAAC;IAED,kBAAkB;IAClB,MAAM,WAAW,GAAG,EAAE,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC3D,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO;YACN,MAAM,EAAE,WAAW,CAAC,SAAS;YAC7B,KAAK,EAAE,IAAI,EAAE,uCAAuC;YACpD,OAAO,EAAE,KAAK,CAAC,sCAAsC;SACrD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AA1DW,QAAA,oBAAoB,wBA0D/B;AAEK,MAAM,wBAAwB,GAAG,CAAC,EAAW,EAAiB,EAAE;IACtE,8BAA8B;IAC9B,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,yBAAyB;IACzB,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1E,qCAAqC;QACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,kCAAkC;QAClC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,GAAG,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACrD,IAAI,KAAK,EAAE,CAAC;gBACX,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACjC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,wBAAwB;qBAC5C,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,0BAA0B;YACpD,CAAC;QACF,CAAC;IACF,CAAC;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAChF,IAAI,UAAU,EAAE,WAAW,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,gBAAgB;IAChB,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,EAAE,CAAC,aAAa,CAAC,wDAAwD,CAAC,CAAC;QACnG,IAAI,eAAe,EAAE,WAAW,EAAE,CAAC;YAClC,OAAO,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,kBAAkB;IAClB,IAAI,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,EAAE,CAAC;QAClG,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IACvC,CAAC;IAED,mCAAmC;IACnC,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,gEAAgE,CAAC,CAAC;QACvH,IAAI,aAAa,EAAE,CAAC;YACnB,OAAO,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;QAClD,CAAC;IACF,CAAC;IAED,yEAAyE;IACzE,2FAA2F;IAC3F,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC;QACnE,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,4BAA4B;IAC5B,OAAO,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;AACvC,CAAC,CAAC;AA9DW,QAAA,wBAAwB,4BA8DnC;AAEK,MAAM,cAAc,GAAG,CAAC,EAAW,EAAW,EAAE;IACtD,mCAAmC;IACnC,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAAG,IAAA,kBAAY,EAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACb,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC;IACzF,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACb,CAAC;IAED,qCAAqC;IACrC,MAAM,WAAW,GAAG,EAAE,CAAC,sBAAsB,CAAC;IAC9C,IAAI,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,yBAAyB;IACzB,IAAI,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,2BAA2B;IAC3B,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,uCAAuC;QACvC,6CAA6C;QAC7C,OAAO,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC9C,CAAC;IAED,qCAAqC;IACrC,IAAI,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC;IAC9C,CAAC;IAED,yCAAyC;IACzC,IAAI,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,2CAA2C;IAC3C,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,eAAe,EAAE,CAAC;QACrB,OAAO,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAtDW,QAAA,cAAc,kBAsDzB;AAEF,oCAAoC;AACvB,QAAA,aAAa,GAAG;IAC5B,yBAAyB;IACzB,6BAA6B;IAE7B,+BAA+B;IAC/B,cAAc;IACd,eAAe;IACf,yBAAyB;IACzB,uCAAuC;IACvC,4CAA4C;IAC5C,kBAAkB;IAClB,cAAc;IACd,iBAAiB;IAEjB,0BAA0B;IAC1B,mBAAmB;IACnB,iCAAiC;IACjC,kCAAkC;IAClC,yBAAyB;IACzB,0BAA0B;IAE1B,iBAAiB;IACjB,QAAQ;IACR,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,cAAc;IACd,2BAA2B;IAE3B,0CAA0C;IAC1C,MAAM;IACN,aAAa;IACb,cAAc;IACd,YAAY;IACZ,uBAAuB;IACvB,0CAA0C;CAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MathData } from './math.base';
|
|
2
|
+
export declare const createCleanMathEl: (doc: Document, mathData: MathData | null, latex: string | null, isBlock: boolean) => Element;
|
|
3
|
+
export declare const mathRules: {
|
|
4
|
+
selector: string;
|
|
5
|
+
element: string;
|
|
6
|
+
transform: (el: Element, doc: Document) => Element;
|
|
7
|
+
}[];
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mathRules = exports.createCleanMathEl = void 0;
|
|
4
|
+
const math_base_1 = require("./math.base");
|
|
5
|
+
const dom_1 = require("../utils/dom");
|
|
6
|
+
const createCleanMathEl = (doc, mathData, latex, isBlock) => {
|
|
7
|
+
const cleanMathEl = doc.createElement('math');
|
|
8
|
+
cleanMathEl.setAttribute('xmlns', 'http://www.w3.org/1998/Math/MathML');
|
|
9
|
+
cleanMathEl.setAttribute('display', isBlock ? 'block' : 'inline');
|
|
10
|
+
cleanMathEl.setAttribute('data-latex', latex || '');
|
|
11
|
+
// First try to use existing MathML content
|
|
12
|
+
if (mathData?.mathml) {
|
|
13
|
+
const fragment = (0, dom_1.parseHTML)(doc, mathData.mathml);
|
|
14
|
+
const mathContent = fragment.querySelector('math');
|
|
15
|
+
if (mathContent) {
|
|
16
|
+
(0, dom_1.transferContent)(mathContent, cleanMathEl);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// If no MathML content but we have LaTeX, store it as text content
|
|
20
|
+
else if (latex) {
|
|
21
|
+
cleanMathEl.textContent = latex;
|
|
22
|
+
}
|
|
23
|
+
return cleanMathEl;
|
|
24
|
+
};
|
|
25
|
+
exports.createCleanMathEl = createCleanMathEl;
|
|
26
|
+
function hasHTMLElementProps(el) {
|
|
27
|
+
return 'classList' in el && 'getAttribute' in el && 'querySelector' in el;
|
|
28
|
+
}
|
|
29
|
+
// Find math elements
|
|
30
|
+
exports.mathRules = [
|
|
31
|
+
{
|
|
32
|
+
selector: math_base_1.mathSelectors,
|
|
33
|
+
element: 'math',
|
|
34
|
+
transform: (el, doc) => {
|
|
35
|
+
if (!hasHTMLElementProps(el))
|
|
36
|
+
return el;
|
|
37
|
+
const mathData = (0, math_base_1.getMathMLFromElement)(el);
|
|
38
|
+
const latex = (0, math_base_1.getBasicLatexFromElement)(el);
|
|
39
|
+
const isBlock = (0, math_base_1.isBlockDisplay)(el);
|
|
40
|
+
const cleanMathEl = (0, exports.createCleanMathEl)(doc, mathData, latex, isBlock);
|
|
41
|
+
// Clean up any associated math scripts after we've extracted their content.
|
|
42
|
+
// Skip when el itself is a math script — it will be replaced by the
|
|
43
|
+
// caller, and removing siblings here would destroy unprocessed scripts.
|
|
44
|
+
if (el.parentElement && !el.matches('script[type^="math/"]')) {
|
|
45
|
+
const mathElements = el.parentElement.querySelectorAll('script[type^="math/"], .MathJax_Preview, script[type="text/javascript"][src*="mathjax"], script[type="text/javascript"][src*="katex"]');
|
|
46
|
+
mathElements.forEach(el => el.remove());
|
|
47
|
+
}
|
|
48
|
+
return cleanMathEl;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
];
|
|
52
|
+
//# sourceMappingURL=math.core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.core.js","sourceRoot":"","sources":["../../src/elements/math.core.ts"],"names":[],"mappings":";;;AAAA,2CAMqB;AACrB,sCAA0D;AAEnD,MAAM,iBAAiB,GAAG,CAAC,GAAa,EAAE,QAAyB,EAAE,KAAoB,EAAE,OAAgB,EAAW,EAAE;IAC9H,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9C,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;IACxE,WAAW,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,WAAW,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAEpD,2CAA2C;IAC3C,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAA,eAAS,EAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,WAAW,EAAE,CAAC;YACjB,IAAA,qBAAe,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IACD,mEAAmE;SAC9D,IAAI,KAAK,EAAE,CAAC;QAChB,WAAW,CAAC,WAAW,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AArBW,QAAA,iBAAiB,qBAqB5B;AAEF,SAAS,mBAAmB,CAAC,EAAW;IACvC,OAAO,WAAW,IAAI,EAAE,IAAI,cAAc,IAAI,EAAE,IAAI,eAAe,IAAI,EAAE,CAAC;AAC3E,CAAC;AAED,qBAAqB;AACR,QAAA,SAAS,GAAG;IACxB;QACC,QAAQ,EAAE,yBAAa;QACvB,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,CAAC,EAAW,EAAE,GAAa,EAAW,EAAE;YAClD,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAAE,OAAO,EAAE,CAAC;YAExC,MAAM,QAAQ,GAAG,IAAA,gCAAoB,EAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,IAAA,oCAAmB,EAAC,EAAE,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,IAAA,0BAAc,EAAC,EAAE,CAAC,CAAC;YACnC,MAAM,WAAW,GAAG,IAAA,yBAAiB,EAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAErE,4EAA4E;YAC5E,oEAAoE;YACpE,wEAAwE;YACxE,IAAI,EAAE,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAC9D,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAgB,CACrD,uIAAuI,CACvI,CAAC;gBACF,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YACzC,CAAC;YAED,OAAO,WAAW,CAAC;QACpB,CAAC;KACD;CACD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MathData } from './math.base';
|
|
2
|
+
export declare const getLatexFromElement: (el: Element) => string | null;
|
|
3
|
+
export declare const createCleanMathEl: (mathData: MathData | null, latex: string | null, isBlock: boolean, doc: Document) => Element;
|
|
4
|
+
export declare const mathRules: {
|
|
5
|
+
selector: string;
|
|
6
|
+
element: string;
|
|
7
|
+
transform: (el: Element) => Element;
|
|
8
|
+
}[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCleanMathEl = exports.mathRules = void 0;
|
|
4
|
+
var math_core_1 = require("./math.core");
|
|
5
|
+
Object.defineProperty(exports, "mathRules", { enumerable: true, get: function () { return math_core_1.mathRules; } });
|
|
6
|
+
Object.defineProperty(exports, "createCleanMathEl", { enumerable: true, get: function () { return math_core_1.createCleanMathEl; } });
|
|
7
|
+
//# sourceMappingURL=math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/elements/math.ts"],"names":[],"mappings":";;;AAKA,yCAA2D;AAAlD,sGAAA,SAAS,OAAA;AAAE,8GAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseExtractor, ExtractorOptions } from './extractors/_base';
|
|
2
|
+
type ExtractorConstructor = new (document: Document, url: string, schemaOrgData?: any, options?: ExtractorOptions) => BaseExtractor;
|
|
3
|
+
interface ExtractorMapping {
|
|
4
|
+
patterns: (string | RegExp)[];
|
|
5
|
+
extractor: ExtractorConstructor;
|
|
6
|
+
}
|
|
7
|
+
export declare class ExtractorRegistry {
|
|
8
|
+
private static mappings;
|
|
9
|
+
static initialize(): void;
|
|
10
|
+
static register(mapping: ExtractorMapping): void;
|
|
11
|
+
static findExtractor(document: Document, url: string, schemaOrgData?: any, options?: ExtractorOptions): BaseExtractor | null;
|
|
12
|
+
static findAsyncExtractor(document: Document, url: string, schemaOrgData?: any, options?: ExtractorOptions): BaseExtractor | null;
|
|
13
|
+
static findPreferredAsyncExtractor(document: Document, url: string, schemaOrgData?: any, options?: ExtractorOptions): BaseExtractor | null;
|
|
14
|
+
private static findByPredicate;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExtractorRegistry = void 0;
|
|
4
|
+
// Extractors
|
|
5
|
+
const reddit_1 = require("./extractors/reddit");
|
|
6
|
+
const twitter_1 = require("./extractors/twitter");
|
|
7
|
+
const x_article_1 = require("./extractors/x-article");
|
|
8
|
+
const youtube_1 = require("./extractors/youtube");
|
|
9
|
+
const hackernews_1 = require("./extractors/hackernews");
|
|
10
|
+
const chatgpt_1 = require("./extractors/chatgpt");
|
|
11
|
+
const claude_1 = require("./extractors/claude");
|
|
12
|
+
const grok_1 = require("./extractors/grok");
|
|
13
|
+
const gemini_1 = require("./extractors/gemini");
|
|
14
|
+
const github_1 = require("./extractors/github");
|
|
15
|
+
const x_oembed_1 = require("./extractors/x-oembed");
|
|
16
|
+
class ExtractorRegistry {
|
|
17
|
+
static initialize() {
|
|
18
|
+
// Register all extractors with their URL patterns
|
|
19
|
+
// X Article extractor must be registered BEFORE Twitter to take priority
|
|
20
|
+
// DOM-based canExtract() determines if page has article content
|
|
21
|
+
this.register({
|
|
22
|
+
patterns: [
|
|
23
|
+
'x.com',
|
|
24
|
+
'twitter.com',
|
|
25
|
+
],
|
|
26
|
+
extractor: x_article_1.XArticleExtractor
|
|
27
|
+
});
|
|
28
|
+
this.register({
|
|
29
|
+
patterns: [
|
|
30
|
+
'twitter.com',
|
|
31
|
+
/\/x\.com\/.*/,
|
|
32
|
+
],
|
|
33
|
+
extractor: twitter_1.TwitterExtractor
|
|
34
|
+
});
|
|
35
|
+
this.register({
|
|
36
|
+
patterns: [
|
|
37
|
+
'x.com',
|
|
38
|
+
'twitter.com',
|
|
39
|
+
],
|
|
40
|
+
extractor: x_oembed_1.XOembedExtractor
|
|
41
|
+
});
|
|
42
|
+
this.register({
|
|
43
|
+
patterns: [
|
|
44
|
+
'reddit.com',
|
|
45
|
+
'old.reddit.com',
|
|
46
|
+
'new.reddit.com',
|
|
47
|
+
/^https:\/\/[^\/]+\.reddit\.com/
|
|
48
|
+
],
|
|
49
|
+
extractor: reddit_1.RedditExtractor
|
|
50
|
+
});
|
|
51
|
+
this.register({
|
|
52
|
+
patterns: [
|
|
53
|
+
'youtube.com',
|
|
54
|
+
'youtu.be',
|
|
55
|
+
/youtube\.com\/watch\?v=.*/,
|
|
56
|
+
/youtu\.be\/.*/
|
|
57
|
+
],
|
|
58
|
+
extractor: youtube_1.YoutubeExtractor
|
|
59
|
+
});
|
|
60
|
+
this.register({
|
|
61
|
+
patterns: [
|
|
62
|
+
/news\.ycombinator\.com\/item\?id=.*/
|
|
63
|
+
],
|
|
64
|
+
extractor: hackernews_1.HackerNewsExtractor
|
|
65
|
+
});
|
|
66
|
+
this.register({
|
|
67
|
+
patterns: [
|
|
68
|
+
/^https?:\/\/chatgpt\.com\/(c|share)\/.*/
|
|
69
|
+
],
|
|
70
|
+
extractor: chatgpt_1.ChatGPTExtractor
|
|
71
|
+
});
|
|
72
|
+
this.register({
|
|
73
|
+
patterns: [
|
|
74
|
+
'claude.ai',
|
|
75
|
+
/^https?:\/\/claude\.ai\/(chat|share)\/.*/
|
|
76
|
+
],
|
|
77
|
+
extractor: claude_1.ClaudeExtractor
|
|
78
|
+
});
|
|
79
|
+
this.register({
|
|
80
|
+
patterns: [
|
|
81
|
+
/^https?:\/\/grok\.com\/(chat|share)(\/.*)?$/
|
|
82
|
+
],
|
|
83
|
+
extractor: grok_1.GrokExtractor,
|
|
84
|
+
});
|
|
85
|
+
this.register({
|
|
86
|
+
patterns: [
|
|
87
|
+
/^https?:\/\/gemini\.google\.com\/app\/.*/
|
|
88
|
+
],
|
|
89
|
+
extractor: gemini_1.GeminiExtractor
|
|
90
|
+
});
|
|
91
|
+
this.register({
|
|
92
|
+
patterns: [
|
|
93
|
+
'github.com',
|
|
94
|
+
/^https?:\/\/github\.com\/.*/
|
|
95
|
+
],
|
|
96
|
+
extractor: github_1.GitHubExtractor
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
static register(mapping) {
|
|
100
|
+
this.mappings.push(mapping);
|
|
101
|
+
}
|
|
102
|
+
static findExtractor(document, url, schemaOrgData, options) {
|
|
103
|
+
return this.findByPredicate(document, url, schemaOrgData, e => e.canExtract(), options);
|
|
104
|
+
}
|
|
105
|
+
static findAsyncExtractor(document, url, schemaOrgData, options) {
|
|
106
|
+
return this.findByPredicate(document, url, schemaOrgData, e => e.canExtractAsync(), options);
|
|
107
|
+
}
|
|
108
|
+
static findPreferredAsyncExtractor(document, url, schemaOrgData, options) {
|
|
109
|
+
return this.findByPredicate(document, url, schemaOrgData, e => e.canExtractAsync() && e.prefersAsync(), options);
|
|
110
|
+
}
|
|
111
|
+
static findByPredicate(document, url, schemaOrgData, predicate, options) {
|
|
112
|
+
try {
|
|
113
|
+
const domain = new URL(url).hostname;
|
|
114
|
+
for (const { patterns, extractor } of this.mappings) {
|
|
115
|
+
const matches = patterns.some(pattern => {
|
|
116
|
+
if (pattern instanceof RegExp) {
|
|
117
|
+
return pattern.test(url);
|
|
118
|
+
}
|
|
119
|
+
return domain.includes(pattern);
|
|
120
|
+
});
|
|
121
|
+
if (matches) {
|
|
122
|
+
const instance = new extractor(document, url, schemaOrgData, options);
|
|
123
|
+
if (predicate(instance)) {
|
|
124
|
+
return instance;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
console.error('Error finding extractor:', error);
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.ExtractorRegistry = ExtractorRegistry;
|
|
137
|
+
ExtractorRegistry.mappings = [];
|
|
138
|
+
// Initialize extractors
|
|
139
|
+
ExtractorRegistry.initialize();
|
|
140
|
+
//# sourceMappingURL=extractor-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractor-registry.js","sourceRoot":"","sources":["../src/extractor-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ExtractorResult } from '../types/extractors';
|
|
2
|
+
export interface ExtractorOptions {
|
|
3
|
+
includeReplies?: boolean | 'extractors';
|
|
4
|
+
language?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare abstract class BaseExtractor {
|
|
7
|
+
protected document: Document;
|
|
8
|
+
protected url: string;
|
|
9
|
+
protected schemaOrgData?: any;
|
|
10
|
+
protected options: ExtractorOptions;
|
|
11
|
+
constructor(document: Document, url: string, schemaOrgData?: any, options?: ExtractorOptions);
|
|
12
|
+
abstract canExtract(): boolean;
|
|
13
|
+
abstract extract(): ExtractorResult;
|
|
14
|
+
canExtractAsync(): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* When true, parseAsync() will prefer extractAsync() over extract(),
|
|
17
|
+
* even if sync extraction produces content. Use this when the async
|
|
18
|
+
* path provides strictly better results (e.g. YouTube transcripts).
|
|
19
|
+
*/
|
|
20
|
+
prefersAsync(): boolean;
|
|
21
|
+
extractAsync(): Promise<ExtractorResult>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseExtractor = void 0;
|
|
4
|
+
class BaseExtractor {
|
|
5
|
+
constructor(document, url, schemaOrgData, options) {
|
|
6
|
+
this.document = document;
|
|
7
|
+
this.url = url;
|
|
8
|
+
this.schemaOrgData = schemaOrgData;
|
|
9
|
+
this.options = options || {};
|
|
10
|
+
}
|
|
11
|
+
canExtractAsync() {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* When true, parseAsync() will prefer extractAsync() over extract(),
|
|
16
|
+
* even if sync extraction produces content. Use this when the async
|
|
17
|
+
* path provides strictly better results (e.g. YouTube transcripts).
|
|
18
|
+
*/
|
|
19
|
+
prefersAsync() {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
async extractAsync() {
|
|
23
|
+
return this.extract();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.BaseExtractor = BaseExtractor;
|
|
27
|
+
//# sourceMappingURL=_base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_base.js","sourceRoot":"","sources":["../../src/extractors/_base.ts"],"names":[],"mappings":";;;AAOA,MAAsB,aAAa;IAMlC,YAAY,QAAkB,EAAE,GAAW,EAAE,aAAmB,EAAE,OAA0B;QAC3F,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC9B,CAAC;IAKD,eAAe;QACd,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,YAAY;QACX,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY;QACjB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;CACD;AAhCD,sCAgCC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseExtractor } from './_base';
|
|
2
|
+
import { ConversationMessage, ConversationMetadata, Footnote, ExtractorResult } from '../types/extractors';
|
|
3
|
+
export declare abstract class ConversationExtractor extends BaseExtractor {
|
|
4
|
+
protected abstract extractMessages(): ConversationMessage[];
|
|
5
|
+
protected abstract getMetadata(): ConversationMetadata;
|
|
6
|
+
protected getFootnotes(): Footnote[];
|
|
7
|
+
extract(): ExtractorResult;
|
|
8
|
+
protected createContentHtml(messages: ConversationMessage[], footnotes: Footnote[]): string;
|
|
9
|
+
}
|