Gathering detailed insights and metrics for @abdumajid/html-to-md-extractor
Gathering detailed insights and metrics for @abdumajid/html-to-md-extractor
Gathering detailed insights and metrics for @abdumajid/html-to-md-extractor
Gathering detailed insights and metrics for @abdumajid/html-to-md-extractor
npm install @abdumajid/html-to-md-extractor
Typescript
Module System
Min. Node Version
Node Version
NPM Version
TypeScript (75.98%)
JavaScript (24.02%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
MIT License
11 Commits
1 Branches
1 Contributors
Updated on Jun 02, 2025
Latest Version
1.0.4
Package Id
@abdumajid/html-to-md-extractor@1.0.4
Unpacked Size
406.14 kB
Size
79.59 kB
File Count
31
NPM Version
10.9.2
Node Version
22.15.0
Published on
Jun 02, 2025
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
1
1
Advanced HTML to Markdown converter with email-specific optimizations. Perfect for processing email content, newsletters, and complex HTML documents into clean, readable Markdown.
1npm install @abdumajid/html-to-md-extractor
1const { emailToMarkdown } = require('@abdumajid/html-to-md-extractor'); 2 3const emailHtml = ` 4 <div class="email-content"> 5 <h1>Welcome!</h1> 6 <p>Hello <strong>John</strong>,</p> 7 <p>Thanks for joining our <em>newsletter</em>!</p> 8 <div class="signature"> 9 <p>Best regards,<br>The Team</p> 10 </div> 11 </div> 12`; 13 14const result = emailToMarkdown(emailHtml); 15console.log(result.markdown);
Output:
1# Welcome! 2 3Hello **John**, 4 5Thanks for joining our *newsletter*! 6 7--- 8Best regards, 9The Team
1const { htmlToMarkdown, emailToMarkdown } = require('@abdumajid/html-to-md-extractor'); 2 3// For general HTML 4const result1 = htmlToMarkdown('<p>Hello <strong>world</strong>!</p>'); 5 6// For email HTML (with email-specific optimizations) 7const result2 = emailToMarkdown(emailHtml, { 8 handleEmailSignatures: true, 9 convertInlineStyles: true, 10 tableHandling: 'convert' 11});
1import { 2 emailToMarkdown, 3 ConversionOptions, 4 ConversionResult 5} from '@abdumajid/html-to-md-extractor'; 6 7const options: ConversionOptions = { 8 handleEmailSignatures: true, 9 preserveEmailQuotes: true, 10 tableHandling: 'convert' 11}; 12 13const result: ConversionResult = emailToMarkdown(html, options);
1const outlookEmail = ` 2 <div class="WordSection1"> 3 <p class="MsoNormal">PU today 2200, can likely be worked in earlier</p> 4 <p class="MsoNormal">Del Monday 9am in Joplin MO</p> 5 <p class="MsoNormal">Load of packaging material 9360lbs</p> 6 <p class="MsoNormal">Paying 1100</p> 7 <table class="MsoNormalTable" border="0"> 8 <tr> 9 <td><b>Fallin Smith</b></td> 10 </tr> 11 <tr> 12 <td>Transportation Broker</td> 13 </tr> 14 </table> 15 </div> 16`; 17 18const result = emailToMarkdown(outlookEmail, { 19 handleOutlookSpecific: true, 20 handleEmailSignatures: true 21});
1const newsletter = ` 2 <div style="max-width: 600px;"> 3 <h1>🎉 Special Offer!</h1> 4 <p>Hi <strong>Sarah</strong>,</p> 5 <p>Get <mark>50% off</mark> your next purchase!</p> 6 <table border="1"> 7 <tr><th>Product</th><th>Price</th></tr> 8 <tr><td>Widget A</td><td>$25.00</td></tr> 9 </table> 10 <p><a href="https://shop.com/sale">Shop Now</a></p> 11 </div> 12`; 13 14const result = emailToMarkdown(newsletter);
1const { HTMLToMarkdownExtractor } = require('@abdumajid/html-to-md-extractor'); 2 3const extractor = new HTMLToMarkdownExtractor({ 4 handleEmailSignatures: true 5}); 6 7// Process multiple emails efficiently 8const emailBatch = [email1, email2, email3, /* ... */]; 9const results = await extractor.convertBatch(emailBatch); 10 11extractor.dispose(); // Clean up resources
1interface ConversionOptions { 2 // Basic formatting 3 preserveWhitespace?: boolean; // Default: false 4 trimWhitespace?: boolean; // Default: true 5 bulletListMarker?: string; // Default: '-' 6 codeBlockStyle?: 'indented' | 'fenced'; // Default: 'fenced' 7 strongDelimiter?: string; // Default: '**' 8 emDelimiter?: string; // Default: '*' 9 linkStyle?: 'inlined' | 'referenced'; // Default: 'inlined' 10 11 // Email-specific options 12 preserveEmailHeaders?: boolean; // Default: true 13 handleEmailSignatures?: boolean; // Default: true 14 convertInlineStyles?: boolean; // Default: true 15 preserveEmailQuotes?: boolean; // Default: true 16 handleOutlookSpecific?: boolean; // Default: true 17 18 // Table handling 19 tableHandling?: 'preserve' | 'convert' | 'remove'; // Default: 'convert' 20 21 // Advanced customization 22 customRules?: ConversionRule[]; 23 ignoreElements?: string[]; 24 keepElements?: string[]; 25}
1const { RuleBuilder } = require('@abdumajid/html-to-md-extractor'); 2 3const customRule = RuleBuilder.create() 4 .forSelector('mark') 5 .withReplacement('==${content}==') 6 .withPriority(2) 7 .build(); 8 9const result = htmlToMarkdown(html, { 10 customRules: [customRule] 11});
1const { EmailUtils } = require('@abdumajid/html-to-md-extractor'); 2 3const emailUtils = new EmailUtils(); 4const context = emailUtils.detectEmailContext(document); 5 6console.log({ 7 isEmail: context.isEmailContent, 8 hasSignature: context.hasSignature, 9 clientType: context.clientType // 'outlook', 'gmail', etc. 10});
Works in both Node.js and browsers:
1<script type="module"> 2 import { emailToMarkdown } from 'https://unpkg.com/@abdumajid/html-to-md-extractor@latest/dist/index.esm.js'; 3 4 const result = emailToMarkdown(html); 5 console.log(result.markdown); 6</script>
htmlToMarkdown(html, options?)
- Convert general HTML to MarkdownemailToMarkdown(html, options?)
- Convert email HTML with optimizationsHTMLToMarkdownExtractor
- Main converter class for advanced usageEmailUtils
- Email-specific utilitiesRuleBuilder
- Builder for custom conversion rulesConversionOptions
- Configuration interfaceConversionResult
- Result with markdown and metadataEmailHeaders
- Extracted email header information1// Old way 2const converter = require('html-to-md-extractor'); 3const result = converter.convert(html); 4 5// New way 6const { emailToMarkdown } = require('@abdumajid/html-to-md-extractor'); 7const result = emailToMarkdown(html);
We welcome contributions! Please see our Contributing Guide for details.
1git clone https://github.com/abdumajidRashidov/html-to-md-extractor.git 2cd html-to-md-extractor 3npm install 4npm test 5npm run build
MIT License - see LICENSE file for details.
Made with ❤️ for better email and HTML processing
No vulnerabilities found.
No security vulnerabilities found.