defuddle 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/constants.d.ts +0 -2
  2. package/dist/constants.js +39 -10
  3. package/dist/constants.js.map +1 -1
  4. package/dist/defuddle.d.ts +1 -20
  5. package/dist/defuddle.js +151 -807
  6. package/dist/defuddle.js.map +1 -1
  7. package/dist/elements/code.js +76 -11
  8. package/dist/elements/code.js.map +1 -1
  9. package/dist/elements/footnotes.js +420 -45
  10. package/dist/elements/footnotes.js.map +1 -1
  11. package/dist/elements/headings.js +5 -0
  12. package/dist/elements/headings.js.map +1 -1
  13. package/dist/elements/math.base.d.ts +1 -0
  14. package/dist/elements/math.base.js +4 -1
  15. package/dist/elements/math.base.js.map +1 -1
  16. package/dist/elements/math.core.d.ts +1 -0
  17. package/dist/elements/math.d.ts +1 -1
  18. package/dist/elements/math.full.d.ts +1 -0
  19. package/dist/elements/math.full.js +90 -0
  20. package/dist/elements/math.full.js.map +1 -0
  21. package/dist/elements/math.js +3 -3
  22. package/dist/extractor-registry.js +20 -0
  23. package/dist/extractor-registry.js.map +1 -1
  24. package/dist/extractors/bbcode-data.d.ts +10 -0
  25. package/dist/extractors/bbcode-data.js +59 -0
  26. package/dist/extractors/bbcode-data.js.map +1 -0
  27. package/dist/extractors/c2-wiki.d.ts +15 -0
  28. package/dist/extractors/c2-wiki.js +143 -0
  29. package/dist/extractors/c2-wiki.js.map +1 -0
  30. package/dist/extractors/reddit.d.ts +1 -0
  31. package/dist/extractors/reddit.js +14 -14
  32. package/dist/extractors/reddit.js.map +1 -1
  33. package/dist/extractors/substack.d.ts +17 -0
  34. package/dist/extractors/substack.js +188 -0
  35. package/dist/extractors/substack.js.map +1 -0
  36. package/dist/extractors/x-article.d.ts +1 -0
  37. package/dist/extractors/x-article.js +27 -2
  38. package/dist/extractors/x-article.js.map +1 -1
  39. package/dist/extractors/x-oembed.js +1 -1
  40. package/dist/extractors/x-oembed.js.map +1 -1
  41. package/dist/extractors/youtube.d.ts +9 -2
  42. package/dist/extractors/youtube.js +161 -29
  43. package/dist/extractors/youtube.js.map +1 -1
  44. package/dist/fetch.js +183 -14
  45. package/dist/fetch.js.map +1 -1
  46. package/dist/index.full.js +1 -1
  47. package/dist/index.js +1 -1
  48. package/dist/markdown.js +27 -2
  49. package/dist/markdown.js.map +1 -1
  50. package/dist/metadata.d.ts +4 -3
  51. package/dist/metadata.js +195 -41
  52. package/dist/metadata.js.map +1 -1
  53. package/dist/node.d.ts +1 -1
  54. package/dist/node.js +3 -6
  55. package/dist/node.js.map +1 -1
  56. package/dist/removals/content-patterns.d.ts +2 -0
  57. package/dist/removals/content-patterns.js +835 -0
  58. package/dist/removals/content-patterns.js.map +1 -0
  59. package/dist/removals/hidden.d.ts +2 -0
  60. package/dist/removals/hidden.js +78 -0
  61. package/dist/removals/hidden.js.map +1 -0
  62. package/dist/removals/metadata-block.d.ts +8 -0
  63. package/dist/removals/metadata-block.js +40 -0
  64. package/dist/removals/metadata-block.js.map +1 -0
  65. package/dist/{scoring.d.ts → removals/scoring.d.ts} +1 -1
  66. package/dist/{scoring.js → removals/scoring.js} +7 -9
  67. package/dist/removals/scoring.js.map +1 -0
  68. package/dist/removals/selectors.d.ts +2 -0
  69. package/dist/removals/selectors.js +118 -0
  70. package/dist/removals/selectors.js.map +1 -0
  71. package/dist/removals/small-images.d.ts +3 -0
  72. package/dist/removals/small-images.js +116 -0
  73. package/dist/removals/small-images.js.map +1 -0
  74. package/dist/standardize.d.ts +2 -1
  75. package/dist/standardize.js +106 -62
  76. package/dist/standardize.js.map +1 -1
  77. package/dist/types/extractors.d.ts +1 -0
  78. package/dist/types.d.ts +5 -0
  79. package/dist/utils/bbcode.d.ts +6 -0
  80. package/dist/utils/bbcode.js +57 -0
  81. package/dist/utils/bbcode.js.map +1 -0
  82. package/dist/utils.js +1 -1
  83. package/dist/utils.js.map +1 -1
  84. package/package.json +1 -1
  85. package/dist/elements/math.core.js +0 -52
  86. package/dist/elements/math.core.js.map +0 -1
  87. package/dist/index.js.map +0 -1
  88. package/dist/scoring.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.standardizeContent = standardizeContent;
4
+ exports.removeOrphanedDividers = removeOrphanedDividers;
4
5
  const constants_1 = require("./constants");
5
6
  const math_1 = require("./elements/math");
6
7
  const code_1 = require("./elements/code");
@@ -108,58 +109,71 @@ const ELEMENT_STANDARDIZATION_RULES = [
108
109
  }
109
110
  }
110
111
  ];
111
- function standardizeContent(element, metadata, doc, debug = false) {
112
+ function standardizeContent(element, metadata, doc, debug = false, subProfile) {
112
113
  _debug = debug;
113
- standardizeSpaces(element);
114
- // Remove HTML comments
115
- removeHtmlComments(element);
116
- // Handle H1 elements - remove first one and convert others to H2
117
- standardizeHeadings(element, metadata.title, doc);
118
- // Wrap code elements with white-space: pre in <pre> before attribute stripping
119
- wrapPreformattedCode(element, doc);
120
- // Convert embedded content to standard formats
121
- standardizeElements(element, doc);
122
- // If not debug mode, do the full cleanup
114
+ const step = subProfile
115
+ ? (name, fn) => {
116
+ const t = performance.now();
117
+ const r = fn();
118
+ subProfile[name] = (subProfile[name] ?? 0) + Math.round(performance.now() - t);
119
+ return r;
120
+ }
121
+ : (_, fn) => fn();
122
+ step('standardizeSpaces', () => standardizeSpaces(element));
123
+ step('removeHtmlComments', () => removeHtmlComments(element));
124
+ step('standardizeHeadings', () => standardizeHeadings(element, metadata.title, doc));
125
+ step('wrapPreformattedCode', () => wrapPreformattedCode(element, doc));
126
+ step('standardizeElements', () => standardizeElements(element, doc, subProfile));
123
127
  if (!debug) {
124
- // First pass of div flattening
125
- flattenWrapperElements(element, doc);
126
- // Strip unwanted attributes
127
- stripUnwantedAttributes(element, debug);
128
- // Unwrap bare spans (no attributes remaining after stripping)
129
- unwrapBareSpans(element);
130
- // Unwrap javascript: links — keep text, remove the link
131
- // Unwrap links inside inline code — markdown can't render links in backtick code
132
- Array.from(element.querySelectorAll('code a')).forEach(unwrapElement);
133
- // Unwrap javascript: links — keep text, remove the link
134
- Array.from(element.querySelectorAll('a[href^="javascript:"]')).forEach(unwrapElement);
135
- // Unwrap anchor links that wrap headings (e.g. clickable section headers)
136
- Array.from(element.querySelectorAll('a[href^="#"]')).forEach(link => {
137
- if (link.querySelector('h1, h2, h3, h4, h5, h6')) {
128
+ step('flattenWrapperElements[1]', () => flattenWrapperElements(element, doc));
129
+ step('stripUnwantedAttributes', () => stripUnwantedAttributes(element, debug));
130
+ step('unwrapBareSpans', () => unwrapBareSpans(element));
131
+ step('unwrapSpecialLinks', () => {
132
+ // Unwrap links inside inline code markdown can't render links in backtick code
133
+ Array.from(element.querySelectorAll('code a')).forEach(unwrapElement);
134
+ // Unwrap javascript: links — keep text, remove the link
135
+ Array.from(element.querySelectorAll('a[href^="javascript:"]')).forEach(unwrapElement);
136
+ // Restructure links that wrap block content containing a heading (e.g. article cards).
137
+ // <a href="/x"><h2>Title</h2><p>desc</p></a>
138
+ // → <h2><a href="/x">Title</a></h2><p>desc</p>
139
+ // This produces valid HTML that any markdown converter handles correctly.
140
+ Array.from(element.querySelectorAll('a')).forEach(link => {
141
+ const href = link.getAttribute('href');
142
+ if (!href || href.startsWith('#'))
143
+ return;
144
+ const heading = Array.from(link.children).find(c => /^H[1-6]$/.test(c.nodeName));
145
+ if (!heading)
146
+ return;
147
+ // Move the href into the heading by wrapping its children in a new <a>
148
+ const innerLink = doc.createElement('a');
149
+ innerLink.setAttribute('href', href);
150
+ while (heading.firstChild)
151
+ innerLink.appendChild(heading.firstChild);
152
+ heading.appendChild(innerLink);
153
+ // Unwrap the outer <a>, leaving the heading and siblings in place
138
154
  unwrapElement(link);
139
- }
155
+ });
156
+ // Unwrap anchor links that wrap headings (e.g. clickable section headers)
157
+ Array.from(element.querySelectorAll('a[href^="#"]')).forEach(link => {
158
+ if (link.querySelector('h1, h2, h3, h4, h5, h6')) {
159
+ unwrapElement(link);
160
+ }
161
+ });
140
162
  });
141
- // Remove heading anchor links (e.g. <h2>Title<a href="#title">#</a></h2>)
142
- (0, headings_1.removeHeadingAnchors)(element);
143
- // Remove obsolete plugin elements
144
- element.querySelectorAll('object, embed, applet').forEach(el => el.remove());
145
- // Remove empty elements
146
- removeEmptyElements(element);
147
- // Remove trailing headings
148
- removeTrailingHeadings(element);
149
- // Remove orphaned leading/trailing <hr> elements
150
- removeOrphanedDividers(element);
151
- // Final pass of div flattening after cleanup operations
152
- flattenWrapperElements(element, doc);
153
- // Standardize consecutive br elements
154
- stripExtraBrElements(element);
155
- // Clean up empty lines
156
- removeEmptyLines(element, doc);
163
+ step('removeHeadingAnchors', () => (0, headings_1.removeHeadingAnchors)(element));
164
+ step('removeObsoleteElements', () => element.querySelectorAll('object, embed, applet').forEach(el => el.remove()));
165
+ step('removeEmptyElements', () => removeEmptyElements(element));
166
+ step('removeTrailingHeadings', () => removeTrailingHeadings(element));
167
+ step('removeOrphanedDividers[1]', () => removeOrphanedDividers(element));
168
+ step('flattenWrapperElements[2]', () => flattenWrapperElements(element, doc));
169
+ step('removeOrphanedDividers[2]', () => removeOrphanedDividers(element));
170
+ step('stripExtraBrElements', () => stripExtraBrElements(element));
171
+ step('removeEmptyLines', () => removeEmptyLines(element, doc));
157
172
  }
158
173
  else {
159
- // In debug mode, still do basic cleanup but preserve structure
160
- stripUnwantedAttributes(element, debug);
161
- removeTrailingHeadings(element);
162
- stripExtraBrElements(element);
174
+ step('stripUnwantedAttributes', () => stripUnwantedAttributes(element, debug));
175
+ step('removeTrailingHeadings', () => removeTrailingHeadings(element));
176
+ step('stripExtraBrElements', () => stripExtraBrElements(element));
163
177
  (0, utils_1.logDebug)(_debug, 'Debug mode: Skipping div flattening to preserve structure');
164
178
  }
165
179
  }
@@ -441,6 +455,9 @@ function removeEmptyElements(element) {
441
455
  const childNodes = el.childNodes;
442
456
  for (let i = 0; i < childNodes.length; i++) {
443
457
  const node = childNodes[i];
458
+ // <br> elements are non-content spacers — treat them as empty
459
+ if ((0, utils_1.isElement)(node) && node.tagName.toLowerCase() === 'br')
460
+ continue;
444
461
  if (!(0, utils_1.isTextNode)(node))
445
462
  return false;
446
463
  const nodeText = node.textContent || '';
@@ -650,28 +667,51 @@ function removeEmptyLines(element, doc) {
650
667
  processingTime: `${(endTime - startTime).toFixed(2)}ms`
651
668
  });
652
669
  }
653
- function standardizeElements(element, doc) {
670
+ function standardizeElements(element, doc, subProfile) {
654
671
  let processedCount = 0;
672
+ const stepSE = subProfile
673
+ ? (name, fn) => {
674
+ const t = performance.now();
675
+ const r = fn();
676
+ subProfile['se:' + name] = (subProfile['se:' + name] ?? 0) + Math.round(performance.now() - t);
677
+ return r;
678
+ }
679
+ : (_, fn) => fn();
655
680
  // Convert elements based on standardization rules
656
681
  ELEMENT_STANDARDIZATION_RULES.forEach(rule => {
657
- let elements;
658
- try {
659
- elements = element.querySelectorAll(rule.selector);
660
- }
661
- catch (e) {
662
- // Some selectors use :has() which isn't supported by jsdom/nwsapi.
663
- // Skip the rule gracefully in those environments.
664
- return;
665
- }
666
- elements.forEach(el => {
667
- if (rule.transform) {
668
- // If there's a transform function, use it to create the new element
669
- const transformed = rule.transform(el, doc);
670
- el.replaceWith(transformed);
671
- processedCount++;
682
+ const selectorKey = rule.selector.substring(0, 30);
683
+ stepSE(selectorKey, () => {
684
+ if (rule.fastCheck && !element.querySelector(rule.fastCheck))
685
+ return;
686
+ let elements;
687
+ try {
688
+ elements = element.querySelectorAll(rule.selector);
672
689
  }
690
+ catch (e) {
691
+ // Some selectors use :has() which isn't supported by jsdom/nwsapi.
692
+ // Skip the rule gracefully in those environments.
693
+ return;
694
+ }
695
+ elements.forEach(el => {
696
+ if (rule.transform) {
697
+ // If there's a transform function, use it to create the new element
698
+ const transformed = rule.transform(el, doc);
699
+ el.replaceWith(transformed);
700
+ processedCount++;
701
+ }
702
+ });
673
703
  });
674
704
  });
705
+ // Fix invalid <code><pre> nesting left by sites that wrap <pre> in an outer <code>
706
+ // as a highlight container. After codeBlockRules transforms the inner <pre>, the outer
707
+ // <code> still wraps it, producing <code><pre><code>...</code></pre></code> instead of
708
+ // the standard <pre><code>...</code></pre>.
709
+ Array.from(element.querySelectorAll('code > pre')).forEach(pre => {
710
+ const outerCode = pre.parentElement;
711
+ if (!outerCode || outerCode.tagName !== 'CODE')
712
+ return;
713
+ outerCode.replaceWith(pre);
714
+ });
675
715
  // arXiv LaTeXML: Convert equation tables to <math> elements before attribute stripping
676
716
  const equationTables = Array.from(element.querySelectorAll('table.ltx_equation, table.ltx_eqn_table, table.ltx_equationgroup'));
677
717
  equationTables.forEach(table => {
@@ -750,6 +790,10 @@ function standardizeElements(element, doc) {
750
790
  table.replaceWith(fragment);
751
791
  processedCount++;
752
792
  });
793
+ // Add controls to video elements that don't have them
794
+ element.querySelectorAll('video:not([controls])').forEach(el => {
795
+ el.setAttribute('controls', '');
796
+ });
753
797
  // Convert lite-youtube elements
754
798
  const liteYoutubeElements = element.querySelectorAll('lite-youtube');
755
799
  liteYoutubeElements.forEach(el => {
@@ -1 +1 @@
1
- {"version":3,"file":"standardize.js","sourceRoot":"","sources":["../src/standardize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standardize.js","sourceRoot":"","sources":["../src/standardize.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export interface ExtractedContent {
32
32
  export interface ExtractorResult {
33
33
  content: string;
34
34
  contentHtml: string;
35
+ contentSelector?: string;
35
36
  extractedContent?: {
36
37
  [key: string]: string;
37
38
  };
package/dist/types.d.ts CHANGED
@@ -33,6 +33,7 @@ export interface DefuddleResponse extends DefuddleMetadata {
33
33
  extractorType?: string;
34
34
  metaTags?: MetaTagItem[];
35
35
  debug?: DebugInfo;
36
+ profile?: Record<string, number>;
36
37
  variables?: {
37
38
  [key: string]: string;
38
39
  };
@@ -121,6 +122,10 @@ export interface DefuddleOptions {
121
122
  * - false: exclude all replies
122
123
  */
123
124
  includeReplies?: boolean | 'extractors';
125
+ /**
126
+ * Enable per-step profiling. Timings are returned in result.profile.
127
+ */
128
+ profile?: boolean;
124
129
  }
125
130
  export interface ExtractorVariables {
126
131
  [key: string]: string;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Converts Steam/forum-style BBCode to HTML.
3
+ * Core tags are standard across phpBB, vBulletin, MyBB, SMF, XenForo, and Steam.
4
+ * Steam-specific tags (e.g. [previewyoutube]) are included.
5
+ */
6
+ export declare function bbcodeToHtml(bbcode: string): string;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bbcodeToHtml = bbcodeToHtml;
4
+ const dom_1 = require("./dom");
5
+ /**
6
+ * Converts Steam/forum-style BBCode to HTML.
7
+ * Core tags are standard across phpBB, vBulletin, MyBB, SMF, XenForo, and Steam.
8
+ * Steam-specific tags (e.g. [previewyoutube]) are included.
9
+ */
10
+ function bbcodeToHtml(bbcode) {
11
+ let html = bbcode;
12
+ // Headings
13
+ html = html.replace(/\[h1\]([\s\S]*?)\[\/h1\]/gi, '<h1>$1</h1>');
14
+ html = html.replace(/\[h2\]([\s\S]*?)\[\/h2\]/gi, '<h2>$1</h2>');
15
+ html = html.replace(/\[h3\]([\s\S]*?)\[\/h3\]/gi, '<h3>$1</h3>');
16
+ // Inline formatting
17
+ html = html.replace(/\[b\]([\s\S]*?)\[\/b\]/gi, '<strong>$1</strong>');
18
+ html = html.replace(/\[i\]([\s\S]*?)\[\/i\]/gi, '<em>$1</em>');
19
+ html = html.replace(/\[u\]([\s\S]*?)\[\/u\]/gi, '<u>$1</u>');
20
+ html = html.replace(/\[s\]([\s\S]*?)\[\/s\]/gi, '<s>$1</s>');
21
+ // Links: [url=...] or [url="..."]
22
+ html = html.replace(/\[url=["']?([^"'\]]+)["']?\]([\s\S]*?)\[\/url\]/gi, (_, href, text) => {
23
+ if ((0, dom_1.isDangerousUrl)(href))
24
+ return text;
25
+ return `<a href="${href}">${text}</a>`;
26
+ });
27
+ // Images
28
+ html = html.replace(/\[img\]([\s\S]*?)\[\/img\]/gi, '<img src="$1">');
29
+ // Steam: YouTube preview [previewyoutube="videoId;full"][/previewyoutube]
30
+ html = html.replace(/\[previewyoutube=["']?([^;'"]+)[^"'\]]*["']?\]\[\/previewyoutube\]/gi, '<img src="https://www.youtube.com/watch?v=$1">');
31
+ // Lists
32
+ html = html.replace(/\[list\]([\s\S]*?)\[\/list\]/gi, (_, inner) => {
33
+ const items = inner.replace(/\[\*\]([\s\S]*?)(?=\[\*\]|\[\/list\]|$)/gi, '<li>$1</li>');
34
+ return `<ul>${items}</ul>`;
35
+ });
36
+ html = html.replace(/\[olist\]([\s\S]*?)\[\/olist\]/gi, (_, inner) => {
37
+ const items = inner.replace(/\[\*\]([\s\S]*?)(?=\[\*\]|\[\/olist\]|$)/gi, '<li>$1</li>');
38
+ return `<ol>${items}</ol>`;
39
+ });
40
+ // Blockquote
41
+ html = html.replace(/\[quote(?:=[^\]]+)?\]([\s\S]*?)\[\/quote\]/gi, '<blockquote>$1</blockquote>');
42
+ // Code
43
+ html = html.replace(/\[code\]([\s\S]*?)\[\/code\]/gi, '<pre><code>$1</code></pre>');
44
+ // Spoiler
45
+ html = html.replace(/\[spoiler\]([\s\S]*?)\[\/spoiler\]/gi, '<details><summary>Spoiler</summary>$1</details>');
46
+ // Paragraphs: [p]...[/p]
47
+ html = html.replace(/\[p\]([\s\S]*?)\[\/p\]/gi, (_, inner) => {
48
+ const withBreaks = inner.replace(/\n/g, '<br>');
49
+ return `<p>${withBreaks}</p>`;
50
+ });
51
+ // Any remaining newlines as line breaks (content outside [p] tags)
52
+ html = html.replace(/\n/g, '<br>');
53
+ // Strip any remaining unrecognized BBCode tags
54
+ html = html.replace(/\[[^\]]+\]/g, '');
55
+ return html;
56
+ }
57
+ //# sourceMappingURL=bbcode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bbcode.js","sourceRoot":"","sources":["../../src/utils/bbcode.ts"],"names":[],"mappings":";;AAOA,oCA0DC;AAjED,+BAAuC;AAEvC;;;;GAIG;AACH,SAAgB,YAAY,CAAC,MAAc;IAC1C,IAAI,IAAI,GAAG,MAAM,CAAC;IAElB,WAAW;IACX,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,aAAa,CAAC,CAAC;IACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,aAAa,CAAC,CAAC;IACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,aAAa,CAAC,CAAC;IAEjE,oBAAoB;IACpB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;IACvE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC;IAC/D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;IAE7D,kCAAkC;IAClC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mDAAmD,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC1F,IAAI,IAAA,oBAAc,EAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,YAAY,IAAI,KAAK,IAAI,MAAM,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,SAAS;IACT,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,gBAAgB,CAAC,CAAC;IAEtE,0EAA0E;IAC1E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,sEAAsE,EAAE,gDAAgD,CAAC,CAAC;IAE9I,QAAQ;IACR,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAClE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,2CAA2C,EAAE,aAAa,CAAC,CAAC;QACxF,OAAO,OAAO,KAAK,OAAO,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kCAAkC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACpE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,4CAA4C,EAAE,aAAa,CAAC,CAAC;QACzF,OAAO,OAAO,KAAK,OAAO,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,aAAa;IACb,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,8CAA8C,EAAE,6BAA6B,CAAC,CAAC;IAEnG,OAAO;IACP,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,4BAA4B,CAAC,CAAC;IAEpF,UAAU;IACV,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,iDAAiD,CAAC,CAAC;IAE/G,yBAAyB;IACzB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,MAAM,UAAU,MAAM,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,mEAAmE;IACnE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEnC,+CAA+C;IAC/C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAEvC,OAAO,IAAI,CAAC;AACb,CAAC"}
package/dist/utils.js CHANGED
@@ -33,7 +33,7 @@ function isCommentNode(node) {
33
33
  }
34
34
  function getComputedStyle(element) {
35
35
  const win = getWindow(element.ownerDocument);
36
- if (!win)
36
+ if (!win || typeof win.getComputedStyle !== 'function')
37
37
  return null;
38
38
  return win.getComputedStyle(element);
39
39
  }
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "defuddle",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "description": "Extract article content and metadata from web pages.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -1,52 +0,0 @@
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
@@ -1 +0,0 @@
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"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,yCAAsC;AAGtC,6BAA6B;AAC7B,kBAAe,mBAAQ,CAAC"}